{"id":122,"date":"2025-12-22T19:16:40","date_gmt":"2025-12-22T19:16:40","guid":{"rendered":"https:\/\/buildapoolstgeorge.com\/?page_id=122"},"modified":"2026-01-17T21:43:24","modified_gmt":"2026-01-17T21:43:24","slug":"design-quiz","status":"publish","type":"page","link":"https:\/\/buildapoolstgeorge.com\/?page_id=122","title":{"rendered":"Design Your Pool"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"122\" class=\"elementor elementor-122\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3c238b1 e-flex e-con-boxed e-con e-parent\" data-id=\"3c238b1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a99b9a8 elementor-widget__width-inherit elementor-invisible elementor-widget elementor-widget-html\" data-id=\"a99b9a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;rollIn&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- \r\n  Pool Finder Quiz - Copyright (c) 2025 Build a Pool St. George\r\n  All Rights Reserved. Unauthorized copying, modification, or distribution \r\n  of this code is strictly prohibited. Protected under US Copyright Law.\r\n  License: Proprietary - buildapoolstgeorge.com\r\n-->\r\n\r\n\r\n\r\n<style>.pf-wrap{max-width:1100px;margin:100px auto 40px auto;padding:32px;font-family:\"Albert Sans\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,sans-serif;color:#0f0c25;line-height:1.5;box-sizing:border-box;background:linear-gradient(135deg,rgba(18,199,194,0.03) 0%,rgba(255,255,255,1) 40%,rgba(255,122,24,0.03) 100%);border-radius:16px;display:flex;gap:20px;align-items:flex-start;position:relative}.pf-logo-btn{position:absolute;top:-56px;left:16px;display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;background:#fff;border-radius:16px;box-shadow:0 4px 12px rgba(15,12,37,0.1);border:1px solid rgba(18,199,194,0.2);transition:all 0.2s ease;z-index:10;padding:12px}.pf-logo-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(18,199,194,0.2);border-color:rgba(18,199,194,0.4)}.pf-logo-btn img{width:100%;height:100%;object-fit:contain}@media(max-width:900px){.pf-logo-btn{position:relative;top:0;left:50%;transform:translateX(-50%);margin-bottom:16px;width:100px;height:100px}}@media(max-width:900px){.pf-wrap{flex-direction:column;padding:24px 20px;border-radius:12px;margin-top:40px}}.pf-wrap *,.pf-wrap *:before,.pf-wrap *:after{box-sizing:border-box}.pf-wrap h1,.pf-wrap h2,.pf-wrap h3,.pf-wrap p,.pf-wrap div{margin:0;padding:0}.pf-main{flex:1;min-width:0;position:relative;z-index:1}.pf-header{text-align:center;margin-bottom:24px}.pf-header h1{margin:0;font-size:clamp(26px,4vw,40px);line-height:1.1;font-weight:800;color:#0f0c25;text-transform:uppercase;letter-spacing:-0.02em}.pf-header h1 .pf-gradient-text{background:linear-gradient(90deg,#12c7c2,#ff7a18);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;animation:pfTextShimmer 3s ease-in-out infinite;background-size:200% auto}@keyframes pfTextShimmer{0%,100%{background-position:0% center}50%{background-position:100% center}}.pf-header .pf-sub{margin:8px 0 0;color:#5c6470;font-size:15px;font-weight:400}.pf-pill{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(18,199,194,0.1),rgba(255,122,24,0.08));border:1px solid rgba(18,199,194,.25);padding:10px 16px;border-radius:999px;font-size:12px;font-weight:600;color:#0f0c25;margin-top:12px}.pf-pill svg{width:14px;height:14px;fill:#12c7c2}.pf-sidebar{width:220px;flex-shrink:0;position:sticky;top:24px;margin-top:140px;z-index:1}@media(max-width:900px){.pf-sidebar{width:100%;position:static;margin-top:0;order:-1}}.pf-sidebar.pf-hidden{display:none}.pf-priceBox{background:linear-gradient(135deg,rgba(255,255,255,0.95),rgba(255,255,255,0.9));border-radius:16px;box-shadow:0 8px 32px rgba(15,12,37,.1);padding:20px 16px;border:2px solid rgba(18,199,194,.25);text-align:center}@media(max-width:900px){.pf-priceBox{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;padding:14px 20px;border-radius:12px}}.pf-priceBox .pf-priceKicker{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#12c7c2;margin-bottom:6px}@media(max-width:900px){.pf-priceBox .pf-priceKicker{margin-bottom:0;font-size:10px}}.pf-priceBox .pf-priceLabel{font-size:11px;font-weight:600;color:#5c6470;margin-bottom:4px;line-height:1.3}@media(max-width:900px){.pf-priceBox .pf-priceLabel{display:none}}.pf-priceBox .pf-priceAmount{font-size:32px;font-weight:800;background:linear-gradient(90deg,#12c7c2,#ff7a18);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;display:inline-block}@media(max-width:900px){.pf-priceBox .pf-priceAmount{font-size:28px}}.pf-priceBox .pf-pricePer{font-size:12px;color:#5c6470;font-weight:600;display:inline-block;margin-left:2px}.pf-priceBox .pf-priceRow{display:flex;justify-content:center;align-items:baseline;gap:2px;margin-bottom:12px}@media(max-width:900px){.pf-priceBox .pf-priceRow{margin-bottom:0}}.pf-priceBox .pf-selectionsGrid{text-align:left;margin:0 0 12px 0;padding:12px 10px;background:linear-gradient(135deg,rgba(18,199,194,0.04),rgba(255,122,24,0.03));border-radius:10px;border:1px solid rgba(15,12,37,.06)}@media(max-width:900px){.pf-priceBox .pf-selectionsGrid{display:none}}.pf-priceBox .pf-selectionRow{display:flex;justify-content:space-between;font-size:10px;padding:5px 0;border-bottom:1px dashed rgba(15,12,37,.08)}.pf-priceBox .pf-selectionRow:last-child{border-bottom:none}.pf-priceBox .pf-selectionRow span{color:#5c6470}.pf-priceBox .pf-selectionRow b{color:#0f0c25;font-weight:600;text-align:right;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-priceBox .pf-emptyState{font-size:11px;color:#94a3b8;padding:12px 6px;font-style:italic;text-align:center}@media(max-width:900px){.pf-priceBox .pf-emptyState{display:none}}.pf-priceBox .pf-priceEquity{font-size:10px;color:#5c6470;line-height:1.35;padding:10px;background:linear-gradient(135deg,rgba(18,199,194,0.1),rgba(255,122,24,0.08));border-radius:8px;margin-bottom:8px}@media(max-width:900px){.pf-priceBox .pf-priceEquity{display:none}}.pf-priceBox .pf-priceDisclaimer{font-size:8px;color:#94a3b8;line-height:1.3;font-style:italic}@media(max-width:900px){.pf-priceBox .pf-priceDisclaimer{font-size:9px;margin:0}}.pf-priceBox .pf-mobileSelections{display:none;font-size:11px;color:#5c6470}@media(max-width:900px){.pf-priceBox .pf-mobileSelections{display:inline-block}}.pf-card{background:linear-gradient(180deg,rgba(255,255,255,0.98) 0%,rgba(248,250,252,0.95) 100%);border-radius:12px;box-shadow:0 16px 48px rgba(15,12,37,.08);overflow:visible;border:1px solid rgba(15,12,37,.04)}.pf-topbar{padding:16px 20px;border-bottom:1px solid rgba(15,12,37,.06);display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:linear-gradient(135deg,rgba(255,255,255,0.9),rgba(248,250,252,0.95));border-radius:12px 12px 0 0}.pf-progressWrap{flex:1;min-width:180px}.pf-progressMeta{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:700;color:#0f0c25}.pf-bar{height:10px;border-radius:999px;background:linear-gradient(135deg,rgba(18,199,194,0.1),rgba(255,122,24,0.08));overflow:hidden;box-shadow:inset 0 2px 4px rgba(15,12,37,0.05)}.pf-bar>div{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#12c7c2,#ff7a18);transition:width .4s ease;box-shadow:0 0 16px rgba(18,199,194,.4)}.pf-steps{display:flex;gap:10px}.pf-navBtn{border:2px solid rgba(18,199,194,.3);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:12px;padding:12px 20px;cursor:pointer;font-weight:700;font-size:14px;color:#0f0c25;transition:all .2s;font-family:inherit}.pf-navBtn:hover{background:linear-gradient(135deg,rgba(18,199,194,0.1),rgba(18,199,194,0.05));border-color:rgba(18,199,194,.5);transform:translateY(-2px);box-shadow:0 6px 16px rgba(18,199,194,.15)}.pf-navBtn.pf-primary{border:none;color:#fff;background:linear-gradient(135deg,#12c7c2,#0ea5e9)}.pf-navBtn:disabled{opacity:.4;cursor:not-allowed;transform:none;border-color:rgba(15,12,37,.1)}.pf-body{padding:32px 28px;background:transparent}@media(max-width:600px){.pf-body{padding:24px 18px}}.pf-step{display:none;animation:pfFadeSlide .35s ease}.pf-step.pf-active{display:block}@keyframes pfFadeSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.pf-qTitle{margin-bottom:24px;text-align:center}.pf-qTitle h2{margin:0;font-size:clamp(22px,3.5vw,30px);font-weight:800;line-height:1.15;color:#0f0c25;letter-spacing:-0.01em}.pf-qTitle .pf-hint{font-size:14px;color:#5c6470;margin-top:8px;font-weight:400}.pf-shapeGrid,.pf-sizeGrid,.pf-depthGrid,.pf-spaGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:600px){.pf-shapeGrid,.pf-sizeGrid,.pf-depthGrid,.pf-spaGrid{grid-template-columns:1fr}}.pf-shapeChoice,.pf-sizeChoice,.pf-spaChoice{cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px;transition:all .25s ease;min-height:160px;border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,0.95),rgba(248,250,252,0.9));border:2px solid rgba(15,12,37,.08);box-shadow:0 4px 12px rgba(15,12,37,0.04)}.pf-depthChoice{cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:16px;transition:all .25s ease;min-height:220px;border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,0.95),rgba(248,250,252,0.9));border:2px solid rgba(15,12,37,.08);box-shadow:0 4px 12px rgba(15,12,37,0.04)}.pf-shapeChoice:hover,.pf-sizeChoice:hover,.pf-depthChoice:hover,.pf-spaChoice:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(18,199,194,.12);border-color:rgba(18,199,194,.4);background:linear-gradient(135deg,rgba(255,255,255,1),rgba(18,199,194,0.03))}.pf-shapeChoice.pf-selected,.pf-sizeChoice.pf-selected,.pf-depthChoice.pf-selected,.pf-spaChoice.pf-selected{border-color:#ff7a18;box-shadow:0 16px 40px rgba(255,122,24,.15),0 0 0 4px rgba(255,122,24,0.08);background:linear-gradient(135deg,rgba(255,255,255,1),rgba(18,199,194,0.05),rgba(255,122,24,0.08))}.pf-shapePool{width:100%;height:90px;margin-bottom:12px;filter:drop-shadow(0 4px 12px rgba(18,199,194,.2));transition:filter .2s}.pf-shapeChoice.pf-selected .pf-shapePool{filter:drop-shadow(0 8px 20px rgba(255,122,24,.4))}.pf-shapeLabel strong,.pf-sizeLabel strong,.pf-depthLabel strong,.pf-spaLabel strong{font-size:clamp(16px,2vw,18px);font-weight:800;display:block;margin-bottom:4px;color:#0f0c25}.pf-shapeLabel span,.pf-sizeLabel span,.pf-depthLabel span,.pf-spaLabel span{font-size:12px;color:#5c6470;line-height:1.35}.pf-sizePoolWrap,.pf-spaPoolWrap{display:flex;justify-content:center;align-items:center;height:90px;margin-bottom:12px}.pf-sizePoolWrap svg,.pf-spaPoolWrap svg{filter:drop-shadow(0 4px 12px rgba(18,199,194,.2));transition:filter .2s}.pf-sizeChoice.pf-selected .pf-sizePoolWrap svg,.pf-spaChoice.pf-selected .pf-spaPoolWrap svg{filter:drop-shadow(0 8px 20px rgba(255,122,24,.4))}.pf-depthFigure{width:100%;height:140px;margin-bottom:10px}.pf-fieldRow{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:600px){.pf-fieldRow{grid-template-columns:1fr}}.pf-field{display:flex;flex-direction:column;gap:8px}.pf-field label{font-weight:700;font-size:12px;color:#0f0c25;letter-spacing:.02em}.pf-field input,.pf-field select{font-family:inherit;font-size:15px;padding:14px 16px;border-radius:10px;border:2px solid rgba(15,12,37,.1);outline:none;background:linear-gradient(135deg,#fff,#fafbfc);color:#0f0c25;transition:all .2s}.pf-field input::placeholder{color:#94a3b8}.pf-field input:focus,.pf-field select:focus{border-color:#12c7c2;box-shadow:0 0 0 4px rgba(18,199,194,.12);background:#fff}.pf-field select{cursor:pointer}.pf-cta{margin-top:24px;margin-bottom:16px;text-align:center}.pf-cta button{text-decoration:none;display:inline-flex;padding:16px 36px;border-radius:12px;font-weight:800;font-size:16px;color:#fff;background:linear-gradient(135deg,#ff7a18,#ff9a4a);transition:all .2s;border:none;cursor:pointer;font-family:inherit;letter-spacing:.01em;box-shadow:0 8px 24px rgba(255,122,24,.25)}.pf-cta button:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,122,24,.35)}.pf-err{display:none;margin-bottom:16px;padding:14px 18px;border-radius:12px;border:2px solid rgba(255,122,24,.4);background:linear-gradient(135deg,rgba(255,122,24,.08),rgba(255,122,24,.04));font-size:14px;font-weight:700;text-align:center;color:#0f0c25}.pf-err.pf-show{display:block}.pf-req{color:#ff7a18}.pf-matchFound{text-align:center;padding:20px 0}.pf-matchFound h2{font-size:clamp(28px,4.5vw,42px);font-weight:800;margin-bottom:10px;color:#0f0c25}.pf-matchFound .pf-matchSub{font-size:15px;color:#5c6470;margin-bottom:24px}.pf-matchCard{background:linear-gradient(135deg,rgba(18,199,194,.08),rgba(255,122,24,.06));border:2px solid rgba(18,199,194,.25);border-radius:16px;padding:28px;margin:20px 0;text-align:center}.pf-matchCard .pf-companyName{font-size:clamp(24px,3.5vw,32px);font-weight:800;color:#0f0c25;margin-bottom:6px}.pf-matchCard .pf-companyLocation{font-size:14px;color:#5c6470;margin-bottom:16px}.pf-matchCard .pf-stars{display:flex;justify-content:center;gap:4px;margin-bottom:8px}.pf-matchCard .pf-stars svg{width:24px;height:24px;fill:#facc15}.pf-matchCard .pf-reviewCount{font-size:14px;color:#5c6470;margin-bottom:16px}.pf-matchCard .pf-badges{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}.pf-matchCard .pf-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid rgba(15,12,37,.1);border-radius:999px;font-size:12px;font-weight:600;color:#0f0c25;box-shadow:0 2px 8px rgba(15,12,37,.05)}.pf-matchCard .pf-badge svg{width:16px;height:16px}.pf-unlockForm{background:linear-gradient(135deg,rgba(248,250,252,0.95),rgba(255,255,255,0.9));border:1px solid rgba(18,199,194,.15);border-radius:16px;padding:32px;margin:24px 0;box-shadow:0 8px 24px rgba(15,12,37,0.04)}.pf-unlockForm h3{font-size:20px;font-weight:800;margin-bottom:6px;color:#0f0c25}.pf-unlockForm p{font-size:14px;color:#5c6470;margin-bottom:20px}.pf-cta-buttons{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.pf-cta-btn-large{display:flex;align-items:center;justify-content:center;gap:16px;padding:28px 32px;border-radius:16px;border:none;font-size:20px;font-weight:800;cursor:pointer;transition:all .25s ease;font-family:inherit;width:100%;text-align:center}.pf-cta-btn-large svg{width:32px;height:32px;flex-shrink:0}.pf-cta-btn-large .pf-btn-content{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.pf-cta-btn-large .pf-btn-title{font-size:22px;font-weight:800;line-height:1.2}.pf-cta-btn-large .pf-btn-subtitle{font-size:14px;font-weight:600;opacity:0.9}.pf-cta-onsite{background:linear-gradient(135deg,#12c7c2,#0ea5e9);color:#fff;box-shadow:0 12px 36px rgba(18,199,194,0.35)}.pf-cta-onsite:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(18,199,194,0.45)}.pf-cta-phone{background:linear-gradient(135deg,#ff7a18,#ff9a4a);color:#fff;box-shadow:0 12px 36px rgba(255,122,24,0.35)}.pf-cta-phone:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(255,122,24,0.45)}@media(max-width:600px){.pf-cta-btn-large{padding:24px 20px;flex-direction:column;text-align:center}.pf-cta-btn-large .pf-btn-content{align-items:center}}.pf-matchPopup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,12,37,.6);backdrop-filter:blur(8px);display:none;justify-content:center;align-items:center;z-index:10001;padding:20px}.pf-matchPopup-overlay.pf-show{display:flex;animation:pfFadeIn .3s ease}@keyframes pfFadeIn{from{opacity:0}to{opacity:1}}.pf-matchPopup{background:linear-gradient(135deg,#fff,#fafbfc);border-radius:20px;padding:40px;max-width:560px;width:100%;text-align:center;box-shadow:0 30px 80px rgba(15,12,37,.25);animation:pfSlideUp .4s ease;max-height:90vh;overflow-y:auto}@keyframes pfSlideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.pf-matchPopup .pf-celebIcon{margin-bottom:16px;display:flex;justify-content:center;align-items:center}.pf-matchPopup .pf-celebIcon svg{width:80px;height:50px;filter:drop-shadow(0 4px 12px rgba(18,199,194,.3))}.pf-matchPopup h3{font-size:clamp(32px,5vw,44px);font-weight:800;color:#0f0c25;margin-bottom:10px}.pf-matchPopup .pf-matchSubtitle{font-size:16px;font-weight:600;color:#5c6470;margin-bottom:28px}.pf-matchPopup .pf-matchCardMini{background:linear-gradient(135deg,rgba(18,199,194,.12),rgba(255,122,24,.1));border:1px solid rgba(18,199,194,.25);border-radius:16px;padding:28px;margin-bottom:32px}.pf-matchPopup .pf-matchCardMini .pf-companyName{font-size:clamp(24px,4vw,36px);font-weight:800;color:#0f0c25;margin-bottom:8px}.pf-matchPopup .pf-matchCardMini .pf-companyLocation{font-size:15px;font-weight:600;color:#5c6470;margin-bottom:14px}.pf-matchPopup .pf-matchCardMini .pf-starsRow{display:flex;justify-content:center;align-items:center;gap:12px}.pf-matchPopup .pf-matchCardMini .pf-stars{display:flex;gap:3px}.pf-matchPopup .pf-matchCardMini .pf-stars svg{width:26px;height:26px;fill:#facc15}.pf-matchPopup .pf-matchCardMini .pf-reviewCount{font-size:16px;font-weight:700;color:#5c6470}.pf-actionBtn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;border-radius:16px;border:none;background:linear-gradient(135deg,#12c7c2,#0ea5e9);cursor:pointer;transition:all .2s;color:#fff;font-family:inherit;width:100%;box-shadow:0 10px 28px rgba(18,199,194,.3);animation:pfGrowIn 0.6s ease forwards}@keyframes pfGrowIn{from{transform:scale(0.7);opacity:0}to{transform:scale(1);opacity:1}}.pf-actionBtn:hover{transform:scale(1.03);box-shadow:0 14px 36px rgba(18,199,194,.4)}.pf-actionBtn .pf-actionIcon{margin-bottom:10px}.pf-actionBtn .pf-actionIcon svg{width:36px;height:36px}.pf-actionBtn .pf-actionTitle{font-size:20px;font-weight:800;margin-bottom:4px}.pf-actionBtn .pf-actionDesc{font-size:14px;font-weight:600;opacity:.9}.pf-matchPopup .pf-closeText{margin-top:20px;font-size:15px;font-weight:700;color:#94a3b8;cursor:pointer;transition:color .2s}.pf-matchPopup .pf-closeText:hover{color:#0f0c25}.pf-cal-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,12,37,.7);backdrop-filter:blur(8px);display:none;justify-content:center;align-items:center;z-index:10002;padding:20px}.pf-cal-popup-overlay.pf-show{display:flex;animation:pfFadeIn .3s ease}.pf-cal-popup{background:#fff;border-radius:16px;width:100%;max-width:700px;height:85vh;max-height:750px;overflow:hidden;box-shadow:0 30px 80px rgba(15,12,37,.3);animation:pfSlideUp .4s ease;position:relative}.pf-cal-popup-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(15,12,37,.1);background:linear-gradient(135deg,#f8fafc,#fff)}.pf-cal-popup-header h4{margin:0;font-size:18px;font-weight:700;color:#0f0c25}.pf-cal-popup-close{width:36px;height:36px;border-radius:50%;border:none;background:rgba(15,12,37,.08);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.pf-cal-popup-close:hover{background:rgba(15,12,37,.15);transform:scale(1.1)}.pf-cal-popup-close svg{width:20px;height:20px;fill:#5c6470}.pf-cal-popup-body{width:100%;height:calc(100% - 60px)}.pf-cal-popup-body iframe{width:100%;height:100%;border:none}.pf-sending{opacity:0.7;pointer-events:none}.pf-success-msg{display:none;padding:12px 16px;background:linear-gradient(135deg,rgba(34,197,94,0.1),rgba(34,197,94,0.05));border:1px solid rgba(34,197,94,0.3);border-radius:10px;color:#166534;font-size:13px;font-weight:600;margin-top:12px;text-align:center}.pf-success-msg.pf-show{display:block}<\/style><svg width=\"0\" height=\"0\" style=\"position:absolute\"><defs><linearGradient id=\"pfPoolGrad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\"><stop offset=\"0%\" stop-color=\"#12c7c2\"\/><stop offset=\"100%\" stop-color=\"#0ea5e9\"\/><\/linearGradient><linearGradient id=\"pfDuckYellow\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\"><stop offset=\"0%\" stop-color=\"#fde047\"\/><stop offset=\"100%\" stop-color=\"#facc15\"\/><\/linearGradient><linearGradient id=\"pfWaterShallow\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\"><stop offset=\"0%\" stop-color=\"#7dd3fc\" stop-opacity=\"0.8\"\/><stop offset=\"100%\" stop-color=\"#38bdf8\" stop-opacity=\"0.9\"\/><\/linearGradient><linearGradient id=\"pfWaterMedium\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\"><stop offset=\"0%\" stop-color=\"#38bdf8\" stop-opacity=\"0.8\"\/><stop offset=\"100%\" stop-color=\"#0284c7\" stop-opacity=\"0.9\"\/><\/linearGradient><linearGradient id=\"pfWaterDeep\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\"><stop offset=\"0%\" stop-color=\"#0284c7\" stop-opacity=\"0.85\"\/><stop offset=\"100%\" stop-color=\"#0c4a6e\" stop-opacity=\"0.95\"\/><\/linearGradient><linearGradient id=\"pfHotTubPink\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\"><stop offset=\"0%\" stop-color=\"#fbcfe8\"\/><stop offset=\"100%\" stop-color=\"#f472b6\"\/><\/linearGradient><\/defs><\/svg><div class=\"pf-wrap\"><div class=\"pf-main\"><a href=\"https:\/\/www.buildapoolstgeorge.com\" class=\"pf-logo-btn\" target=\"_blank\" title=\"Build a Pool St. George - Home\"><img decoding=\"async\" src=\"https:\/\/buildapoolstgeorge.com\/wp-content\/uploads\/2025\/12\/cropped-Logo-for-Build-a-Pool-1-e1766439767308.webp\" alt=\"Build a Pool St. George\"><\/a><div class=\"pf-header\"><h1>Design Your <span class=\"pf-gradient-text\">Dream Pool<\/span><\/h1><p class=\"pf-sub\">Get matched with top-rated contractors in Southern Utah & Mesquite<\/p><div class=\"pf-pill\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"\/><\/svg>\r\n        St. George \u2022 Washington \u2022 Hurricane \u2022 Ivins \u2022 Mesquite\r\n      <\/div><\/div><div class=\"pf-card\"><div class=\"pf-topbar\"><div class=\"pf-progressWrap\"><div class=\"pf-progressMeta\"><strong id=\"pfStepLabel\">Step 1 of 5<\/strong><span id=\"pfProgressPct\">0%<\/span><\/div><div class=\"pf-bar\"><div id=\"pfBarFill\"><\/div><\/div><\/div><div class=\"pf-steps\"><button class=\"pf-navBtn\" id=\"pfBackBtn\">\u2190 Back<\/button><\/div><\/div><div class=\"pf-body\"><div class=\"pf-err\" id=\"pfErrBox\">Please make a selection to continue.<\/div><section class=\"pf-step pf-active\" data-step=\"1\"><div class=\"pf-qTitle\"><h2>What Shape Speaks To You?<\/h2><div class=\"pf-hint\">Pick one that matches your vibe<\/div><\/div><div class=\"pf-shapeGrid\"><div class=\"pf-shapeChoice\" data-value=\"Rectangle\"><svg class=\"pf-shapePool\" viewBox=\"0 0 200 120\"><rect x=\"15\" y=\"15\" width=\"170\" height=\"90\" rx=\"12\" fill=\"url(#pfPoolGrad)\"\/><\/svg><div class=\"pf-shapeLabel\"><strong>Rectangle<\/strong><span>For laps and spice-alphabetizers.<\/span><\/div><\/div><div class=\"pf-shapeChoice\" data-value=\"Freeform\"><svg class=\"pf-shapePool\" viewBox=\"0 0 200 120\"><path d=\"M100,15 C155,5 185,35 175,65 C165,95 125,110 85,100 C45,90 25,70 35,45 C45,20 70,25 100,15 Z\" fill=\"url(#pfPoolGrad)\"\/><\/svg><div class=\"pf-shapeLabel\"><strong>Freeform \/ Kidney<\/strong><span>Desert oasis energy.<\/span><\/div><\/div><div class=\"pf-shapeChoice\" data-value=\"Oval\"><svg class=\"pf-shapePool\" viewBox=\"0 0 200 120\"><ellipse cx=\"100\" cy=\"60\" rx=\"85\" ry=\"45\" fill=\"url(#pfPoolGrad)\"\/><\/svg><div class=\"pf-shapeLabel\"><strong>Oval \/ Ellipse<\/strong><span>All curves, no regrets.<\/span><\/div><\/div><div class=\"pf-shapeChoice\" data-value=\"L-Shape\"><svg class=\"pf-shapePool\" viewBox=\"0 0 200 120\"><path d=\"M25,15 Q20,15 20,20 L20,100 Q20,105 25,105 L170,105 Q175,105 175,100 L175,60 Q175,55 170,55 L115,55 Q110,55 110,50 L110,20 Q110,15 105,15 Z\" fill=\"url(#pfPoolGrad)\"\/><\/svg><div class=\"pf-shapeLabel\"><strong>L-Shape<\/strong><span>Party + meditation zones.<\/span><\/div><\/div><\/div><\/section><section class=\"pf-step\" data-step=\"2\"><div class=\"pf-qTitle\"><h2>How Big Are We Talking?<\/h2><div class=\"pf-hint\">Your backyard will have opinions too<\/div><\/div><div class=\"pf-sizeGrid\"><div class=\"pf-sizeChoice\" data-value=\"Small\"><div class=\"pf-sizePoolWrap\" id=\"pfSizeSmallWrap\"><\/div><div class=\"pf-sizeLabel\"><strong>Small<\/strong><span>Compact but still cannonball-capable.<\/span><\/div><\/div><div class=\"pf-sizeChoice\" data-value=\"Medium\"><div class=\"pf-sizePoolWrap\" id=\"pfSizeMediumWrap\"><\/div><div class=\"pf-sizeLabel\"><strong>Medium<\/strong><span>The Goldilocks zone. Just right.<\/span><\/div><\/div><div class=\"pf-sizeChoice\" data-value=\"Large\"><div class=\"pf-sizePoolWrap\" id=\"pfSizeLargeWrap\"><\/div><div class=\"pf-sizeLabel\"><strong>Large<\/strong><span>Room for laps and gentle bragging.<\/span><\/div><\/div><div class=\"pf-sizeChoice\" data-value=\"Not sure\"><div class=\"pf-sizePoolWrap\"><svg width=\"70\" height=\"80\" viewBox=\"0 0 100 120\"><path d=\"M30,8 C30,2 38,0 50,0 C72,0 85,8 85,25 C85,40 75,48 62,52 C58,54 55,56 55,62 L55,68 C55,72 52,75 48,75 L42,75 C38,75 35,72 35,68 L35,58 C35,48 42,42 52,38 C60,35 65,30 65,24 C65,16 58,12 50,12 C42,12 38,16 38,22 L38,26 C38,30 35,33 31,33 L25,33 C21,33 18,30 18,26 L18,22 C18,10 28,8 30,8 Z M35,90 C35,82 42,78 50,78 C58,78 65,82 65,92 C65,102 58,108 50,108 C42,108 35,100 35,90 Z\" fill=\"url(#pfPoolGrad)\"\/><\/svg><\/div><div class=\"pf-sizeLabel\"><strong>Not Sure Yet<\/strong><span>Your yard will decide for us.<\/span><\/div><\/div><\/div><\/section><section class=\"pf-step\" data-step=\"3\"><div class=\"pf-qTitle\"><h2>How Deep Do You Want To Go?<\/h2><div class=\"pf-hint\">Think about who's swimming<\/div><\/div><div class=\"pf-depthGrid\"><div class=\"pf-depthChoice\" data-value=\"Shallow\"><svg class=\"pf-depthFigure\" viewBox=\"0 0 120 160\"><rect x=\"10\" y=\"150\" width=\"100\" height=\"10\" fill=\"#a8d4ea\" rx=\"2\"\/><rect x=\"10\" y=\"95\" width=\"100\" height=\"55\" fill=\"url(#pfWaterShallow)\" rx=\"2\"\/><ellipse cx=\"60\" cy=\"30\" rx=\"12\" ry=\"14\" fill=\"#f5d0c5\"\/><path d=\"M48,26 Q48,14 60,12 Q72,14 72,26\" fill=\"#d4a853\"\/><ellipse cx=\"55\" cy=\"28\" rx=\"1.8\" ry=\"2\" fill=\"#5c4033\"\/><ellipse cx=\"65\" cy=\"28\" rx=\"1.8\" ry=\"2\" fill=\"#5c4033\"\/><path d=\"M57,34 Q60,37 63,34\" fill=\"none\" stroke=\"#a67c5b\" stroke-width=\"1.2\"\/><rect x=\"56\" y=\"42\" width=\"8\" height=\"6\" fill=\"#f0c4b5\"\/><path d=\"M44,48 L76,48 L78,95 L42,95 Z\" fill=\"#f0c4b5\"\/><path d=\"M44,52 Q32,48 22,42\" stroke=\"#f0c4b5\" stroke-width=\"8\" stroke-linecap=\"round\"\/><ellipse cx=\"20\" cy=\"40\" rx=\"5\" ry=\"5.5\" fill=\"#f0c4b5\"\/><path d=\"M76,52 Q88,48 98,42\" stroke=\"#f0c4b5\" stroke-width=\"8\" stroke-linecap=\"round\"\/><ellipse cx=\"100\" cy=\"40\" rx=\"5\" ry=\"5.5\" fill=\"#f0c4b5\"\/><ellipse cx=\"60\" cy=\"92\" rx=\"38\" ry=\"12\" fill=\"url(#pfDuckYellow)\" stroke=\"#eab308\" stroke-width=\"2\"\/><ellipse cx=\"18\" cy=\"82\" rx=\"12\" ry=\"10\" fill=\"url(#pfDuckYellow)\"\/><path d=\"M6,84 L12,82 L12,86 Z\" fill=\"#f97316\"\/><circle cx=\"16\" cy=\"79\" r=\"3\" fill=\"#1e293b\"\/><\/svg><div class=\"pf-depthLabel\"><strong>Shallow<\/strong><span>3-4 ft. Resort vibes only.<\/span><\/div><\/div><div class=\"pf-depthChoice\" data-value=\"Gradual\"><svg class=\"pf-depthFigure\" viewBox=\"0 0 120 160\"><rect x=\"10\" y=\"150\" width=\"100\" height=\"10\" fill=\"#7cb8d4\" rx=\"2\"\/><rect x=\"10\" y=\"68\" width=\"100\" height=\"82\" fill=\"url(#pfWaterMedium)\" rx=\"2\"\/><ellipse cx=\"60\" cy=\"30\" rx=\"12\" ry=\"14\" fill=\"#f5d0c5\"\/><path d=\"M48,26 Q48,14 60,12 Q72,14 72,26\" fill=\"#d4a853\"\/><ellipse cx=\"55\" cy=\"28\" rx=\"1.8\" ry=\"2\" fill=\"#5c4033\"\/><ellipse cx=\"65\" cy=\"28\" rx=\"1.8\" ry=\"2\" fill=\"#5c4033\"\/><path d=\"M57,34 Q60,36 63,34\" fill=\"none\" stroke=\"#a67c5b\" stroke-width=\"1.2\"\/><rect x=\"56\" y=\"42\" width=\"8\" height=\"6\" fill=\"#f0c4b5\"\/><path d=\"M44,48 L76,48 L76,68 L44,68 Z\" fill=\"#f0c4b5\"\/><path d=\"M44,52 Q34,54 26,58\" stroke=\"#f0c4b5\" stroke-width=\"7\" stroke-linecap=\"round\"\/><ellipse cx=\"24\" cy=\"60\" rx=\"4.5\" ry=\"5\" fill=\"#f0c4b5\"\/><path d=\"M76,52 Q86,54 94,58\" stroke=\"#f0c4b5\" stroke-width=\"7\" stroke-linecap=\"round\"\/><ellipse cx=\"96\" cy=\"60\" rx=\"4.5\" ry=\"5\" fill=\"#f0c4b5\"\/><ellipse cx=\"60\" cy=\"66\" rx=\"40\" ry=\"10\" fill=\"url(#pfDuckYellow)\" stroke=\"#eab308\" stroke-width=\"2\"\/><ellipse cx=\"15\" cy=\"56\" rx=\"12\" ry=\"10\" fill=\"url(#pfDuckYellow)\"\/><path d=\"M3,58 L9,56 L9,60 Z\" fill=\"#f97316\"\/><circle cx=\"13\" cy=\"53\" r=\"3\" fill=\"#1e293b\"\/><\/svg><div class=\"pf-depthLabel\"><strong>Gradual Slope<\/strong><span>3.5-5.5 ft. Diplomacy depth.<\/span><\/div><\/div><div class=\"pf-depthChoice\" data-value=\"Deep\"><svg class=\"pf-depthFigure\" viewBox=\"0 0 120 160\"><rect x=\"10\" y=\"155\" width=\"100\" height=\"5\" fill=\"#0c4a6e\" rx=\"2\"\/><rect x=\"10\" y=\"55\" width=\"100\" height=\"100\" fill=\"url(#pfWaterDeep)\" rx=\"2\"\/><ellipse cx=\"60\" cy=\"58\" rx=\"42\" ry=\"14\" fill=\"url(#pfDuckYellow)\" stroke=\"#eab308\" stroke-width=\"2\"\/><ellipse cx=\"12\" cy=\"45\" rx=\"13\" ry=\"11\" fill=\"url(#pfDuckYellow)\"\/><path d=\"M-2,48 L6,45 L6,50 Z\" fill=\"#f97316\"\/><circle cx=\"10\" cy=\"42\" r=\"3\" fill=\"#1e293b\"\/><ellipse cx=\"60\" cy=\"30\" rx=\"12\" ry=\"14\" fill=\"#f5d0c5\"\/><path d=\"M48,26 Q48,14 60,12 Q72,14 72,26\" fill=\"#d4a853\"\/><ellipse cx=\"55\" cy=\"28\" rx=\"1.8\" ry=\"2\" fill=\"#5c4033\"\/><ellipse cx=\"65\" cy=\"28\" rx=\"1.8\" ry=\"2\" fill=\"#5c4033\"\/><path d=\"M55,34 Q60,38 65,34\" fill=\"none\" stroke=\"#a67c5b\" stroke-width=\"1.2\"\/><rect x=\"56\" y=\"42\" width=\"8\" height=\"5\" fill=\"#f0c4b5\"\/><path d=\"M46,47 L74,47 L76,58 L44,58 Z\" fill=\"#f0c4b5\"\/><path d=\"M44,52 Q28,46 16,48\" stroke=\"#f0c4b5\" stroke-width=\"7\" stroke-linecap=\"round\"\/><ellipse cx=\"14\" cy=\"49\" rx=\"5\" ry=\"5\" fill=\"#f0c4b5\"\/><path d=\"M76,52 Q92,46 104,48\" stroke=\"#f0c4b5\" stroke-width=\"7\" stroke-linecap=\"round\"\/><ellipse cx=\"106\" cy=\"49\" rx=\"5\" ry=\"5\" fill=\"#f0c4b5\"\/><\/svg><div class=\"pf-depthLabel\"><strong>Deep End<\/strong><span>6-8 ft. Swimmers only.<\/span><\/div><\/div><div class=\"pf-depthChoice\" data-value=\"Not sure\"><svg class=\"pf-depthFigure\" viewBox=\"0 0 120 160\"><rect x=\"10\" y=\"145\" width=\"100\" height=\"15\" fill=\"#d4d4d4\" rx=\"3\"\/><ellipse cx=\"60\" cy=\"38\" rx=\"13\" ry=\"15\" fill=\"#f5d0c5\"\/><path d=\"M47,34 Q47,20 60,18 Q73,20 73,34\" fill=\"#d4a853\"\/><ellipse cx=\"54\" cy=\"36\" rx=\"2\" ry=\"2.2\" fill=\"#5c4033\"\/><ellipse cx=\"66\" cy=\"36\" rx=\"2\" ry=\"2.2\" fill=\"#5c4033\"\/><text x=\"82\" y=\"34\" font-size=\"24\" font-weight=\"bold\" fill=\"#ff7a18\">?<\/text><path d=\"M54,46 Q60,44 66,46\" fill=\"none\" stroke=\"#a67c5b\" stroke-width=\"1.2\"\/><rect x=\"55\" y=\"52\" width=\"10\" height=\"8\" fill=\"#f0c4b5\"\/><path d=\"M42,60 L78,60 L80,108 L40,108 Z\" fill=\"#f0c4b5\"\/><path d=\"M42,64 Q30,54 24,44\" stroke=\"#f0c4b5\" stroke-width=\"8\" stroke-linecap=\"round\"\/><ellipse cx=\"22\" cy=\"42\" rx=\"5.5\" ry=\"6\" fill=\"#f0c4b5\"\/><path d=\"M78,64 Q90,54 96,44\" stroke=\"#f0c4b5\" stroke-width=\"8\" stroke-linecap=\"round\"\/><ellipse cx=\"98\" cy=\"42\" rx=\"5.5\" ry=\"6\" fill=\"#f0c4b5\"\/><path d=\"M42,108 L46,135 L57,135 L60,118 L63,135 L74,135 L78,108 Z\" fill=\"#1e3a5f\"\/><rect x=\"46\" y=\"135\" width=\"12\" height=\"10\" fill=\"#f0c4b5\" rx=\"2\"\/><rect x=\"62\" y=\"135\" width=\"12\" height=\"10\" fill=\"#f0c4b5\" rx=\"2\"\/><\/svg><div class=\"pf-depthLabel\"><strong>Not Sure<\/strong><span>Let the pro recommend.<\/span><\/div><\/div><\/div><\/section><section class=\"pf-step\" data-step=\"4\"><div class=\"pf-qTitle\"><h2>Add A Hot Tub?<\/h2><div class=\"pf-hint\">Winter is real, even in Utah<\/div><\/div><div class=\"pf-spaGrid\"><div class=\"pf-spaChoice\" data-value=\"Spillover\"><div class=\"pf-spaPoolWrap\" id=\"pfSpaSpilloverWrap\"><\/div><div class=\"pf-spaLabel\"><strong>Yes \u2014 Spillover<\/strong><span>Connected to the pool. Very fancy.<\/span><\/div><\/div><div class=\"pf-spaChoice\" data-value=\"No\"><div class=\"pf-spaPoolWrap\"><svg width=\"90\" height=\"90\" viewBox=\"0 0 120 120\"><ellipse cx=\"60\" cy=\"60\" rx=\"30\" ry=\"20\" fill=\"url(#pfPoolGrad)\"\/><circle cx=\"60\" cy=\"60\" r=\"45\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"5\"\/><line x1=\"28\" y1=\"28\" x2=\"92\" y2=\"92\" stroke=\"#ef4444\" stroke-width=\"5\" stroke-linecap=\"round\"\/><\/svg><\/div><div class=\"pf-spaLabel\"><strong>No Thanks<\/strong><span>All swim, no simmer.<\/span><\/div><\/div><div class=\"pf-spaChoice\" data-value=\"Maybe\"><div class=\"pf-spaPoolWrap\" id=\"pfSpaMaybeWrap\"><\/div><div class=\"pf-spaLabel\"><strong>Maybe<\/strong><span>Price it both ways, please.<\/span><\/div><\/div><div class=\"pf-spaChoice\" data-value=\"Separate\"><div class=\"pf-spaPoolWrap\"><svg width=\"90\" height=\"90\" viewBox=\"0 0 120 120\"><circle cx=\"60\" cy=\"60\" r=\"45\" fill=\"rgba(34,197,94,.12)\" stroke=\"#22c55e\" stroke-width=\"3\"\/><ellipse cx=\"60\" cy=\"60\" rx=\"28\" ry=\"18\" fill=\"url(#pfPoolGrad)\"\/><circle cx=\"45\" cy=\"58\" r=\"2.5\" fill=\"#fff\" opacity=\"0.6\"\/><circle cx=\"60\" cy=\"56\" r=\"2.5\" fill=\"#fff\" opacity=\"0.6\"\/><circle cx=\"75\" cy=\"58\" r=\"2.5\" fill=\"#fff\" opacity=\"0.6\"\/><path d=\"M50,44 Q48,40 50,36\" fill=\"none\" stroke=\"#94a3b8\" stroke-width=\"2\" stroke-linecap=\"round\"\/><path d=\"M60,42 Q58,38 60,34\" fill=\"none\" stroke=\"#94a3b8\" stroke-width=\"2\" stroke-linecap=\"round\"\/><path d=\"M70,44 Q68,40 70,36\" fill=\"none\" stroke=\"#94a3b8\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg><\/div><div class=\"pf-spaLabel\"><strong>Yes \u2014 Separate<\/strong><span>Standalone. Flexible placement.<\/span><\/div><\/div><\/div><\/section><section class=\"pf-step\" data-step=\"5\"><div class=\"pf-matchFound\"><p style=\"font-size:clamp(18px,3vw,24px);font-weight:700;color:#0f0c25;margin-bottom:8px\">\ud83c\udf89 Great News!<\/p><h2>We've Matched You With a Builder!<\/h2><p class=\"pf-matchSub\">Based on your preferences, we've matched you with a top-rated pool contractor in your area.<\/p><div class=\"pf-unlockForm\" id=\"pfUnlockForm\"><h3 style=\"text-transform:none\">See Your Match<\/h3><p>Enter your details below to reveal your matched contractor and get a free quote.<\/p><div class=\"pf-fieldRow\"><div class=\"pf-field\"><label>Your Name <span class=\"pf-req\">*<\/span><\/label><input id=\"pfName\" placeholder=\"First and last\" required\/><\/div><div class=\"pf-field\"><label>Phone <span class=\"pf-req\">*<\/span><\/label><input id=\"pfPhone\" type=\"tel\" placeholder=\"(###) ###-####\" required\/><\/div><\/div><div class=\"pf-fieldRow\" style=\"margin-top:16px\"><div class=\"pf-field\"><label>Email <span class=\"pf-req\">*<\/span><\/label><input id=\"pfEmail\" type=\"email\" placeholder=\"you@email.com\" required\/><\/div><div class=\"pf-field\"><label>City<\/label><select id=\"pfCity\"><option value=\"\">Select your city...<\/option><option>St. George<\/option><option>Washington<\/option><option>Hurricane<\/option><option>Ivins<\/option><option>Mesquite<\/option><option>Other<\/option><\/select><\/div><\/div><div class=\"pf-cta\" style=\"margin-top:24px\"><button id=\"pfRevealBtn\">Reveal My Match \u2192<\/button><\/div><div class=\"pf-success-msg\" id=\"pfSuccessMsg\">\u2713 Your information has been sent! We'll be in touch soon.<\/div><\/div><div id=\"pfMatchResult\" style=\"display:none\"><div class=\"pf-cta-buttons\"><p style=\"font-size:18px;font-weight:800;color:#0f0c25;margin-bottom:8px;text-align:center\">\ud83d\ude80 Ready to Get Started? Book Your FREE Consultation!<\/p><button class=\"pf-cta-btn-large pf-cta-onsite\" id=\"pfResultOnsiteBtn\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zM9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm-8 4H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2z\"\/><\/svg><div class=\"pf-btn-content\"><span class=\"pf-btn-title\">\ud83d\udccd Schedule On-Site Estimate<\/span><span class=\"pf-btn-subtitle\">We'll come to your home \u2014 completely FREE!<\/span><\/div><\/button><button class=\"pf-cta-btn-large pf-cta-phone\" id=\"pfResultPhoneBtn\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z\"\/><\/svg><div class=\"pf-btn-content\"><span class=\"pf-btn-title\">\ud83d\udcde Schedule Phone Consultation<\/span><span class=\"pf-btn-subtitle\">Quick call to discuss your dream pool<\/span><\/div><\/button><\/div><p style=\"font-size:14px;color:#5c6470;text-align:center;margin-bottom:12px\">Your Recommended Builder:<\/p><div class=\"pf-matchCard\"><div class=\"pf-companyName\" id=\"pfCompanyName\">Complete Pools<\/div><div class=\"pf-companyLocation\" id=\"pfCompanyLocation\">\ud83d\udccd St. George, Utah<\/div><div class=\"pf-stars\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/div><div class=\"pf-reviewCount\" id=\"pfReviewCount\"><strong>53 Five-Star Reviews<\/strong> on Google<\/div><div class=\"pf-badges\"><span class=\"pf-badge\"><svg viewBox=\"0 0 24 24\" fill=\"#22c55e\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg>Local Contractors<\/span><span class=\"pf-badge\"><svg viewBox=\"0 0 24 24\" fill=\"#3b82f6\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\/><\/svg>Licensed & Insured<\/span><span class=\"pf-badge\"><svg viewBox=\"0 0 24 24\" fill=\"#ff7a18\"><path d=\"M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z\"\/><\/svg>Financing Available<\/span><\/div><\/div><\/div><\/div><\/section><\/div><\/div><\/div><div class=\"pf-sidebar pf-hidden\" id=\"pfSidebar\"><div class=\"pf-priceBox\"><div class=\"pf-priceKicker\">Your Estimate<\/div><div class=\"pf-priceLabel\">Monthly Payment<\/div><div class=\"pf-priceRow\"><div class=\"pf-priceAmount\" id=\"pfPriceMonthly\">$0<\/div><div class=\"pf-pricePer\">\/mo<\/div><\/div><span class=\"pf-mobileSelections\" id=\"pfMobileSelections\"><\/span><div class=\"pf-selectionsGrid\" id=\"pfSelectionsGrid\"><div class=\"pf-emptyState\">Make selections to see your estimate<\/div><\/div><div class=\"pf-priceEquity\">\ud83d\udc8e Pools add 5-8% to home value<\/div><div class=\"pf-priceDisclaimer\">Estimate only. Final quote after site visit.<\/div><\/div><\/div><\/div><div class=\"pf-matchPopup-overlay\" id=\"pfMatchPopupOverlay\"><div class=\"pf-matchPopup\"><div class=\"pf-celebIcon\" id=\"pfPopupPoolIcon\"><\/div><h3>You've Been Matched!<\/h3><p class=\"pf-matchSubtitle\">Based on your preferences, here's your perfect pool builder<\/p><div class=\"pf-matchCardMini\"><div class=\"pf-companyName\" id=\"pfPopupCompanyName\">Complete Pools<\/div><div class=\"pf-companyLocation\" id=\"pfPopupCompanyLocation\">\ud83d\udccd St. George, Utah<\/div><div class=\"pf-starsRow\"><div class=\"pf-stars\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><svg viewBox=\"0 0 24 24\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg><\/div><span class=\"pf-reviewCount\" id=\"pfPopupReviewCount\">53 reviews<\/span><\/div><\/div><p style=\"font-size:clamp(20px,3vw,28px);font-weight:800;margin-bottom:20px;background:linear-gradient(90deg,#12c7c2,#ff7a18);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text\">Take the Next Step<\/p><button class=\"pf-actionBtn\" id=\"pfActionScheduleOnsite\"><div class=\"pf-actionIcon\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zM9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm-8 4H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2z\"\/><\/svg><\/div><div class=\"pf-actionTitle\">Schedule Your On-Site Estimate!<\/div><div class=\"pf-actionDesc\">Free in-person consultation at your home<\/div><\/button><div class=\"pf-closeText\" id=\"pfClosePopup\">Maybe later<\/div><\/div><\/div><div class=\"pf-cal-popup-overlay\" id=\"pfCalOnsiteOverlay\"><div class=\"pf-cal-popup\"><div class=\"pf-cal-popup-header\"><h4>Schedule Your On-Site Estimate<\/h4><button class=\"pf-cal-popup-close\" id=\"pfCalOnsiteClose\"><svg viewBox=\"0 0 24 24\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\/><\/svg><\/button><\/div><div class=\"pf-cal-popup-body\"><iframe id=\"pfCalOnsiteIframe\" src=\"\" allow=\"payment\"><\/iframe><\/div><\/div><\/div><div class=\"pf-cal-popup-overlay\" id=\"pfCalPhoneOverlay\"><div class=\"pf-cal-popup\"><div class=\"pf-cal-popup-header\"><h4>Schedule Your Phone Consultation<\/h4><button class=\"pf-cal-popup-close\" id=\"pfCalPhoneClose\"><svg viewBox=\"0 0 24 24\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\/><\/svg><\/button><\/div><div class=\"pf-cal-popup-body\"><iframe id=\"pfCalPhoneIframe\" src=\"\" allow=\"payment\"><\/iframe><\/div><\/div><\/div><script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@emailjs\/browser@4\/dist\/email.min.js\"><\/script><script> emailjs.init('eXqmPL4WTc5a7RuJu');<\/script><script>\r\n(function(){\r\n  var totalSteps=5, step=1;\r\n  var state={shape:'',size:'',depth:'',spa:'',name:'',phone:'',city:'',email:''};\r\n  var steps=document.querySelectorAll('.pf-step');\r\n  var backBtn=document.getElementById('pfBackBtn'), errBox=document.getElementById('pfErrBox');\r\n  var stepLabel=document.getElementById('pfStepLabel'), progressPct=document.getElementById('pfProgressPct'), barFill=document.getElementById('pfBarFill');\r\n  var priceMonthly=document.getElementById('pfPriceMonthly');\r\n  var selectionsGrid=document.getElementById('pfSelectionsGrid');\r\n  var mobileSelections=document.getElementById('pfMobileSelections');\r\n  var sidebar=document.getElementById('pfSidebar');\r\n  var unlockForm=document.getElementById('pfUnlockForm'), matchResult=document.getElementById('pfMatchResult'), revealBtn=document.getElementById('pfRevealBtn');\r\n  var matchPopupOverlay=document.getElementById('pfMatchPopupOverlay');\r\n  var calOnsiteOverlay=document.getElementById('pfCalOnsiteOverlay');\r\n  var calOnsiteIframe=document.getElementById('pfCalOnsiteIframe');\r\n  var calOnsiteClose=document.getElementById('pfCalOnsiteClose');\r\n  var calPhoneOverlay=document.getElementById('pfCalPhoneOverlay');\r\n  var calPhoneIframe=document.getElementById('pfCalPhoneIframe');\r\n  var calPhoneClose=document.getElementById('pfCalPhoneClose');\r\n  var successMsg=document.getElementById('pfSuccessMsg');\r\n\r\n  var popupPoolShapes={\r\n    'Rectangle':'<svg viewBox=\"0 0 200 120\"><rect x=\"15\" y=\"15\" width=\"170\" height=\"90\" rx=\"12\" fill=\"url(#pfPoolGrad)\"\/><\/svg>',\r\n    'Freeform':'<svg viewBox=\"0 0 200 120\"><path d=\"M100,15 C155,5 185,35 175,65 C165,95 125,110 85,100 C45,90 25,70 35,45 C45,20 70,25 100,15 Z\" fill=\"url(#pfPoolGrad)\"\/><\/svg>',\r\n    'Oval':'<svg viewBox=\"0 0 200 120\"><ellipse cx=\"100\" cy=\"60\" rx=\"85\" ry=\"45\" fill=\"url(#pfPoolGrad)\"\/><\/svg>',\r\n    'L-Shape':'<svg viewBox=\"0 0 200 120\"><path d=\"M25,15 Q20,15 20,20 L20,100 Q20,105 25,105 L170,105 Q175,105 175,100 L175,60 Q175,55 170,55 L115,55 Q110,55 110,50 L110,20 Q110,15 105,15 Z\" fill=\"url(#pfPoolGrad)\"\/><\/svg>'\r\n  };\r\n\r\n  var poolCompany={\r\n    name:'Complete Pools',\r\n    location:'St. George, Utah',\r\n    reviews:53,\r\n    calLinkOnsite:'https:\/\/cal.com\/team\/buildapoolstgeorge\/pool-consultation',\r\n    calLinkPhone:'https:\/\/cal.com\/team\/buildapoolstgeorge\/phone-consultation'\r\n  };\r\n\r\n  var onsiteCalUrl='', phoneCalUrl='';\r\n\r\n  var prices={\r\n    shape:{Rectangle:30000,Freeform:35000,Oval:30000,'L-Shape':40000},\r\n    size:{Small:10000,Medium:20000,Large:30000,'Not sure':20000},\r\n    depth:{Shallow:5000,Gradual:15000,Deep:25000,'Not sure':15000},\r\n    spa:{Spillover:25000,No:0,Maybe:0,Separate:35000}\r\n  };\r\n\r\n  var shapePaths={\r\n    'Rectangle':'<rect x=\"15\" y=\"15\" width=\"170\" height=\"90\" rx=\"12\" fill=\"url(#pfPoolGrad)\"\/>',\r\n    'Freeform':'<path d=\"M100,15 C155,5 185,35 175,65 C165,95 125,110 85,100 C45,90 25,70 35,45 C45,20 70,25 100,15 Z\" fill=\"url(#pfPoolGrad)\"\/>',\r\n    'Oval':'<ellipse cx=\"100\" cy=\"60\" rx=\"85\" ry=\"45\" fill=\"url(#pfPoolGrad)\"\/>',\r\n    'L-Shape':'<path d=\"M25,15 Q20,15 20,20 L20,100 Q20,105 25,105 L170,105 Q175,105 175,100 L175,60 Q175,55 170,55 L115,55 Q110,55 110,50 L110,20 Q110,15 105,15 Z\" fill=\"url(#pfPoolGrad)\"\/>'\r\n  };\r\n\r\n  var spaSpilloverPaths={\r\n    'Rectangle':'<rect x=\"25\" y=\"35\" width=\"100\" height=\"55\" rx=\"8\" fill=\"url(#pfPoolGrad)\"\/><rect x=\"125\" y=\"35\" width=\"40\" height=\"40\" rx=\"6\" fill=\"url(#pfHotTubPink)\"\/><circle cx=\"137\" cy=\"50\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"153\" cy=\"50\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"145\" cy=\"62\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/>',\r\n    'Freeform':'<path d=\"M85,25 C120,20 138,38 132,56 C126,74 100,82 72,77 C44,72 32,60 38,45 C44,30 62,30 85,25 Z\" fill=\"url(#pfPoolGrad)\"\/><ellipse cx=\"148\" cy=\"45\" rx=\"22\" ry=\"16\" fill=\"url(#pfHotTubPink)\"\/><circle cx=\"140\" cy=\"43\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"156\" cy=\"43\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"148\" cy=\"50\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/>',\r\n    'Oval':'<ellipse cx=\"80\" cy=\"55\" rx=\"55\" ry=\"32\" fill=\"url(#pfPoolGrad)\"\/><ellipse cx=\"152\" cy=\"45\" rx=\"22\" ry=\"16\" fill=\"url(#pfHotTubPink)\"\/><circle cx=\"144\" cy=\"43\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"160\" cy=\"43\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"152\" cy=\"50\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/>',\r\n    'L-Shape':'<path d=\"M24,28 Q20,28 20,32 L20,81 Q20,85 24,85 L121,85 Q125,85 125,81 L125,56 Q125,52 121,52 L84,52 Q80,52 80,48 L80,32 Q80,28 76,28 Z\" fill=\"url(#pfPoolGrad)\"\/><rect x=\"80\" y=\"12\" width=\"40\" height=\"40\" rx=\"6\" fill=\"url(#pfHotTubPink)\"\/><circle cx=\"92\" cy=\"27\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"108\" cy=\"27\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"100\" cy=\"39\" r=\"2\" fill=\"#fff\" opacity=\"0.5\"\/>'\r\n  };\r\n\r\n  var spaMaybePaths={\r\n    'Rectangle':'<rect x=\"15\" y=\"32\" width=\"95\" height=\"52\" rx=\"8\" fill=\"url(#pfPoolGrad)\"\/><text x=\"135\" y=\"68\" font-size=\"40\" font-weight=\"bold\" fill=\"#ff7a18\">?<\/text>',\r\n    'Freeform':'<path d=\"M75,28 C105,22 122,38 116,54 C110,70 88,78 64,73 C40,68 30,58 35,45 C40,32 55,34 75,28 Z\" fill=\"url(#pfPoolGrad)\"\/><text x=\"135\" y=\"68\" font-size=\"40\" font-weight=\"bold\" fill=\"#ff7a18\">?<\/text>',\r\n    'Oval':'<ellipse cx=\"68\" cy=\"55\" rx=\"48\" ry=\"30\" fill=\"url(#pfPoolGrad)\"\/><text x=\"135\" y=\"68\" font-size=\"40\" font-weight=\"bold\" fill=\"#ff7a18\">?<\/text>',\r\n    'L-Shape':'<path d=\"M19,28 Q15,28 15,32 L15,74 Q15,78 19,78 L96,78 Q100,78 100,74 L100,52 Q100,48 96,48 L72,48 Q68,48 68,44 L68,32 Q68,28 64,28 Z\" fill=\"url(#pfPoolGrad)\"\/><text x=\"135\" y=\"68\" font-size=\"40\" font-weight=\"bold\" fill=\"#ff7a18\">?<\/text>'\r\n  };\r\n\r\n  function updateSizeShapes(){\r\n    var shape=state.shape||'Rectangle';\r\n    var path=shapePaths[shape];\r\n    document.getElementById('pfSizeSmallWrap').innerHTML='<svg width=\"60\" height=\"40\" viewBox=\"0 0 200 120\">'+path+'<\/svg>';\r\n    document.getElementById('pfSizeMediumWrap').innerHTML='<svg width=\"80\" height=\"54\" viewBox=\"0 0 200 120\">'+path+'<\/svg>';\r\n    document.getElementById('pfSizeLargeWrap').innerHTML='<svg width=\"100\" height=\"68\" viewBox=\"0 0 200 120\">'+path+'<\/svg>';\r\n  }\r\n\r\n  function updateSpaShapes(){\r\n    var shape=state.shape||'Rectangle';\r\n    document.getElementById('pfSpaSpilloverWrap').innerHTML='<svg width=\"120\" height=\"75\" viewBox=\"0 0 180 100\">'+spaSpilloverPaths[shape]+'<\/svg>';\r\n    document.getElementById('pfSpaMaybeWrap').innerHTML='<svg width=\"120\" height=\"75\" viewBox=\"0 0 180 100\">'+spaMaybePaths[shape]+'<\/svg>';\r\n  }\r\n\r\n  function calculatePrice(){\r\n    var total=0, breakdown=[];\r\n    if(state.shape && prices.shape[state.shape]){total+=prices.shape[state.shape]; breakdown.push({label:'Shape',value:state.shape});}\r\n    if(state.size && prices.size[state.size]){total+=prices.size[state.size]; breakdown.push({label:'Size',value:state.size});}\r\n    if(state.depth && prices.depth[state.depth]){total+=prices.depth[state.depth]; breakdown.push({label:'Depth',value:state.depth});}\r\n    if(state.spa && prices.spa[state.spa]!==undefined){total+=prices.spa[state.spa]; breakdown.push({label:'Hot Tub',value:state.spa});}\r\n    return {total:total, monthly:Math.round(total*0.009), breakdown:breakdown};\r\n  }\r\n\r\n  function updatePriceDisplay(){\r\n    var result=calculatePrice();\r\n    priceMonthly.textContent='$'+result.monthly.toLocaleString();\r\n    if(result.breakdown.length>0){\r\n      var html='', mobileText=[];\r\n      for(var i=0;i<result.breakdown.length;i++){\r\n        html+='<div class=\"pf-selectionRow\"><span>'+result.breakdown[i].label+'<\/span><b>'+result.breakdown[i].value+'<\/b><\/div>';\r\n        mobileText.push(result.breakdown[i].value);\r\n      }\r\n      selectionsGrid.innerHTML=html;\r\n      mobileSelections.textContent=mobileText.join(' \u2022 ');\r\n    }else{\r\n      selectionsGrid.innerHTML='<div class=\"pf-emptyState\">Make selections to see your estimate<\/div>';\r\n      mobileSelections.textContent='';\r\n    }\r\n  }\r\n\r\n  function updateProgress(){\r\n    stepLabel.textContent='Step '+step+' of '+totalSteps;\r\n    var p=Math.round(((step-1)\/(totalSteps-1))*100);\r\n    progressPct.textContent=p+'%';\r\n    barFill.style.width=p+'%';\r\n    backBtn.disabled=step===1;\r\n  }\r\n\r\n  function showStep(n){\r\n    for(var i=0;i<steps.length;i++){steps[i].classList.remove('pf-active');}\r\n    document.querySelector('.pf-step[data-step=\"'+n+'\"]').classList.add('pf-active');\r\n    errBox.classList.remove('pf-show');\r\n    updateProgress();\r\n    if(n===2) updateSizeShapes();\r\n    if(n===4) updateSpaShapes();\r\n    if(n>=5){sidebar.classList.remove('pf-hidden');}else{sidebar.classList.add('pf-hidden');}\r\n  }\r\n\r\n  function openCalPopup(type){\r\n    if(type==='onsite'){calOnsiteIframe.src=onsiteCalUrl; calOnsiteOverlay.classList.add('pf-show');}\r\n    else if(type==='phone'){calPhoneIframe.src=phoneCalUrl; calPhoneOverlay.classList.add('pf-show');}\r\n  }\r\n\r\n  function closeCalPopup(type){\r\n    if(type==='onsite'){calOnsiteOverlay.classList.remove('pf-show'); calOnsiteIframe.src='';}\r\n    else if(type==='phone'){calPhoneOverlay.classList.remove('pf-show'); calPhoneIframe.src='';}\r\n  }\r\n\r\n  function sendLeadNotification(leadData){\r\n    var templateParams={\r\n      name: leadData.name,\r\n      email: leadData.email,\r\n      phone: leadData.phone,\r\n      city: leadData.city || 'Not specified',\r\n      pool_shape: leadData.shape,\r\n      pool_size: leadData.size,\r\n      pool_depth: leadData.depth,\r\n      hot_tub: leadData.spa,\r\n      estimated_monthly: '$'+calculatePrice().monthly,\r\n      estimated_total: '$'+calculatePrice().total.toLocaleString()\r\n    };\r\n\r\n    emailjs.send('service_i7gxpnz', 'template_6c784ya', templateParams)\r\n    .then(function(response){\r\n      console.log('Lead notification sent:', response.status, response.text);\r\n      successMsg.classList.add('pf-show');\r\n    })\r\n    .catch(function(error){\r\n      console.log('Email send error:', error);\r\n      successMsg.classList.add('pf-show');\r\n    });\r\n  }\r\n\r\n  backBtn.addEventListener('click',function(){if(step>1){step--; showStep(step);}});\r\n\r\n  revealBtn.addEventListener('click',function(){\r\n    state.name=document.getElementById('pfName').value.trim();\r\n    state.phone=document.getElementById('pfPhone').value.trim();\r\n    state.email=document.getElementById('pfEmail').value.trim();\r\n    state.city=document.getElementById('pfCity').value;\r\n    if(!state.name||!state.phone||!state.email){errBox.textContent='Please enter your name, phone, and email to see your match.'; errBox.classList.add('pf-show'); return;}\r\n    errBox.classList.remove('pf-show');\r\n    \r\n    revealBtn.classList.add('pf-sending');\r\n    revealBtn.textContent='Sending...';\r\n    \r\n    sendLeadNotification({\r\n      name: state.name,\r\n      email: state.email,\r\n      phone: state.phone,\r\n      city: state.city,\r\n      shape: state.shape,\r\n      size: state.size,\r\n      depth: state.depth,\r\n      spa: state.spa,\r\n      timestamp: new Date().toISOString()\r\n    });\r\n    \r\n    var calParams=new URLSearchParams({name:state.name,email:state.email,phone:state.phone,'Pool Shape':state.shape,'Pool Size':state.size,'Pool Depth':state.depth,'Hot Tub':state.spa,'City':state.city||'Not specified'});\r\n    var calQueryString='?'+calParams.toString();\r\n    onsiteCalUrl=poolCompany.calLinkOnsite+calQueryString+'&embed=true';\r\n    phoneCalUrl=poolCompany.calLinkPhone+calQueryString+'&embed=true';\r\n    document.getElementById('pfCompanyName').textContent=poolCompany.name;\r\n    document.getElementById('pfCompanyLocation').textContent='\ud83d\udccd '+poolCompany.location;\r\n    document.getElementById('pfReviewCount').innerHTML='<strong>'+poolCompany.reviews+' Five-Star Reviews<\/strong> on Google';\r\n    document.getElementById('pfPopupCompanyName').textContent=poolCompany.name;\r\n    document.getElementById('pfPopupCompanyLocation').textContent='\ud83d\udccd '+poolCompany.location;\r\n    document.getElementById('pfPopupReviewCount').textContent=poolCompany.reviews+' reviews';\r\n    document.getElementById('pfPopupPoolIcon').innerHTML=popupPoolShapes[state.shape]||popupPoolShapes['Rectangle'];\r\n    \r\n    setTimeout(function(){\r\n      revealBtn.classList.remove('pf-sending');\r\n      revealBtn.textContent='Reveal My Match \u2192';\r\n      unlockForm.style.display='none';\r\n      matchResult.style.display='block';\r\n      updatePriceDisplay();\r\n      matchPopupOverlay.classList.add('pf-show');\r\n    }, 1000);\r\n  });\r\n\r\n  document.getElementById('pfActionScheduleOnsite').addEventListener('click',function(e){e.preventDefault(); matchPopupOverlay.classList.remove('pf-show'); openCalPopup('onsite');});\r\n  document.getElementById('pfClosePopup').addEventListener('click',function(){matchPopupOverlay.classList.remove('pf-show'); openCalPopup('phone');});\r\n  \r\n  \/\/ Result page large CTA buttons\r\n  document.getElementById('pfResultOnsiteBtn').addEventListener('click',function(e){e.preventDefault(); openCalPopup('onsite');});\r\n  document.getElementById('pfResultPhoneBtn').addEventListener('click',function(e){e.preventDefault(); openCalPopup('phone');});\r\n  \r\n  calOnsiteClose.addEventListener('click',function(){closeCalPopup('onsite');});\r\n  calPhoneClose.addEventListener('click',function(){closeCalPopup('phone');});\r\n  calOnsiteOverlay.addEventListener('click',function(e){if(e.target===calOnsiteOverlay){closeCalPopup('onsite');}});\r\n  calPhoneOverlay.addEventListener('click',function(e){if(e.target===calPhoneOverlay){closeCalPopup('phone');}});\r\n  matchPopupOverlay.addEventListener('click',function(e){if(e.target===matchPopupOverlay){matchPopupOverlay.classList.remove('pf-show');}});\r\n\r\n  function addChoiceListeners(selector, stateKey){\r\n    var choices=document.querySelectorAll(selector);\r\n    for(var i=0;i<choices.length;i++){\r\n      choices[i].addEventListener('click',function(){\r\n        var all=document.querySelectorAll(selector);\r\n        for(var j=0;j<all.length;j++){all[j].classList.remove('pf-selected');}\r\n        this.classList.add('pf-selected');\r\n        state[stateKey]=this.getAttribute('data-value')||'';\r\n        errBox.classList.remove('pf-show');\r\n        updatePriceDisplay();\r\n        setTimeout(function(){if(step<totalSteps){step++; showStep(step);}},300);\r\n      });\r\n    }\r\n  }\r\n\r\n  addChoiceListeners('.pf-shapeChoice','shape');\r\n  addChoiceListeners('.pf-sizeChoice','size');\r\n  addChoiceListeners('.pf-depthChoice','depth');\r\n  addChoiceListeners('.pf-spaChoice','spa');\r\n\r\n  updateProgress();\r\n  updatePriceDisplay();\r\n  updateSizeShapes();\r\n  updateSpaShapes();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b4269e4 e-con-full e-flex e-con e-child\" data-id=\"b4269e4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Design Your Dream Pool Get matched with top-rated contractors in Southern Utah &#038; Mesquite St. George \u2022 Washington \u2022 Hurricane \u2022 Ivins \u2022 Mesquite Step 1 of 50%\u2190 BackPlease make a selection to continue. What Shape Speaks To You? Pick one that matches your vibeRectangleFor laps and spice-alphabetizers.Freeform \/ KidneyDesert oasis energy.Oval \/ EllipseAll curves, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-122","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/buildapoolstgeorge.com\/index.php?rest_route=\/wp\/v2\/pages\/122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buildapoolstgeorge.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/buildapoolstgeorge.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/buildapoolstgeorge.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buildapoolstgeorge.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=122"}],"version-history":[{"count":58,"href":"https:\/\/buildapoolstgeorge.com\/index.php?rest_route=\/wp\/v2\/pages\/122\/revisions"}],"predecessor-version":[{"id":454,"href":"https:\/\/buildapoolstgeorge.com\/index.php?rest_route=\/wp\/v2\/pages\/122\/revisions\/454"}],"wp:attachment":[{"href":"https:\/\/buildapoolstgeorge.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}