PageSourceSearch

https://shop.swimuniversity.com/products/pool-care-handbook/?utm_s…&utm_medium=Image&utm_campaign=Homepage

html swimuniversity.com collected 2026-10-02 14:43:21 UTC 112,103 bytes, 1,490 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US">
3	<head>
4		<title>
5			Pool Care Handbook &ndash; 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&amp;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&region_country=US?return_url=%2F%23k-hub",
288    register: "https://account.swimuniversity.com?locale=en&region_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&nbsp;&nbsp;<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>&copy; 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.