1<!DOCTYPE html> 2<html lang="en-US"> 3 <head> 4 <title> 5 Pool Care Handbook – Swim University</title> 6
6<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
6<meta name="facebook-domain-verification" content="w5dpxsho3njlrkj89smb1kr3e61i9n"> 7<meta name="google-site-verification" content="nitAacNGVTOwQ7wbGkvJ_Joie13RkMuBpE19-3thSAc"> 8<meta name="google-site-verification" content="JtUVadpArV-svNAZp-juqM_DT1Fw6N6VOqMsps7eN24"> 9<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/59378008237/digital_wallets/dialog"> 10<meta id="in-context-paypal-metadata" data-shop-id="59378008237" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 11<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/44009349054718:1?ucp/version=2026-08-25&context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" hreflang="x-default" href="https://shop.swimuniversity.com/products/pool-care-handbook"> 12<link rel="alternate" hreflang="en" href="https://shop.swimuniversity.com/products/pool-care-handbook"> 13<link rel="alternate" hreflang="en-CA" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 14<link rel="alternate" hreflang="en-GB" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 15<link rel="alternate" hreflang="en-FR" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 16<link rel="alternate" hreflang="en-AU" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 17<link rel="alternate" hreflang="en-NZ" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 18<link rel="alternate" hreflang="en-IE" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 19<link rel="alternate" hreflang="en-DE" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 20<link rel="alternate" hreflang="en-NL" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 21<link rel="alternate" hreflang="en-NO" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 22<link rel="alternate" hreflang="en-ES" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 23<link rel="alternate" hreflang="en-MX" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 24<link rel="alternate" hreflang="en-CL" href="https://shop.swimuniversity.com/en-ca/products/pool-care-handbook"> 25<link rel="alternate" type="application/json+oembed" href="https://shop.swimuniversity.com/products/pool-care-handbook.oembed">
26<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
26 27<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
28<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=59378008237" crossorigin="anonymous"></script>
vendor: 1 bytes, line 28
28
29<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":59378008237,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/59378008237","merchantName":"Swim University","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Swim University","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 29
29
30<script id="shopify-features" type="application/json">{"accessToken":"5ebffb29bc255a0aed3c0b7012ddd00d","betas":["rich-media-storefront-analytics"],"domain":"shop.swimuniversity.com","predictiveSearch":true,"shopId":59378008237,"locale":"en"}</script>
vendor: 1 bytes, line 30
30
31<script>var Shopify = Shopify || {}; 32Shopify.shop = "swim-university.myshopify.com"; 33Shopify.locale = "en"; 34Shopify.currency = {"active":"USD","rate":"1.0"}; 35Shopify.country = "US"; 36Shopify.theme = {"name":"Swim University","id":135602864382,"schema_name":"Swim University","schema_version":"2.0.0","theme_store_id":null,"role":"main"}; 37Shopify.theme.handle = "null"; 38Shopify.theme.style = {"id":null,"handle":null}; 39Shopify.cdnHost = "shop.swimuniversity.com/cdn"; 40Shopify.routes = Shopify.routes || {}; 41Shopify.routes.root = "/"; 42Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 43Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 44Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 45Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 45
45
46<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 46
46
47<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>
vendor: 1 bytes, line 47
47
48<script> 49 window.ShopifyPay = window.ShopifyPay || {}; 50 window.ShopifyPay.apiHost = "shop.app\/pay"; 51 window.ShopifyPay.redirectState = null; 52</script>
vendor: 1 bytes, line 52
52
53<script> 54 window.Shopify = window.Shopify || {}; 55 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 56 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 57 window.Shopify.SignInWithShop.eligible = true; 58</script>
vendor: 1 bytes, line 58
58
59<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 59
59
60<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>
vendor: 1 bytes, line 60
60
61<script type="module"> 62 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 63 64 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 65 66</script>
vendor: 1 bytes, line 66
66
67<script> 68 window.Shopify = window.Shopify || {}; 69 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 70 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"]}; 71</script>
vendor: 1 bytes, line 71
71
72<script>(function() { 73 var isLoaded = false; 74 function asyncLoad() { 75 if (isLoaded) return; 76 isLoaded = true; 77 var urls = ["https:\/\/loox.io\/widget\/qIFc9rsKAI\/loox.1769561782881.js?shop=swim-university.myshopify.com"]; 78 for (var i = 0; i < urls.length; i++) { 79 var s = document.createElement('script'); 80 s.type = 'text/javascript'; 81 s.async = true; 82 s.src = urls[i]; 83 var x = document.getElementsByTagName('script')[0]; 84 x.parentNode.insertBefore(s, x); 85 } 86 }; 87 if(window.attachEvent) { 88 window.attachEvent('onload', asyncLoad); 89 } else { 90 window.addEventListener('load', asyncLoad, false); 91 } 92})();</script>
vendor: 1 bytes, line 92
92
93<script id="__st">var __st={"a":59378008237,"offset":-21600,"reqid":"23b04f19-5cd9-42b8-8655-a753aadef53e-1790952199","pageurl":"shop.swimuniversity.com\/products\/pool-care-handbook?utm_source=Website\u0026utm_medium=Image\u0026utm_campaign=Homepage","u":"c8b0ac216f00","p":"product","rtyp":"product","rid":8044536692990};</script>
vendor: 1 bytes, line 93
93
94<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 94
94
95<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>
vendor: 1 bytes, line 95
95
96<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//shop.swimuniversity.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 96
96
97<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 = "//shop.swimuniversity.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>
97<script crossorigin="anonymous" defer="defer" src="//shop.swimuniversity.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 97
97
98<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>
vendor: 1 bytes, line 98
98
99<script> 100 window.Shopify = window.Shopify || {}; 101 window.Shopify.MCP = window.Shopify.MCP || {}; 102 window.Shopify.MCP.enabled = true; 103 window.Shopify.MCP.shop = "swim-university.myshopify.com"; 104 window.Shopify.MCP.mcpEndpoint = "https:\/\/shop.swimuniversity.com\/api\/mcp"; 105 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"]}}]; 106</script>
vendor: 1 bytes, line 106
106
107<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("\/\/shop.swimuniversity.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 108</script>
vendor: 1 bytes, line 108
108
109<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://shop.swimuniversity.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 110</script>
vendor: 1 bytes, line 110
110
111<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 112 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); 113</script>
vendor: 1 bytes, line 113
113
114<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})}})); 115</script>
vendor: 1 bytes, line 115
115
116<script id='scb4127' type='text/javascript' async='' src='https://shop.swimuniversity.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
116<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://shop.swimuniversity.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 117<style id="shopify-accelerated-checkout-cart"> 118 #shopify-buyer-consent { 119 margin-top: 1em; 120 display: inline-block; 121 width: 100%; 122} 123 124#shopify-buyer-consent.hidden { 125 display: none; 126} 127 128#shopify-subscription-policy-button { 129 background: none; 130 border: none; 131 padding: 0; 132 text-decoration: underline; 133 font-size: inherit; 134 cursor: pointer; 135} 136 137#shopify-subscription-policy-button::before { 138 box-shadow: none; 139} 140 141 </style> 142
143<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
143 144 145 <meta name="description" content="Keep your pool clean and clear all year! Learn everything from testing water to fixing problemsâall in one easy guide." /> 146 147 <link rel="canonical" href="https://shop.swimuniversity.com/products/pool-care-handbook" /> 148 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 149 <link rel="profile" href="http://gmpg.org/xfn/11" /> 150 <link rel="shortcut icon" href="//shop.swimuniversity.com/cdn/shop/t/4/assets/favicon.ico?v=135055744825329824811691428556" /> 151 <meta name="theme-color" content="#275A86"> 152 <meta name='ir-site-verification-token' value='-2027506002' /> 153 <!-- FONTS --> 154 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 155 <link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=optional" /> 156 <!-- CSS --> 157 <link rel="stylesheet" href="//shop.swimuniversity.com/cdn/shop/t/4/assets/bootstrap-grid.min.css?v=165964299986379094091664324921" media="all" data-minify="1" /> 158 <link rel="stylesheet" href="//shop.swimuniversity.com/cdn/shop/t/4/assets/style.css?v=29452730367645603271774726456" media="all" data-minify="1" /> 159 <link rel="preload" as="style" href="//shop.swimuniversity.com/cdn/shop/t/4/assets/bootstrap-grid.min.css?v=165964299986379094091664324921" crossorigin> 160 <link rel="preload" as="style" href="//shop.swimuniversity.com/cdn/shop/t/4/assets/style.css?v=29452730367645603271774726456" crossorigin> 161
161<script src="https://kit.fontawesome.com/0255be20a2.js" crossorigin="anonymous" async></script>
161 162 <!-- BEGIN app block: shopify://apps/essential-a-b-testing/blocks/ab-testing/0154ac6b-7b9c-4958-8219-ed5b06e6d463 -->
162<script type="text/javascript"> 163 var eaABtEmbdScrV=(function(){"use strict";var I=Object.defineProperty;var E=(l,a,d)=>a in l?I(l,a,{enumerable:!0,configurable:!0,writable:!0,value:d}):l[a]=d;var h=(l,a,d)=>E(l,typeof a!="symbol"?a+"":a,d);class l{constructor(){h(this,"selectors",["#PBarNextFrameWrapper","#preview-bar-iframe"]);h(this,"keepLookingForMs",1e4)}hide(){return Promise.all(this.selectors.map(e=>this.waitAndHideElement(e)))}waitAndHideElement(e){return new Promise(t=>{let s=0;const o=c=>{c.dataset.eaAbPbHidden!=="1"&&(c.dataset.eaAbPbHidden="1",c.style.display="none")},i=document.querySelector(e);if(i){o(i),t(!0);return}const n=new MutationObserver(()=>{const c=document.querySelector(e);c&&(o(c),window.clearTimeout(s),n.disconnect(),t(!0))});n.observe(document.documentElement,{childList:!0,subtree:!0}),s=window.setTimeout(()=>{n.disconnect(),t(!1)},this.keepLookingForMs)})}}class a{static clearIfStale(e){if(e===0||Shopify.theme.role==="main")return!1;const t=new URL(window.location.href);return t.searchParams.set("preview_theme_id",""),window.location.replace(t.toString()),!0}}const d=/\b(googlebot|adsbot-google|google-adsbot|mediapartners-google|google-inspectiontool|googleother|storebot-google|google-read-aloud|googleweblight|googlepage|google-adwords(?:-[a-z0-9-]+)?|bingbot|slurp|duckduckbot|baiduspider|yandex(?:bot|images)|sogou|exabot|applebot|petalbot|ahrefsbot|semrushbot|mj12bot|dotbot|seznambot|rogerbot|linkdexbot|facebookexternalhit|facebot|linkedinbot|twitterbot|pinterest|redditbot|discordbot|slackbot|whatsapp|telegrambot|embedly|quora-link-preview|outbrain|nuzzel|flipboardproxy|vkshare)\b/i;class m{static shouldProcessRequest(e){return!(this.isBot()||!this.canPersist()||this.isInDesignMode(e)||this.isAppPreview())}static isBot(){return d.test(navigator.userAgent)}static canPersist(){try{const e="__essential-ab-testing-persistance__";return localStorage.setItem(e,"1"),localStorage.removeItem(e),!0}catch{return!1}}static isInDesignMode(e){return e.request.designMode}static isAppPreview(){return new URLSearchParams(window.location.search).get("eaPreview")==="true"}}var u=(r=>(r.TEMPLATE="template",r.THEME="theme",r))(u||{});class f{static themeGid(e){return`gid://shopify/OnlineStoreTheme/${e}`}static themeId(e){return e.replace("gid://shopify/OnlineStoreTheme/","")}}class p{static handle(e,t,s){switch(e.type){case u.TEMPLATE:this.handleTemplate(e,t,s);return;case u.THEME:this.handleTheme(e,t);return}}static handleTemplate(e,t,s){if(t!=="a"&&t!=="b")return;const i=e.params[t];if(i.name!==s.template.name||i.suffix===s.template.suffix)return;const n=new URL(window.location.href);n.searchParams.set("view",i.suffix??"__DEFAULT"),window.location.replace(n.toString())}static handleTheme(e,t){if(t!=="a"&&t!=="b")return;const o=e.params[t];if(o===f.themeGid(Shopify.theme.id))return;const i=f.themeId(o),n=new URL(window.location.href);n.searchParams.set("preview_theme_id",i),window.location.replace(n.toString())}}class g{constructor(e){h(this,"tests");this.tests=e}find(e){return this.tests.find(t=>{switch(t.type){case u.TEMPLATE:return this.testMatchesTemplate(t.params,e);case u.THEME:return this.testMatchesTheme(t.params)}return!1})}testMatchesTemplate(e,t){return e.themeId!==f.themeGid(Shopify.theme.id)?!1:e.a.name===t.template.name&&e.a.suffix===t.template.suffix||e.b.name===t.template.name&&e.b.suffix===t.template.suffix}testMatchesTheme(e){const t=f.themeGid(Shopify.theme.id);return e.a===t||e.b===t}}class w{static pick(e){return Math.random()<=e.aPercentage/100?"a":"b"}}class b{static generate(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():typeof crypto<"u"&&crypto.getRandomValues?"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(+e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+e/4).toString(16)):"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}}class x{constructor(e){h(this,"key");this.key=`essential-ab-testing-${e}`}get(){const e=localStorage.getItem(this.key);if(e)try{return JSON.parse(e)}catch{}}getOrMake(){const e=this.get();return e||{id:b.generate(),createdAt:new Date,tests:[]}}
163getTestVariant(e){const t=this.get();if(!t)return;const o=(t.tests??[]).find(i=>i.id==e);return o?o.variant:void 0}setTestVariant(e,t){const s=this.getOrMake();s.tests.push({id:e,variant:t,createdAt:new Date}),localStorage.setItem(this.key,JSON.stringify(s))}onlyKeepTests(e){const t=this.get();if(!t||t.tests.length==0)return 0;const s=t.tests.filter(i=>e.includes(i.id)),o=t.tests.length-s.length;return o>0&&(t.tests=s,localStorage.setItem(this.key,JSON.stringify(t))),o}}const y=50,T=200;function S(r){if(typeof Shopify<"u"&&Shopify.theme){r();return}let e=0;const t=setInterval(()=>{e++,typeof Shopify<"u"&&Shopify.theme?(clearInterval(t),r()):e>=T&&clearInterval(t)},y)}function v(r,e){if(!m.shouldProcessRequest(r))return;new l().hide();const t=new x(r.shopId),s=t.onlyKeepTests(e.map(c=>c.id));if(a.clearIfStale(s))return;const i=new g(e).find(r);if(!i)return;let n=t.getTestVariant(i.id);n||(n=w.pick(i),t.setTestVariant(i.id,n)),p.handle(i,n,r)}function P(r,e){S(()=>v(r,e))}return P})(); 164 165 eaABtEmbdScrV( 166 { 167 shopId: 59378008237, 168 request: { 169 designMode: false, 170 visualPreviewMode: false, 171 }, 172 template: { 173 directory: null, 174 name: "product", 175 suffix: "pool-book-v4", 176 } 177 }, 178 JSON.parse('[{"id":"61c4a680-1597-499a-bc14-8a6d08fd0cb3","aPercentage":50,"type":"template","params":{"themeId":"gid://shopify/OnlineStoreTheme/135602864382","a":{"template":"templates/product.hot-tub-book-v2.liquid","name":"product","suffix":"hot-tub-book-v2"},"b":{"template":"templates/product.hot-tub-book-v3.liquid","name":"product","suffix":"hot-tub-book-v3"}}}]') 179 ); 180</script>
180<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 181 182 183 184 185 186 187 188 189 190 191 192 193
193<script async src="https://static.klaviyo.com/onsite/js/UjJaA5/klaviyo.js?company_id=UjJaA5"></script>
193 194
194<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>
194 195 196 197
197<script id="viewed_product"> 198 if (item == null) { 199 var _learnq = _learnq || []; 200 201 var MetafieldReviews = null 202 var MetafieldYotpoRating = null 203 var MetafieldYotpoCount = null 204 var MetafieldLooxRating = null 205 var MetafieldLooxCount = null 206 var okendoProduct = null 207 var okendoProductReviewCount = null 208 var okendoProductReviewAverageValue = null 209 try { 210 // The following fields are used for Customer Hub recently viewed in order to add reviews. 211 // This information is not part of __kla_viewed. Instead, it is part of __kla_viewed_reviewed_items 212 MetafieldReviews = {"rating":{"scale_min":"1.0","scale_max":"5.0","value":"4.8"},"rating_count":924}; 213 MetafieldYotpoRating = null 214 MetafieldYotpoCount = null 215 MetafieldLooxRating = "4.8" 216 MetafieldLooxCount = 924 217 218 okendoProduct = null 219 // If the okendo metafield is not legacy, it will error, which then requires the new json formatted data 220 if (okendoProduct && 'error' in okendoProduct) { 221 okendoProduct = null 222 } 223 okendoProductReviewCount = okendoProduct ? okendoProduct.reviewCount : null 224 okendoProductReviewAverageValue = okendoProduct ? okendoProduct.reviewAverageValue : null 225 } catch (error) { 226 console.error('Error in Klaviyo onsite reviews tracking:', error); 227 } 228 229 var item = { 230 Name: "The Pool Care Handbook", 231 ProductID: 8044536692990, 232 Categories: ["All Products","Books"], 233 ImageURL: "https://shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4_grande.png?v=1788122855", 234 URL: "https://shop.swimuniversity.com/products/pool-care-handbook", 235 Brand: "Swim University", 236 Price: "$49", 237 Value: "49", 238 CompareAtPrice: "$0" 239 }; 240 _learnq.push(['track', 'Viewed Product', item]); 241 _learnq.push(['trackViewedItem', { 242 Title: item.Name, 243 ItemId: item.ProductID, 244 Categories: item.Categories, 245 ImageUrl: item.ImageURL, 246 Url: item.URL, 247 Metadata: { 248 Brand: item.Brand, 249 Price: item.Price, 250 Value: item.Value, 251 CompareAtPrice: item.CompareAtPrice 252 }, 253 metafields:{ 254 reviews: MetafieldReviews, 255 yotpo:{ 256 rating: MetafieldYotpoRating, 257 count: MetafieldYotpoCount, 258 }, 259 loox:{ 260 rating: MetafieldLooxRating, 261 count: MetafieldLooxCount, 262 }, 263 okendo: { 264 rating: okendoProductReviewAverageValue, 265 count: okendoProductReviewCount, 266 } 267 } 268 }]); 269 } 270 </script>
270 271 272 273 274 275 276
276<script> 277 window.klaviyoReviewsProductDesignMode = false 278 </script>
278 279 280 281 282 <!-- BEGIN app snippet: customer-hub-data -->
282<script> 283 if (!window.customerHub) { 284 window.customerHub = {}; 285 } 286 window.customerHub.storefrontRoutes = { 287 login: "https://shop.swimuniversity.com/customer_authentication/redirect?locale=en®ion_country=US?return_url=%2F%23k-hub", 288 register: "https://account.swimuniversity.com?locale=en®ion_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzd2ltLXVuaXZlcnNpdHkubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkxNTU2OTk5LCJuYmYiOjE3OTA5NTIxOTl9.26ZjNBPoz7TAE4xv_21aew9HrV7_SXKBgy73Z0NBhZA?return_url=%2F%23k-hub", 289 logout: "/account/logout", 290 profile: "/account", 291 addresses: "/account/addresses", 292 }; 293 294 window.customerHub.userId = null; 295 296 window.customerHub.storeDomain = "swim-university.myshopify.com"; 297 298 299 window.customerHub.activeProduct = { 300 name: "The Pool Care Handbook", 301 category: null, 302 imageUrl: "https://shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4_grande.png?v=1788122855", 303 id: "8044536692990", 304 link: "https://shop.swimuniversity.com/products/pool-care-handbook", 305 options: [ 306 307 { 308 name: "Title", 309 values: [ 310 311 312 313 { 314 name: "Default Title", 315 colorHex: null, 316 swatchImageUrl: null 317 } 318 319 ] 320 } 321 322 ], 323 variants: [ 324 325 { 326 id: "44009349054718", 327 selectedOptions: [ 328 329 330 { 331 name: "Title", 332 value: "Default Title" 333 } 334 335 ], 336 337 imageUrl: null, 338 339 price: "4900", 340 currency: "USD", 341 availableForSale: true, 342 title: "Default Title", 343 }, 344 345 ], 346 };
347 window.customerHub.activeProduct.variants.forEach((variant) => { 348 349 variant.price = `${variant.price.slice(0, -2)}.${variant.price.slice(-2)}`; 350 }); 351 352 353 354 window.customerHub.storeLocale = { 355 currentLanguage: 'en', 356 currentCountry: 'US', 357 availableLanguages: [ 358 359 { 360 iso_code: 'en', 361 endonym_name: 'English' 362 } 363 364 ], 365 availableCountries: [ 366 367 { 368 iso_code: 'AU', 369 name: 'Australia', 370 currency_code: 'CAD' 371 }, 372 373 { 374 iso_code: 'CA', 375 name: 'Canada', 376 currency_code: 'CAD' 377 }, 378 379 { 380 iso_code: 'CL', 381 name: 'Chile', 382 currency_code: 'CAD' 383 }, 384 385 { 386 iso_code: 'FR', 387 name: 'France', 388 currency_code: 'CAD' 389 }, 390 391 { 392 iso_code: 'DE', 393 name: 'Germany', 394 currency_code: 'CAD' 395 }, 396 397 { 398 iso_code: 'IE', 399 name: 'Ireland', 400 currency_code: 'CAD' 401 }, 402 403 { 404 iso_code: 'MX', 405 name: 'Mexico', 406 currency_code: 'CAD' 407 }, 408 409 { 410 iso_code: 'NL', 411 name: 'Netherlands', 412 currency_code: 'CAD' 413 }, 414 415 { 416 iso_code: 'NZ', 417 name: 'New Zealand', 418 currency_code: 'CAD' 419 }, 420 421 { 422 iso_code: 'NO', 423 name: 'Norway', 424 currency_code: 'CAD' 425 }, 426 427 { 428 iso_code: 'ES', 429 name: 'Spain', 430 currency_code: 'CAD' 431 }, 432 433 { 434 iso_code: 'GB', 435 name: 'United Kingdom', 436 currency_code: 'CAD' 437 }, 438 439 { 440 iso_code: 'US', 441 name: 'United States', 442 currency_code: 'USD' 443 } 444 445 ] 446 }; 447 448</script>
448 449<!-- END app snippet --> 450 451 452 453 454 455 456 457<!-- END app block --><meta property="og:image" content="https://cdn.shopify.com/s/files/1/0593/7800/8237/files/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4.png?v=1788122855" /> 458<meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0593/7800/8237/files/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4.png?v=1788122855" /> 459<meta property="og:image:width" content="1000" /> 460<meta property="og:image:height" content="1000" /> 461<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
462<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: 59378008237,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>
vendor: 1 bytes, line 462
462
463<script> 464 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 465</script>
vendor: 1 bytes, line 465
465
466<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
466).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 59378008237,storefrontBaseUrl: "https://shop.swimuniversity.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://shop.swimuniversity.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1998946558","configuration":"{\"shopId\":\"gid:\/\/shopify\/Shop\/59378008237\",\"baseUrl\":\"https:\/\/ab-testing.essential-apps.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"b26e45fa9a7a5cf51742cf4b300d6739","type":"APP","apiClientId":248390909953,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
466,"dataSharingState":"unrestricted"},{"id":"1381040382","configuration":"{\"accountID\":\"UjJaA5\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"433094910","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-2E163Y9KE5\\\",\\\"AW-1063655084\\\",\\\"GT-5TGZVL2\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-2E163Y9KE5\\\",\\\"AW-1063655084\\\/saH5CM6wu_8CEKytmPsD\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-2E163Y9KE5\\\",\\\"AW-1063655084\\\/LiVrCNGwu_8CEKytmPsD\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-2E163Y9KE5\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-2E163Y9KE5\\\",\\\"AW-1063655084\\\/4mqLCLmwu_8CEKytmPsD\\\",\\\"MC-NM4FHR9GQP\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-2E163Y9KE5\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-2E163Y9KE5\\\",\\\"AW-1063655084\\\/qFi3CLawu_8CEKytmPsD\\\",\\\"MC-NM4FHR9GQP\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-2E163Y9KE5\\\",\\\"AW-1063655084\\\/6IAvCLOwu_8CEKytmPsD\\\",\\\"MC-NM4FHR9GQP\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-2E163Y9KE5\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-2E163Y9KE5\\\",\\\"AW-1063655084\\\/2XumCNSwu_8CEKytmPsD\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-2E163Y9KE5\\\",\\\"AW-1063655084\\\/17EpCMuwu_8CEKytmPsD\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-2E163Y9KE5\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"369361150","configuration":"{\"pixelCode\":\"CBDCF7RC77U9C04LL4GG\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized"},{"id":"152797438","configuration":"{\"pixel_id\":\"414516845384280\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"50921726","configuration":"{\"tagID\":\"2613201524675\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Swim University","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"swim-university.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/shop.swimuniversity.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":49.0,"currencyCode":"USD"},"product":{"title":"The Pool Care Handbook","vendor":"Swim University","id":"8044536692990","untranslatedTitle":"The Pool Care Handbook","url":"\/products\/pool-care-handbook","type":"Books"},"id":"44009349054718","image":{"src":"\/\/shop.swimuniversity.com\/cdn\/shop\/files\/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4.png?v=1788122855"},"sku":"979-8-218-20267-5","title":"Default Title","untranslatedTitle":"Default Title"}],"products":[{"id":"8044536692990","handle":"pool-care-handbook","isCollective":null,"title":"The Pool Care Handbook","type":"Books","untranslatedTitle":"The Pool Care Handbook","url":"\/products\/pool-care-handbook","vendor":"Swim University","remoteShopId":null,"variants":[{"id":"44009349054718","image":{"src":"\/\/shop.swimuniversity.com\/cdn\/shop\/files\/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4.png?v=1788122855"},"price":{"amount":49.0,"currencyCode":"USD"},"sku":"979-8-218-20267-5","title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://shop.swimuniversity.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"135602864382","themePublished":"true","eventMetadataId":"97504802-1f2a-4a76-8d57-8ce177854dae","pageType":"product","resourceId":"8044536692990","shopId":"59378008237","storefrontBaseUrl":"https:\/\/shop.swimuniversity.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":49.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"The Pool Care Handbook\",\"vendor\":\"Swim University\",\"id\":\"8044536692990\",\"untranslatedTitle\":\"The Pool Care Handbook\",\"url\":\"\/products\/pool-care-handbook\",\"type\":\"Books\"},\"id\":\"44009349054718\",\"image\":{\"src\":\"\/\/shop.swimuniversity.com\/cdn\/shop\/files\/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4.png?v=1788122855\"},\"sku\":\"979-8-218-20267-5\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});})();</script>
466<script> 467 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 468 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 469 window.ShopifyAnalytics.meta.currency = 'USD'; 470 var meta = {"product":{"id":8044536692990,"gid":"gid:\/\/shopify\/Product\/8044536692990","vendor":"Swim University","type":"Books","handle":"pool-care-handbook","variants":[{"id":44009349054718,"price":4900,"name":"The Pool Care Handbook","public_title":null,"sku":"979-8-218-20267-5"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8044536692990,"requestId":"23b04f19-5cd9-42b8-8655-a753aadef53e-1790952199"}}; 471 for (var attr in meta) { 472 window.ShopifyAnalytics.meta[attr] = meta[attr]; 473 } 474</script>
vendor: 1 bytes, line 474
474
475<script class="analytics"> 476 (function () { 477 var customDocumentWrite = function(content) { 478 var jquery = null; 479 480 if (window.jQuery) { 481 jquery = window.jQuery; 482 } else if (window.Checkout && window.Checkout.$) { 483 jquery = window.Checkout.$; 484 } 485 486 if (jquery) { 487 jquery('body').append(content); 488 } 489 }; 490 491 var hasLoggedConversion = function(token) { 492 if (token) { 493 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 494 } 495 return false; 496 } 497 498 var setCookieIfConversion = function(token) { 499 if (token) { 500 var twoMonthsFromNow = new Date(Date.now()); 501 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 502 503 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 504 } 505 } 506 507 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 508 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 509 if (trekkie.integrations) { 510 return; 511 } 512 trekkie.methods = [ 513 'identify', 514 'page', 515 'ready', 516 'track', 517 'trackForm', 518 'trackLink' 519 ]; 520 trekkie.factory = function(method) { 521 return function() { 522 var args = Array.prototype.slice.call(arguments); 523 args.unshift(method); 524 trekkie.push(args); 525 if (method == 'track' || method == 'page') { 526 var pageUrl; 527 try { 528 pageUrl = window.location.href; 529 } catch (e) {} 530 var pageReferrer; 531 try { 532 pageReferrer = document.referrer; 533 } catch (e) {} 534 try { 535 if (window.__TREKKIE_SHIM_QUEUE == null) { 536 window.__TREKKIE_SHIM_QUEUE = []; 537 } 538 window.__TREKKIE_SHIM_QUEUE.push({ 539 from: 'trekkie-stub', 540 method: method, 541 args: args.slice(1), 542 pageContext: { 543 url: pageUrl, 544 referrer: pageReferrer 545 } 546 }); 547 } catch (e) { 548 // no-op 549 } 550 } 551 return trekkie; 552 }; 553 }; 554 for (var i = 0; i < trekkie.methods.length; i++) { 555 var key = trekkie.methods[i]; 556 trekkie[key] = trekkie.factory(key); 557 } 558 trekkie.load = function(config) { 559 trekkie.config = config || {}; 560 trekkie.config.initialDocumentCookie = document.cookie; 561 var first = document.getElementsByTagName('script')[0]; 562var script = document.createElement('script'); 563script.type = 'text/javascript'; 564script.onerror = function(e) { 565 var scriptFallback = document.createElement('script'); 566 scriptFallback.type = 'text/javascript'; 567 scriptFallback.onerror = function(error) { 568 var Monorail = { 569 produce: function produce(monorailDomain, schemaId, payload) { 570 var currentMs = new Date().getTime(); 571 var event = { 572 schema_id: schemaId, 573 payload: payload, 574 metadata: { 575 event_created_at_ms: currentMs, 576 event_sent_at_ms: currentMs 577 } 578 }; 579 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 580 }, 581 sendRequest: function sendRequest(endpointUrl, payload) { 582 // Try the sendBeacon API 583 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 584 var blobData = new window.Blob([payload], { 585 type: 'text/plain' 586 }); 587 588 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 589 return true; 590 } // sendBeacon was not successful 591 592 } // XHR beacon 593 594 var xhr = new XMLHttpRequest(); 595 596 try { 597 xhr.open('POST', endpointUrl); 598 xhr.setRequestHeader('Content-Type', 'text/plain'); 599 xhr.send(payload); 600 } catch (e) { 601 console.log(e); 602 } 603 604 return false; 605 }, 606 isIos12: function isIos12() { 607 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 608 } 609 }; 610 Monorail.produce('monorail-edge.shopifysvc.com', 611 'trekkie_storefront_load_errors/1.1', 612 {shop_id: 59378008237, 613 theme_id: 135602864382, 614 app_name: "storefront", 615 context_url: window.location.href, 616 source_url: "//shop.swimuniversity.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 617 618 }; 619 scriptFallback.async = true; 620 scriptFallback.src = '//shop.swimuniversity.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 621 first.parentNode.insertBefore(scriptFallback, first); 622}; 623script.async = true; 624script.src = '//shop.swimuniversity.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 625first.parentNode.insertBefore(script, first); 626 627 }; 628 trekkie.load( 629 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":59378008237,"isMerchantRequest":null,"themeId":135602864382,"themeCityHash":"14968872884196542547","contentLanguage":"en","currency":"USD","eventMetadataId":"97504802-1f2a-4a76-8d57-8ce177854dae"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 630 ); 631 632 var loaded = false;
633 trekkie.ready(function() { 634 if (loaded) return; 635 loaded = true; 636 637 window.ShopifyAnalytics.lib = window.trekkie; 638 639 var originalDocumentWrite = document.write; 640 document.write = customDocumentWrite; 641 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 642 document.write = originalDocumentWrite; 643 644 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 645 var token = match? match[1]: undefined; 646 if (!hasLoggedConversion(token)) { 647 setCookieIfConversion(token); 648 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":44009349054718,"productId":8044536692990,"productGid":"gid:\/\/shopify\/Product\/8044536692990","name":"The Pool Care Handbook","price":"49.00","sku":"979-8-218-20267-5","brand":"Swim University","variant":null,"category":"Books","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 649 } 650 }); 651 652 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8044536692990,"requestId":"23b04f19-5cd9-42b8-8655-a753aadef53e-1790952199","shopifyEmitted":true}); 653 654 var eventsListenerScript = document.createElement('script'); 655 eventsListenerScript.async = true; 656 eventsListenerScript.src = "//shop.swimuniversity.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 657 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 658})();</script>
658 659
659<script> 660 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 661 window.ga = function ga() { 662 (window.ga.q = window.ga.q || []).push(arguments); 663 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 664 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 665 } 666 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 667 }; 668 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 669 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 670 } 671 } 672</script>
vendor: 1 bytes, line 672
672
673<script 674 defer 675 src="https://shop.swimuniversity.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 676 data-application="storefront-renderer" 677 data-shop-id="59378008237" 678 data-render-region="gcp-us-central1" 679 data-page-type="product" 680 data-theme-instance-id="135602864382" 681 data-theme-name="Swim University" 682 data-theme-version="2.0.0" 683 data-monorail-region="shop_domain" 684 data-resource-timing-sampling-rate="10" 685 data-shs="true" 686 data-shs-beacon="true" 687 data-shs-export-with-fetch="true" 688 data-shs-logs-sample-rate="1" 689 data-shs-beacon-endpoint="https://shop.swimuniversity.com/api/collect" 690></script>
690 691<meta name="shopify-y" content="5acefa7d-bdf7-4f9b-955b-0b980a592334" data-expiration="1822509799000"><meta name="shopify-s" content="64084009-eace-45c6-96ce-a201106b2c7d" data-expiration="1790953999000"><meta name="new-cookie-storage-activated" content="t"> 692</head> 693 694 <body> 695 <div id="shopify-section-header" class="shopify-section"><!-- NAVIGATION --> 696<header id="navbar" class="blue500-bg pt-16 pb-16"> 697 <div class="container"> 698 <div class="row align-items-center justify-content-between"> 699 <div class="col"> 700 <nav class="d-flex align-items-center"> 701 <a href="https://www.swimuniversity.com/"><img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/swim-university-logo.svg?v=77717862244076597391720662463" alt="Swim University" width="150" height="60"></a> 702 <a href="https://www.swimuniversity.com/swimming-pool-care/" class="gray100 no-underline font-weight-bold small glow ml-20 lg-hide">Pool Care</a> 703 <a href="https://www.swimuniversity.com/hot-tub-care/" class="gray100 no-underline font-weight-bold small glow ml-20 lg
703-hide">Hot Tubs</a> 704 <a href="https://shop.swimuniversity.com/" class="gray100 no-underline font-weight-bold small glow ml-20 lg-hide">Shop</a> 705 <a href="https://www.swimuniversity.com/app/" class="gray100 no-underline font-weight-bold small glow ml-20 lg-hide">App</a> 706 <a href="https://www.swimuniversity.com/about/" class="gray100 no-underline font-weight-bold small glow ml-20 lg-hide">About</a> 707 </nav> 708 </div> 709 710 <div class="col-4"> 711 <nav class="d-flex align-items-center justify-content-end"> 712 <a href="https://shop.swimuniversity.com/cart" class="align-middle mr-20 lg-hide"><img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/cart.svg?v=62315060286450369561664416567" alt="Cart" width="20" height="20" class="d-block"></a> 713 <a href="https://www.swimuniversity.com/find/" class="align-middle mr-20 lg-hide"><img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/search.svg?v=172541968157539455451664325311" alt="Search" width="20" height="20" class="d-block"></a> 714 <a href="https://products.swimuniversity.com/login" class="gray100 no-underline small glow mr-20 lg-hide">Login</a> 715 716 <button class="btn btn-xs btn-orange hover-down lg-hide pool-newsletter-form-trigger">Join Now</button> 717 718 <button onclick="openNav()" class="gray100 no-underline small font-weight-bold hide show-lg">Menu <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/hamburger.svg?v=68822471136754821861718661600" alt="Mobile" width="30" height="20"></button> 719 </nav> 720 </div> 721 </div> 722 </div> 723</header> 724 725 726<!-- MOBILE --> 727<div id="mobile" class="mobile"> 728 <div class="container"> 729 <div class="row align-items-center justify-content-between mb-20"> 730 <div class="col"> 731 <a href="https://www.swimuniversity.com/"><img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/swim-university-icon.svg?v=146792641066644580571720662463" alt="Swim University" width="60" height="60"></a> 732 </div> 733 <div class="col text-right"> 734 <button class="closebtn" onclick="closeNav()"><img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/close.svg?v=126393606278745321721731691855" alt="Close" width="28" height="28"></button> 735 </div> 736 </div> 737 738 <div class="row align-items-center mb-28"> 739 <div class="col search-input"> 740 <form role="search" method="get" id="searchform" action="https://www.swimuniversity.com/"> 741 <input type="text" value="" name="s" id="s" placeholder="Search" class="form-control" /> 742 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/search-800.svg?v=24791289207867618921731691854" alt="Search Icon" width="20" height="20"> 743 </form> 744 </div> 745 </div> 746 747 <div class="row align-items-center mb-28"> 748 <div class="col text-center"> 749 <a href="https://shop.swimuniversity.com/cart" class="d-block muted-bg rounded no-underline py-16 px-20"> 750 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/cart.svg?v=62315060286450369561664416567" alt="Cart Icon" width="20" height="20" class="d-block mx-auto mb-4"> 751 <span class="gray100 smaller mb-0">Cart</span> 752 </a> 753 </div> 754 <div class="col text-center smaller gray100"> 755 <a href="https://products.swimuniversity.com/login" class="d-block muted-bg rounded no-underline py-16 px-20"> 756 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/login.svg?v=54720863535827474691731691855" alt="Login Icon" width="20" height="20" class="d-block mx-auto mb-4"> 757 <span class="gray100 smaller mb-0">Login</span> 758 </a> 759 </div> 760 761 <div class="col text-center smaller gray100"> 762 <button class="pool-newsletter-form-trigger d-block muted-bg rounded no-underline py-16 px-20 w-100"> 763 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/join.svg?v=10483309907370174961731691855" alt="Join Icon" width="20" height="20" class="d-block mx-auto mb-4"> 764 <span class="gray100 smaller mb-0">Join</span> 765 </button> 766 </div> 767 768 </div> 769 770 <div class="row"> 771 <div class="col-12 mb-20"> 772 <a href="https://www.swimuniversity.com/swimming-pool-care/" class="icon-link gray100 font-weight-bold glow"> 773 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool.svg?v=80193052785770382631731691855" alt="Pool Icon" width="24" height="24" class="icon mr-12"> 774 <span class="h5 gray100">Pool Care</span> 775 </a> 776 </div> 777 <div class="col-12 mb-20"> 778 <a href="https://www.swimuniversity.com/hot-tub-care/" class="icon-link gray100 font-weight-bold glow"> 779 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/hot-tub.svg?v=147630133183856039751
779731691854" alt="Hot Tub Icon" width="24" height="24" class="icon mr-12"> 780 <span class="h5 gray100">Hot Tubs</span> 781 </a> 782 </div> 783 <div class="col-12 mb-20"> 784 <a href="https://shop.swimuniversity.com/" class="icon-link gray100 font-weight-bold glow"> 785 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/shop.svg?v=64504553251816779981731691854" alt="Shop Icon" width="24" height="24" class="icon mr-12"> 786 <span class="h5 gray100">Shop</span> 787 </a> 788 </div> 789 <div class="col-12 mb-20"> 790 <a href="https://www.swimuniversity.com/app/" class="icon-link gray100 font-weight-bold glow"> 791 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/app.svg?v=149255947364693990741731691854" alt="App Icon" width="24" height="24" class="icon mr-12"> 792 <span class="h5 gray100">App</span> 793 </a> 794 </div> 795 <div class="col-12"> 796 <a href="https://www.swimuniversity.com/about/" class="icon-link gray100 font-weight-bold glow"> 797 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/about.svg?v=107975608872027188741731691854" alt="About Icon" width="24" height="24" class="icon mr-12"> 798 <span class="h5 gray100">About</span> 799 </a> 800 </div> 801 </div> 802 803 </div> 804</div> 805<div id="overlay" class="overlay"></div></div> 806 807<!-- HERO --> 808<section class="blue500-bg bubbles-bg py-40 wave-bottom"> 809 <div class="container-900 pb-40 text-center position-relative"> 810 811 <!-- HEADLINE --> 812 <div class="h1 gray100 mb-16">The Only Pool Maintenance Manual You Need.</div> 813 <p class="large gray100 mb-28"> 814 An illustrated guide to DIY pool care, including chemicals, maintenance, troubleshooting, and more. Stop 815 wasting time and money with confusing chemistry. 816 </p> 817 818 <!-- VIDEO --> 819 <div class="mb-28"> 820
820<script src="https://fast.wistia.com/embed/medias/z37ymy018x.jsonp" async></script>
820 821
821<script src="https://fast.wistia.com/assets/external/E-v1.js" async></script>
821 822 <div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"> 823 <div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"> 824 <div class="wistia_embed wistia_async_z37ymy018x seo=true videoFoam=true" style="height:100%;position:relative;width:100%"> 825 <div class="wistia_swatch" style="height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;"> 826 <img src="https://fast.wistia.com/embed/medias/z37ymy018x/swatch" style="filter:blur(5px);height:100%;object-fit:contain;width:100%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" width="100%" height="100%"> 827 </div> 828 </div> 829 </div> 830 </div> 831 </div> 832 833 <!-- BUTTONS --> 834 <ul class="buttons mb-8"> 835 <li><a href="https://shop.swimuniversity.com/cart/44009349054718:1?storefront=true" class="btn btn-xl btn-orange hover-down">Order Now</a></li> 836 <li><button onclick="scrollAnchor('pricing')" class="btn btn-xl btn-white btn-icon-right hover-down">Options <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/down-800.svg?v=171111581645698035651745348370" alt="Down Arrow Icon" width="24" height="24"></button></li> 837 </ul> 838 839 <!-- TRUST BAR --> 840 <div class="d-flex flex-wrap justify-content-center gap-12 gray100 small"> 841 <span><i class="fa-solid fa-cart-circle-check"></i> One-Time Purchase</span> 842 <span><i class="fa-solid fa-shield-check green100"></i> 100% Money-Back Guarantee</span> 843 <span><i class="fa-solid fa-badge-check blue100"></i> Trusted Since 2006</span> 844 845 <span><i class="fa-solid fa-truck-fast orange100"></i> Free Shipping</span> 846 847 </div> 848 </div> 849</section> 850 851<!-- POOL TYPES --> 852<section class="gray200-bg pt-60 pb-40" style="margin-top:-36px;"> 853 <div class="container gray600"> 854 <h2 class="h3 mb-32 gray600 text-center">The Handbook Covers Every Type of Pool</h2> 855 <div class="row justify-content-center text-center"> 856 <div class="col-4 col-md-2 mb-20"> 857 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-type-above-ground.svg?v=143141200728242040021776824015" alt="Above Ground Pool Icon" width="64" height="64" class="mb-12"> 858 <p class="font-weight-bold mb-0">Above Ground</p> 859 </div> 860 <div class="col-4 col-md-2 mb-20"> 861 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-type-inground.svg?v=144140664918321173861776824015" alt="Inground Pool Icon" width="64" height="64" class="mb-12"> 862 <p class="font-weight-bold mb-0">Inground</p> 863 </div> 864 <div class="col-4 col-md-2 mb-20"> 865 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-type-saltwater.svg?v=107231376446802701341776824015" alt="Saltwater Pool Icon" width="64" height="64" class="mb-12"> 866 <p class="font-weight-bold mb-0">Saltwater</p> 867 </div> 868 <div class="col-4 col-md-2 mb-20"> 869 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-type-mineral.svg?v=36479502331170318241776824015" alt="Mineral Pool Icon" width="64" height="64" class="mb-12"> 870 <p class="font-weight-bold mb-0">Mineral</p> 871 </div> 872 <div class="col-4 col-md-2 mb-20"> 873 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-type-stock-tank.svg?v=70100899618724514901776824015" alt="Stock Tank Pool Icon" width="64" height="64" class="mb-12"> 874 <p class="font-weight-bold mb-0">Stock Tank</p> 875 </div> 876 <div class="col-4 col-md-2 mb-20"> 877 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-type-inflatable.svg?v=133520327776223775211776824015" alt="Inflatable Pool Icon" width="64" height="64" class="mb-12"> 878 <p class="font-weight-bold mb-0">Inflatable</p> 879 </div> 880 </div> 881 </div> 882</section> 883 884<!-- PRODUCT DETAILS --> 885<section class="py-60"> 886 <div class="container"> 887 <div class="row"> 888 <div class="col-lg mb-3 text-md-center"> 889 <div class="product-image-container position-relative"> 890 891 <div class="badge green300-bg gray100">Free Shipping</div> 892 893 <img id="featuredImage" src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4_grande.png?v=1788122855" alt="The Pool Care Handbook" class="img-fluid rounded d-block mx-auto" width="540" height="540"> 894 </div> 895 896 <!-- ALL IMAGES --> 897 <div class="row my-20 justify-content-center product-image-gallery" id="product-image-gallery"> 898 899 <div class="col-3 my-4"> 900 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4_compact.png?v=1788122855" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookFront_ead0e157-2cd9-44a4-9d5d-e4fb3a8d34c4_grande.png?v=1788122855" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 901 </div> 902 903 <div class="col-3 my-4"> 904 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookOpenStack_compact.png?v=1788122912" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookOpenStack_grande.png?v=1788122912" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 905 </div> 906 907 <div class="col-3 my-4"> 908 <img src="//shop.swimuniversity.com/cdn/shop/files/Pool-Care-Handbook-Paver_compact.jpg?v=1718664167" data-img="//shop.swimuniversity.com/cdn/shop/files/Pool-Care-Handbook-Paver_grande.jpg?v=1718664167" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 909 </div> 910 911 <div class="col-3 my-4"> 912 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookPoolside_compact.png?v=1788029206" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookPoolside_grande.png?v=1788029206" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 913 </div> 914 915 <div class="col-3 my-4"> 916 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookAboveGroundPool_compact.png?v=1788030893" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookAboveGroundPool_grande.png?v=1788030893" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 917 </div> 918 919 <div class="col-3 my-4"> 920 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookWomanReadingPoolside_compact.png?v=1788030912" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookWomanReadingPoolside_grande.png?v=1788030912" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 921 </div> 922 923 <div class="col-3 my-4"> 924 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookInsideDesk_compact.png?v=1788031107" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookInsideDesk_grande.png?v=1788031107" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 925 </div> 926 927 <div class="col-3 my-4"> 928 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookEyeLevelStack_compact.png?v=1788123023" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookEyeLevelStack_grande.png?v=1788123023" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 929 </div> 930 931 <div class="col-3 my-4"> 932 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookOpen_compact.png?v=1788124182" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookOpen_grande.png?v=1788124182" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 933 </div> 934 935 <div class="col-3 my-4"> 936 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookOpenCover_compact.png?v=1788124205" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookOpenCover_grande.png?v=1788124205" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 937 </div> 938 939 <div class="col-3 my-4"> 940 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookPoolsideInground_compact.png?v=1788124301" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookPoolsideInground_grande.png?v=1788124301" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 941 </div> 942 943 <div class="col-3 my-4"> 944 <img src="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookDeck_6e1389f1-0135-4e95-bbdd-a73ecadc884d_compact.png?v=1788124399" data-img="//shop.swimuniversity.com/cdn/shop/files/ThePoolCareHandbookDeck_6e1389f1-0135-4e95-bbdd-a73ecadc884d_grande.png?v=1788124399" class="product-image img-fluid rounded" alt="The Pool Care Handbook" onclick="imageGallery(this);" width="100%" height="100%" > 945 </div> 946 947 </div> 948 </div> 949 950 <!-- DETAILS --> 951 <div class="col-lg">
952 <h1 class="h2 gray800 mb-12">The Pool Care Handbook</h1> 953 954 <!-- PRICE --> 955 <div class="h2 mb-12"> 956 <span class="green300">$49</span> 957 </div> 958 959 <!-- RATING --> 960 <div class="mb-12"> 961 <a href="#looxReviews"> 962 <div class="loox-rating" data-id="8044536692990" data-rating="4.8" data-raters="924" ></div> 963 </a> 964 </div> 965 966 <!-- DESCRIPTION --> 967 <div> 968 <p>Most pool owners waste hundreds of dollars a year on <strong>chemicals they don't need</strong>, advice that doesn't work, and pool service they could handle themselves.</p> 969<p>This illustrated, 335-page handbook gives you a <strong>simple 3-part system</strong> to maintain crystal clear water in any pool type, whether it's inground, above ground, saltwater, or a small Intex setup.</p> 970<ul> 971<li> 972<strong>How long to actually run your pump</strong> (the #1 "game changer" our readers report, and most people get it wrong)</li> 973<li> 974<strong>The exact order to add chemicals</strong> and why "just shock it" is almost always the wrong advice</li> 975<li> 976<strong>Cheaper household alternatives</strong> to expensive pool store chemicals (baking soda for Alkalinity Up is just the start)</li> 977<li> 978<strong>How to open and close your pool yourself</strong> so you're not paying someone $200+ twice a year</li> 979<li> 980<strong>Green, cloudy, or foamy water fixes</strong> with step-by-step troubleshooting, so you never panic</li> 981<li> 982<strong>Real chemical names</strong> so you can buy generic and stop overpaying for branded pool products</li> 983</ul> 984 </div> 985 986 <!-- BOOK DETAILS --> 987 <div class="row text-center"> 988 <div class="col"> 989 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/paperback.svg?v=118479295837420231941721083625" alt="Paperback Book" width="50" height="50"> 990 <p class="small">335 Pages</p> 991 </div> 992 <div class="col"> 993 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/saltwater.svg?v=22599727726241839491721083625" alt="Saltwater Compatible Icon" width="50" height="50"> 994 <p class="small">Saltwater Friendly</p> 995 </div> 996 <div class="col"> 997 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/digital-download.svg?v=77738154852964440461721083624" alt="Digital Version Icon" width="50" height="50"> 998 <p class="small">PDF Included</p> 999 </div> 1000 </div> 1001 1002 <!-- BUTTONS --> 1003 <form method="post" action="/cart/add" id="product_form_8044536692990" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 1004 <select name="id" class="d-none"> 1005 1006 <option value="44009349054718"> 1007 Default Title 1008 </option> 1009 1010 </select> 1011 1012 <div class="row"> 1013 <div class="col-sm-3 mb-12"> 1014 <!-- QUANTITY --> 1015 <div class="quantity-container"> 1016 <label for="quantity" class="quantity-label">QTY</label> 1017 <select name="quantity" class="quantity form-control"> 1018 <option disabled value>QTY</option> 1019 <option value="1">1</option> 1020 <option value="2">2</option> 1021 <option value="3">3</option> 1022 <option value="4">4</option> 1023 <option value="5">5</option> 1024 <option value="6">6</option> 1025 <option value="7">7</option> 1026 <option value="8">8</option> 1027 <option value="9">9</option> 1028 </select> 1029 </div> 1030 </div> 1031 <div class="col-sm mb-12"> 1032 <button type="submit" class="btn btn-xl btn-orange w-100 hover-down">Order Now</button> 1033 </div> 1034 </div> 1035 <input type="hidden" name="product-id" value="8044536692990" /></form> 1036 </div> 1037 </div> 1038 </div> 1039</section> 1040 1041<!-- TOUR --> 1042<section class="py-40 gray200-bg"> 1043 <div class="container-900 py-40 text-center"> 1044 <div class="orange400 h4">VIDEO BOOK TOUR</div> 1045 <h2 class="h1 mb-20">Get a Sneak Peek Inside</h2> 1046
1046<script src="https://fast.wistia.com/embed/medias/es6jsgu102.jsonp" async></script>
1046 1047
1047<script src="https://fast.wistia.com/assets/external/E-v1.js" async></script>
1047 1048 <div class="wistia_responsive_padding" style="padding:56.25% 0 0 0;position:relative;"> 1049 <div class="wistia_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"> 1050 <div class="wistia_embed wistia_async_es6jsgu102 seo=true videoFoam=true" style="height:100%;position:relative;width:100%" > 1051 <div class="wistia_swatch" style="height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;" > 1052 <img src="https://fast.wistia.com/embed/medias/es6jsgu102/swatch" style="filter:blur(5px);height:100%;object-fit:contain;width:100%;" alt="" aria-hidden="true" onload="this.parentNode.style.opacity=1;" width="100%" height="100%" > 1053 </div> 1054 </div> 1055 </div> 1056 </div> 1057 1058 <div class="mt-40" id="loox-default-carousel"> 1059 <div class="loox-v2-carousel-container" id="LOOX-V2_CAROUSEL-testimonial" data-slide-type="testimonial"></div> 1060 </div> 1061 </div> 1062</section> 1063 1064<!-- MATH --> 1065<section class="blue600-bg py-60 wave-both" style="margin-top: -36px;"> 1066 <div class="container py-60"> 1067 <div class="row align-items-center"> 1068 1069 <!-- LEFT --> 1070 <div class="col-lg-6 mb-40"> 1071 <h2 class="h1 gray100 mb-20">This Book Replaces Your <span class="orange300">Pool Service</span>.</h2> 1072 <p class="gray300 mb-32">Dozens of our readers bought this book specifically to fire their pool company and do it themselves. They're saving hundreds every month and their pools have never looked better.</p> 1073 <div class="blue500-bg rounded p-20 mb-20"> 1074 <p class="gray300 mb-8"><em>"I dropped my pool service and the savings are equal to two rounds of golf per month. If there's a problem the book can probably tell me how to fix it."</em></p> 1075 <div class="orange200 small font-weight-bold">Jeff S. â <i class="fa-solid fa-badge-check"></i> Verified Salt Water Pool Owner, FL</div> 1076 </div> 1077 <div class="blue500-bg rounded p-20 mb-20"> 1078 <p class="gray300 mb-8"><em>"I am no longer at the mercy of a pool guy or company. I saved several hundred dollars maintaining my pool step by step. It was the best investment I could have made."</em></p> 1079 <div class="orange200 small font-weight-bold">Laura L. â <i class="fa-solid fa-badge-check"></i> Verified Buyer</div> 1080 </div> 1081 <div class="blue500-bg rounded p-20"> 1082 <p class="gray300 mb-8"><em>"I have learned things I never would have thought about. This book is saving me around $300 a month!"</em></p> 1083 <div class="orange200 small font-weight-bold">Brenda K. â <i class="fa-solid fa-badge-check"></i> Verified Buyer</div> 1084 </div> 1085 </div> 1086 1087 <!-- RIGHT --> 1088 <div class="col-lg-6 mb-40"> 1089 <div class="blue500-bg rounded p-40"> 1090 <h3 class="h2 gray100 text-center mb-32">The Math is Simple</h3> 1091 <div class="d-flex justify-content-between py-16 border-dashed-bottom"> 1092 <span class="gray300">Average monthly pool service</span> 1093 <span class="orange200 font-weight-bold">$150/mo</span> 1094 </div> 1095 <div class="d-flex justify-content-between py-16 border-dashed-bottom"> 1096 <span class="gray300">Annual pool service cost</span> 1097 <span class="orange200 font-weight-bold">$1,800/yr</span> 1098 </div> 1099 <div class="d-flex justify-content-between py-16 border-dashed-bottom"> 1100 <span class="gray300">The Pool Care Handbook</span> 1101 <span class="gray100 font-weight-bold">$49</span> 1102 </div> 1103 <div class="d-flex justify-content-between py-16 border-dashed-bottom"> 1104 <span class="gray300">One-time purchase</span> 1105 <span class="gray500">not a subscription</span> 1106 </div> 1107 <div class="d-flex justify-content-between align-items-center pt-20 mt-8"> 1108 <span class="gray100 font-weight-bold">Your first-year savings</span> 1109 <span class="gray100 h2 mb-0 font-weight-bold">$1,750+</span> 1110 </div> 1111 </div> 1112 </div> 1113 1114 </div> 1115 </div> 1116</section> 1117
1118<!-- SYSTEM --> 1119<section class="py-40"> 1120 <div class="container py-40"> 1121 <div class="h3 orange400 text-center">A SIMPLE SYSTEM FOR POOL CARE</div> 1122 <h2 class="h1 text-center">1,000+ Pool Problems Solved</h2> 1123 <p class="text-center mb-60">Pool care is not as complicated as pool stores make it sound. The handbook breaks everything down into a 3-part system you can learn in a single afternoon and follow all season long.</p> 1124 <div class="row justify-content-center"> 1125 <div class="col-md-4 mb-40"> 1126 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-circulation.svg?v=90368193411663869161774726456" alt="Pool Circulation" class="img-fluid mb-20" width="500" height="350" > 1127 <h2 class="h3">1. Circulation</h2> 1128 <h3 class="h5 font-weight-normal mb-12">Keep The Water Moving</h3> 1129 <p class="mb-20">Bad flow is the hidden cause behind most pool problems. Learn how your pump, filter, skimmers, and jets work together. And how to optimize them for your pool.</p> 1130 <div class="blue400-bg gray100 rounded p-20 small"> 1131 <strong>Reader insight:</strong> "Learning how long and when to run my pump was a game changer. I was running it at the wrong times and not long enough." 1132 </div> 1133 </div> 1134 <div class="col-md-4 mb-40"> 1135 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-cleaning.svg?v=47198368916884788541774726456" alt="Pool Cleaning" class="img-fluid mb-20" width="500" height="350"> 1136 <h2 class="h3">2. Cleaning</h2> 1137 <h3 class="h5 font-weight-normal mb-12">A 15-Minute Daily Routine</h3> 1138 <p class="mb-20">Stop scrubbing for hours. A simple schedule of skimming, brushing, and vacuuming prevent big problems (algae, cloudy water, stains) before they start.</p> 1139 <div class="blue400-bg gray100 rounded p-20 small"> 1140 <strong>Reader insight:</strong> "I now only take care of my pool once a week because of the handbook. DIY pool care is quick and easy work when you know what to do." 1141 </div> 1142 </div> 1143 <div class="col-md-4 mb-40"> 1144 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-chemistry.svg?v=18327801101028664701774726456" alt="Pool Water Chemistry" class="img-fluid mb-20" width="500" height="350"> 1145 <h2 class="h3">3. Chemistry</h2> 1146 <h3 class="h5 font-weight-normal mb-12">Simpler Than You Think</h3> 1147 <p class="mb-20">Learn which levels to test, what order to add chemicals, and the real names behind branded products so you can buy cheaper alternatives. No chemistry degree required.</p> 1148 <div class="blue400-bg gray100 rounded p-20 small"> 1149 <strong>Reader insight:</strong> "I was totally clueless about chemicals and now I see the light. My confidence has soared. Plus I saved a ton of money!" 1150 </div> 1151 </div> 1152 </div> 1153 </div> 1154</section> 1155 1156<!-- PACKAGES --> 1157<section class="blue500-bg bubbles-bg py-60 wave-both"> 1158 <div class="container py-60 text-center position-relative" id="pricing"> 1159 <h2 class="orange200 h3">CHOOSE YOUR EDITION</h2> 1160 <h3 class="h1 gray100 mb-40">One Book. Every Answer.</h3> 1161 1162 <div class="row align-items-center"> 1163 <div class="col-lg mb-36 order-1 order-lg-0"> 1164 <a href="https://shop.swimuniversity.com/cart/46526414815486:1?storefront=true" class="d-block rounded gray100-bg no-underline p-40" > 1165 <h3 class="mb-12">Digital Only</h3> 1166 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-care-handbook-digital-only.png?v=160667961229268321241745354799" alt="The Pool Care Handbook Digtal Only" class="img-fluid" width="300" height="300" > 1167 <div class="h2 mb-12 green300">$29</div> 1168 <p class="gray600 mb-16 small">Instant Download</p> 1169 <p class="gray800 mb-20">Get the full Pool Care Handbook as a searchable PDF for any device.</p> 1170 <button class="btn btn-lg btn-orange w-100 hover-down">Download Now</button> 1171 </a> 1172 </div> 1173 1174 <div class="col-lg mb-36 order-0 order-lg-1"> 1175 <a href="https://shop.swimuniversity.com/cart/44009349054718:1?storefront=true" class="d-block rounded gray100-bg no-underline px-40 py-60" > 1176 <div class="popular-pill orange400-bg gray100">Most Popular</div> 1177 <h3 class="mb-12">Print + Digital</h3> 1178 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-care-handbook-plus-digital.png?v=72
1178660474714612021131745354800" alt="The Pool Care Handbook Plus Digital Download" class="img-fluid" width="300" height="300" > 1179 <div class="h2 mb-12 green300">$49</div> 1180 <p class="gray600 mb-16 small">Fast Shipping + Instant PDF</p> 1181 <p class="gray800 mb-20">The physical book shipped to your door, plus a digital copy for your phone or tablet.</p> 1182 <button class="btn btn-lg btn-orange w-100 hover-down">Order Now</button> 1183 </a> 1184 </div> 1185 1186 <div class="col-lg mb-36 order-2 order-lg-2"> 1187 <a href="https://shop.swimuniversity.com/cart/44009349054718:1,43469279330558:1?storefront=true" class="d-block rounded gray100-bg no-underline p-40" > 1188 <h3 class="mb-12">Book + Course</h3> 1189 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pool-care-handbook-plus-course.png?v=30375510509881127811745354799" alt="The Pool Care Handbook and Video Course" class="img-fluid" width="300" height="300" > 1190 <div class="h2 mb-12 green300">$198</div> 1191 <p class="gray600 mb-16 small">Best value for visual learners</p> 1192 <p class="gray800 mb-20">The handbook plus the full Pool Care Video Course with step-by-step walkthroughs.</p> 1193 <button class="btn btn-lg btn-orange w-100 hover-down">Enroll Today</button> 1194 </a> 1195 </div> 1196 </div> 1197 1198 <!-- TRUST BAR --> 1199 <div class="d-flex flex-wrap justify-content-center gap-12 gray100 small"> 1200 <span><i class="fa-solid fa-cart-circle-check"></i> One-Time Purchase</span> 1201 <span><i class="fa-solid fa-shield-check green100"></i> 100% Money-Back Guarantee</span> 1202 <span><i class="fa-solid fa-badge-check blue100"></i> Trusted Since 2006</span> 1203 1204 <span><i class="fa-solid fa-truck-fast orange100"></i> Free Shipping</span> 1205 1206 </div> 1207 </div> 1208</section> 1209 1210<!-- REVIEWS --> 1211<section class="gray200-bg py-40" style="margin-top:-36px;"> 1212 <div class="container py-60"> 1213 <h2 class="orange400 h3 text-center">REAL RESULTS</h2> 1214 <h3 class="h1 mb-20 text-center">What Customers Are Saying</h3> 1215 <p class="text-center">300+ verified reviews, 4.9 average rating. Here are some of the best stories.</p> 1216 <div id="looxReviews" data-product-id="8044536692990"></div> 1217 </div> 1218</section> 1219 1220<!-- FAQS --> 1221<section class="py-40"> 1222 <div class="container py-40"> 1223 <h2 class="orange400 h3 text-center">COMMON QUESTIONS</h2> 1224 <h3 class="h1 text-center mb-60">Frequently Asked Questions</h3> 1225 <div class="row"> 1226 <div class="col-md-6"> 1227 <h3 class="h4">Can't I just find this information online?</h3> 1228 <p>You can find a lot of great free information on our YouTube channel and email list (and we encourage that). But the #1 thing book buyers tell us is that having everything organized in one place changed everything for them. No more hunting through hundreds of videos, sorting through conflicting advice, or wondering which tip applies to your pool. Multiple long-time followers say they wish they'd bought the book years ago because it would have saved them from expensive trial and error.</p> 1229 </div> 1230 1231 <div class="col-md-6"> 1232 <h3 class="h4">Is it worth $49?</h3> 1233 <p>One unnecessary chemical purchase at the pool store costs more than this book. One month of pool service costs 3x more. Our readers routinely report saving hundreds to thousands of dollars in their first season by learning which chemicals they actually need, cheaper generic alternatives, and how to handle maintenance themselves. As one reviewer put it: "The book pays for itself."</p> 1234 </div> 1235 1236 <div class="col-md-6"> 1237 <h3 class="h4">Is the handbook easy to understand?</h3> 1238 <p>"Easy to understand" is the single most common phrase in our 281 reviews. The handbook is written in plain English with full-color illustrations on every page. One reader said it best: "I barely made it through high school chemistry and the straightforward explanations have greatly contributed to understanding what is going on with the pool." If they can do it, you absolutely can too.</p> 1239 </div> 1240 1241 <div class="col-md-6"> 1242 <h3 class="h4">Does it cover my type of pool?</h3> 1243 <p>
1243Yes. The handbook covers inground pools, above ground pools, saltwater pools, and even small Intex and inflatable setups. We have readers successfully using it in Florida heat, New England winters, and everywhere in between, including internationally in Italy, Israel, and the UK. If your specific situation isn't covered, we'll give you a full refund.</p> 1244 </div> 1245 1246 <div class="col-md-6"> 1247 <h3 class="h4">How do I know I can trust the information?</h3> 1248 <p> Swim University® has been the go-to pool care resource online since 2006, with 20+ years of industry experience behind every page. But here's the trust signal that matters most: professional pool technicians and pool company owners buy this book and use it as their own reference. One reader's pool tech told them he recommends Swim University to all his customers. Another pool company owner bought copies for his entire team. When the pros trust it, you can too.</p> 1249 </div> 1250 1251 <div class="col-md-6"> 1252 <h3 class="h4">What if it doesn't help me?</h3> 1253 <p>We offer a 100% money-back guarantee. If the handbook doesn't help you, return it for a full refund. But beyond that, every purchase includes direct access to our team. Multiple reviewers mention emailing Matt with follow-up questions and getting a fast, helpful response. You're not just buying a book, you're getting a support system.</p> 1254 </div> 1255 </div> 1256 </div> 1257</section> 1258 1259<!-- LAST CALL --> 1260<section class="blue600-bg wave-top py-60 gray100 text-center" style="margin-bottom:-40px;"> 1261 <div class="container-800 py-60"> 1262 <h2 class="h1 mb-20 gray100">Pool Season is Coming.<br>Be <span class="orange200">Ready</span> This Year.</h2> 1263 <p class="mb-28">Stop Googling. Stop guessing. Stop overpaying. Get the one book that 300+ pool owners say changed how they care for their pool.</p> 1264 <button onclick="scrollAnchor('pricing')" class="btn btn-xl btn-orange hover-down">Get The Handbook</button> 1265 <small class="d-block mt-28 blue100"><em>"This book immediately paid for itself and I can truly enjoy my pool versus hating to open the cover. It is highly recommended."</em> - <i class="fa-solid fa-badge-check blue100"></i> Verified Buyer Anthony P.</small> 1266 </div> 1267</section> 1268 <div id="shopify-section-footer" class="shopify-section"><!-- FOOTER --> 1269<footer class="blue500-bg pt-60 pb-40 bubbles-bg wave-top"> 1270 <div class="container pt-40 pb-40 gray100 text-md-center"> 1271 1272 1273 <!-- CATEGORIES --> 1274 <div class="row small"> 1275 <div class="col-md mb-40"> 1276 <a href="https://www.swimuniversity.com/swimming-pool-care/" class="h5 gray100 glow mb-8">Pool Care</a> 1277 <a href="https://www.swimuniversity.com/swimming-pool-care/pool-troubleshooting/" class="glow">Pool Troubleshooting</a> 1278 <a href="https://www.swimuniversity.com/swimming-pool-care/pool-water-chemistry/" class="glow">Pool Chemistry</a> 1279 <a href="https://www.swimuniversity.com/swimming-pool-care/pool-maintenance/" class="glow">Pool Maintenance</a> 1280 <a href="https://www.swimuniversity.com/swimming-pool-care/pool-equipment/" class="glow">Pool Equipment</a> 1281 <a href="https://www.swimuniversity.com/swimming-pool-care/pool-opening-closing/" class="glow">Pool Opening & Closing</a> 1282 <a href="https://pool-school.transistor.fm/" target="_blank" class="glow">Pool School Podcast</a> 1283 </div> 1284 1285 <div class="col-md mb-40"> 1286 <a href="https://www.swimuniversity.com/hot-tub-care/" class="h5 gray100 glow mb-8">Hot Tub Care</a> 1287 <a href="https://www.swimuniversity.com/hot-tub-care/hot-tub-troubleshooting/" class="glow">Hot Tub Troubleshooting</a> 1288 <a href="https://www.swimuniversity.com/hot-tub-care/hot-tub-water-chemistry/" class="glow">Hot Tub Chemistry</a> 1289 <a href="https://www.swimuniversity.com/hot-tub-care/hot-tub-maintenance/" class="glow">Hot Tub Maintenance</a> 1290 <a href="https://www.swimuniversity.com/hot-tub-care/hot-tub-equipment/" class="glow">Hot Tub Equipment</a> 1291 <a href="https://www.swimuniversity.com/hot-tub-care/hot-tub-opening-closing/" class="glow">Hot Tub Opening & Closing</a> 1292 <a href="https://hot-tubs-101.transistor.fm/" target="_blank" class="glow">Hot Tubs 101 Podcast</a> 1293 </div> 1294 1295 <div class="col-md mb-40"> 1296 <a href="https://shop.swimuniversity.com/?utm_source=Website&utm_medium=Link&utm_campaign=Footer" class="h5 gray100 glow mb-8">Shop</a> 1297 <a href="https://shop.swimuniversity.com/products/pool-care-handbook/?utm_source=Website&utm_medium=Link&utm_campaign=Footer" class="glow">The Pool Care Handbook</a> 1298 <a href="https://shop.swimuniversity.com/products/pool-course/?utm_source=Website&utm_medium=Link&utm_campaign=Footer" class="glow">The Pool Care Video Course</a> 1299 <a href="https://www.swimuniversity.com/app/" class="glow">The Pool Care App</a> 1300 <a href="https://shop.swimuniversity.com/products/hot-tub-handbook/?utm_source=Website&utm_medium=Link&utm_campaign=Footer" class="glow">The Hot Tub Handbook</a> 1301 <a href="https://shop.swimuniversity.com/products/hot-tub-course/?utm_source=Website&utm_medium=Link&utm_campaign=Footer" class="glow">The Hot Tub Video Course</a> 1302 <a href="https://products.swimuniversity.com/login" class="glow">Course Login</a> 1303 </div> 1304 1305 <div class="col-md mb-40"> 1306 <a href="https://www.swimuniversity.com/about/" class="h5 gray100 glow mb-8">Company</a> 1307 <a href="https://www.swimuniversity.com/about/" class="glow">About Us</a> 1308 <a href="https://www.swimuniversity.com/brand/" class="glow">Brand Assets</a> 1309 <a href="https://www.swimuniversity.com/shipping-refunds/" class="glow">Shipping & Refund Policy</a> 1310 <a href="https://www.swimuniversity.com/privacy/" class="glow">Privacy Policy</a> 1311 <a href="https://www.swimuniversity.com/terms/" class="glow">Terms of Use</a> 1312 <a href="https://www.swimuniversity.com/disclosures/" class="glow">User Agreement</a> 1313 <a href="https://www.swimuniversity.com/data/" class="glow">Personal Data</a> 1314 <a href="https://account.swimuniversity.com" class="glow">My Account</a> 1315 </div> 1316 </div> 1317 1318 1319 1320 1321 1322 <!-- COPYRIGHT --> 1323 <div class="row align-items-center"> 1324 <div class="col-lg-1 footer-icon"> 1325 <a href="/" class="hover-down"> 1326 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/swim-university-icon.svg?v=146792641066644580571720662463" alt="Swim University" width="75" height="75"> 1327 </a> 1328 </div> 1329 1330 <div class="col-lg-7 text-md-center mb-20"> 1331 <strong>© 2006 - 2026 Swim University®. All Rights Reserved.</strong><br><em>We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn commissions by linking to Amazon.com and affiliated sites.</em> 1332 </div> 1333 1334 1335 <div class="col-lg-4 mb-20"> 1336 <div class="row align-items-center text-center"> 1337 <div class="col"> 1338 <a href="https://facebook.com/swimuniversity" target="_blank" class="hover-down"> 1339 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/facebook.svg?v=169861508799006041451664326666" alt="Swim University On Facebook" class="img-fluid" width="25" height="25"> 1340 </a> 1341 </div> 1342 <div class="col"> 1343 <a href="https://www.tiktok.com/@swimuniversity" target="_blank" class="hover-down"> 1344 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/tiktok.svg?v=99398420602724126691664326669" alt="Swim University on TikTok" class="img-fluid" width="21" height="25"> 1345 </a> 1346 </div> 1347 <div class="col"> 1348 <a href="https://pinterest.com/swimuniversity" target="_blank" class="hover-down"> 1349 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/pinterest.svg?v=4407291585252682321664326665" alt="Swim University on Pinterest" class="img-fluid" width="25" height="25"> 1350 </a> 1351 </div> 1352 <div class="col"> 1353 <a href="https://youtube.com/swimuniversity" target="_blank" class="hover-down"> 1354 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/youtube.svg?v=115518306183570119171664326668" alt="The Swim University YouTube Channel" class="img-fluid" width="35" height="25"> 1355 </a> 1356 </div> 1357 <div class="col"> 1358 <a href="https://instagram.com/swimuniversity" target="_blank" class="hover-down"> 1359 <img src="//shop.swimuniversity.com/cdn/shop/t/4/assets/instagram.svg?v=114000387099806646181664326667" alt="Swim University On Instagram" class="img-fluid" width="25" height="25"> 1360 </a> 1361 </div> 1362 </div> 1363 </div> 1364 1365 </div> 1366 </div> 1367</footer> 1368 1369<!-- MOBILE MENU -->
1370<script src="//shop.swimuniversity.com/cdn/shop/t/4/assets/scripts.js?v=133608526649581627891745348370" async defer></script>
1370 1371 1372<!-- LOOX -->
1373<script src="https://cdn.loox.io/widget/loox.js"></script>
1373</div> 1374 1375 <!-- FRONT CHAT --> 1376
1376<script src='https://chat-assets.frontapp.com/v1/chat.bundle.js' async></script>
1376 1377
1377<script> 1378 window.FrontChat('init', {chatId: '69e9b0478396d8249b9210a083f15b2b', useDefaultLauncher: true}); 1379 </script>
1379 1380 <div id="shopify-block-AakNoTzR0N0NkN3Z2W__11532412952436166569" class="shopify-block shopify-app-block"> 1381 1382 1383 <!-- __LXV: 1790887690421;__LXR: https://loox.io;__LXC: qIFc9rsKAI; -->
1383<script>var loox_global_hash = '1790887690421'; 1384var loox_bundle_reviews_enabled = false;</script>
1384<style>.loox-reviews-default { max-width: 1200px; margin: 0 auto; }.loox-rating .loox-icon { color:#FFC857; } 1385:root { --lxs-rating-icon-color: #FFC857; }</style><svg xmlns="http://www.w3.org/2000/svg" style="display: none" id="loox-rating-icon-svg-store"> 1386 <defs /> 1387 <symbol id="looxicons-rating-icon-fill" viewBox="0 0 24 24" fill="currentcolor"> 1388 <path 1389 d="M11.335 21.072 7.58 23.18c-2.012 1.121-4.416-.621-3.97-2.877l.837-4.227a1.367 1.367 0 0 0-.405-1.256L.868 11.888c-1.689-1.567-.77-4.39 1.526-4.66l4.281-.513a1.357 1.357 0 0 0 1.067-.77l1.81-3.903c.959-2.094 3.944-2.094 4.903 0l1.81 3.903c.202.432.594.716 1.067.77l4.281.513c2.283.27 3.215 3.107 1.513 4.66l-3.16 2.917c-.352.324-.5.797-.406 1.256l.838 4.228c.445 2.255-1.959 4.011-3.971 2.877l-3.755-2.107a1.358 1.358 0 0 0-1.324 0l-.013.013Z" 1390 /> 1391 </symbol> 1392 <symbol id="looxicons-rating-icon-line" viewBox="0 0 24 24" fill="currentcolor"> 1393 <path 1394 fill-rule="evenodd" 1395 d="M4.041 14.819c.338.324.5.796.406 1.256l-.838 4.227C3.164 22.558 5.568 24.3 7.58 23.18l3.755-2.107.013-.013c.42-.23.919-.23 1.324 0l3.755 2.107c2.012 1.134 4.416-.622 3.97-2.877l-.837-4.228a1.336 1.336 0 0 1 .405-1.256l3.16-2.917c1.703-1.553.77-4.39-1.512-4.66l-4.281-.513a1.329 1.329 0 0 1-1.067-.77l-1.81-3.903c-.96-2.094-3.944-2.094-4.903 0l-1.81 3.903a1.357 1.357 0 0 1-1.067.77l-4.281.513c-2.296.27-3.215 3.093-1.526 4.66l3.173 2.93ZM2.227 10.42h.001l3.185 2.941.014.014a3.367 3.367 0 0 1 .98 3.093l-.836 4.22a.702.702 0 0 0 1.034.744l.002-.001 3.509-1.97.02-.02.25-.137a3.358 3.358 0 0 1 3.267.01l.005.003 3.751 2.105a.7.7 0 0 0 1.027-.747l-.837-4.22a3.334 3.334 0 0 1 1.01-3.12l3.169-2.925c.416-.38.209-1.125-.4-1.197h-.003L17.098 8.7a3.328 3.328 0 0 1-2.644-1.907l-.004-.008-1.813
1395-3.911a.699.699 0 0 0-1.267 0l-.003.008L9.55 6.801l-.007.015a3.357 3.357 0 0 1-2.634 1.885l-4.282.513a.698.698 0 0 0-.4 1.207Z" 1396 clip-rule="evenodd" 1397 /> 1398 </symbol> 1399 <defs> 1400 <style> 1401 .lx-icon-fill { 1402 --lx-fill-width: calc(100% - var(--lx-rating-percent, 0%)); 1403 clip-path: inset(0 var(--lx-fill-width, 0) 0 0); 1404 } 1405 .lx-icon-line { 1406 clip-path: inset(0 0 0 var(--lx-rating-percent, 0%)); 1407 } 1408 [data-lx-fill='empty'] { 1409 --lx-rating-percent: 0%; 1410 } 1411 [data-lx-fill='half'] { 1412 --lx-rating-percent: 50%; 1413 } 1414 [data-lx-fill='full'] { 1415 --lx-rating-percent: 100%; 1416 } 1417 </style> 1418 1419 <g id="looxicons-rating-icon"> 1420 <use href="#looxicons-rating-icon-line" class="lx-icon-line"></use> 1421 <use href="#looxicons-rating-icon-fill" class="lx-icon-fill"></use> 1422 </g> 1423 </defs> 1424</svg> 1425 1426 1427 1428 1429 1430 1431
1431<script> 1432 const productLdJsonSchema = { 1433 "@context": "http://schema.org", 1434 "@type": "Product", 1435 "name": "The Pool Care Handbook", 1436 "aggregateRating": { 1437 "@type": "AggregateRating", 1438 "ratingValue": "4.8", 1439 "reviewCount": 924 1440 } 1441 } 1442 1443 const looxAddProductLdJsonSchema = () => { 1444 const scriptEl = document.createElement('script'); 1445 scriptEl.type = 'application/ld+json'; 1446 1447 const stringifyProductLdJsonSchema = JSON.stringify(productLdJsonSchema); 1448 1449 try { 1450 scriptEl.appendChild(document.createTextNode(stringifyProductLdJsonSchema)); 1451 document.body.appendChild(scriptEl); 1452 } catch (e) { 1453 scriptEl.textContent = stringifyProductLdJsonSchema; 1454 document.body.appendChild(scriptEl); 1455 } 1456 }; 1457 1458 let productSchemaHandled = false; 1459 1460 window.addEventListener('DOMContentLoaded', () => { 1461 try { 1462 const ldJsonScripts = document.querySelectorAll("[type='application/ld+json']"); 1463 const microdataElements = document.querySelectorAll("[itemtype='https://schema.org/Product'], [itemprop='aggregateRating']"); 1464 1465 if (microdataElements.length) return; 1466 if ([...ldJsonScripts].some(({ textContent }) => JSON.parse(textContent).hasOwnProperty('aggregateRating'))) return; 1467 1468 ldJsonScripts.forEach(script => { 1469 const json = JSON.parse(script.textContent); 1470 1471 if (productSchemaHandled) return; 1472 if (json['@type'] !== 'Product' && json['@type'] !== 'ProductGroup') return; 1473 1474 json.aggregateRating = productLdJsonSchema.aggregateRating; 1475 script.textContent = JSON.stringify(json); 1476 productSchemaHandled = true; 1477 }); 1478 1479 if (!productSchemaHandled) looxAddProductLdJsonSchema(); 1480 } catch (error) { 1481 // swallow error 1482 } 1483 }); 1484 </script>
1484 1485 1486 1487 1488</div>
1488<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
1488 1489</body> 1490</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.