/* Integral Heart — "Do I really need therapy?" floating widget Served from Vercel; embedded on the Webflow site with: */ (function(){ var sc = document.currentScript; var booking = (sc && sc.getAttribute('data-booking')) || 'https://clientportal.zandahealth.com/clientportal/integralhearttherapy'; var CSS = `#iht-need-btn{ position:fixed; left:18px; bottom:18px; z-index:9000; display:inline-flex; align-items:center; gap:9px; background:#16271f; color:#f3eedd; border:1px solid rgba(201,168,106,.55); border-radius:999px; padding:13px 20px; font-size:14px; font-weight:600; font-family:inherit; cursor:pointer; box-shadow:0 8px 26px rgba(16,38,31,.3); transition:transform .2s ease; } #iht-need-btn:hover{ transform:translateY(-2px); } #iht-need-overlay{ position:fixed; inset:0; z-index:9001; background:rgba(22,39,31,.45); display:flex; align-items:center; justify-content:center; padding:18px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease, visibility 0s linear .25s; } #iht-need-overlay.open{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .25s ease; } #iht-need-modal{ position:relative; background:#f3eedd; border:1px solid rgba(201,168,106,.5); border-radius:22px; max-width:560px; width:100%; max-height:88vh; overflow-y:auto; padding:28px 26px 22px; box-shadow:0 24px 60px rgba(16,38,31,.35); transform:translateY(10px); transition:transform .25s cubic-bezier(.22,1,.36,1); } #iht-need-overlay.open #iht-need-modal{ transform:none; } #iht-need-close{ position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%; border:1px solid rgba(201,168,106,.4); background:#f3eedd; color:rgba(22,39,31,.6); font-size:14px; cursor:pointer; z-index:2; } .iht-eyebrow{ color:#c9a86a; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin:0 0 8px; } #iht-need-title{ font-family:Georgia,"Noto Serif SC",serif; font-weight:500; color:#16271f; font-size:26px; line-height:1.15; margin:0; } .iht-zh-title{ font-family:Georgia,"Noto Serif SC",serif; color:rgba(22,39,31,.6); font-size:16px; margin:4px 0 0; } .iht-tabs{ display:flex; gap:6px; margin:16px 0 16px; } .iht-tab{ flex:1; border:1px solid rgba(201,168,106,.45); background:transparent; color:#16271f; border-radius:999px; padding:9px 6px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:inherit; line-height:1.25; } .iht-tab.on{ background:#16271f; color:#f3eedd; border-color:#16271f; } .iht-panel{ display:none; } .iht-panel.on{ display:block; } .iht-intro{ color:#1c2b22; font-size:14.5px; line-height:1.6; margin:0 0 12px; } .iht-cat{ padding:11px 0; border-bottom:1px dashed rgba(201,168,106,.35); } .iht-cat:last-child{ border-bottom:none; } .iht-cat h4{ margin:0; color:#16271f; font-size:14.5px; display:flex; gap:8px; align-items:baseline; } .iht-cat h4 em{ font-style:normal; color:rgba(22,39,31,.5); font-weight:500; font-size:12.5px; } .iht-cat p{ margin:4px 0 0; color:#1c2b22; font-size:13.5px; line-height:1.55; } .iht-cat p i{ display:block; font-style:normal; color:rgba(22,39,31,.55); font-size:12.5px; line-height:1.7; margin-top:2px; } .iht-stat{ display:flex; gap:14px; align-items:center; background:#16271f; border-radius:16px; padding:16px 18px; margin:0 0 14px; } .iht-stat .n{ font-family:Georgia,serif; color:#c9a86a; font-size:42px; line-height:1; font-weight:500; } .iht-stat p{ margin:0; color:#f3eedd; font-size:13.5px; line-height:1.55; } .iht-stat p i{ display:block; font-style:normal; color:rgba(243,238,221,.7); font-size:12.5px; margin-top:3px; } .iht-fact{ padding:10px 0; border-bottom:1px dashed rgba(201,168,106,.35); } .iht-fact:last-of-type{ border-bottom:none; } .iht-fact h4{ margin:0; color:#16271f; font-size:14px; } .iht-fact p{ margin:4px 0 0; color:#1c2b22; font-size:13.5px; line-height:1.55; } .iht-fact p i{ display:block; font-style:normal; color:rgba(22,39,31,.55); font-size:12.5px; line-height:1.7; margin-top:2px; } .iht-arc{ margin-top:4px; padding-left:18px; border-left:2px solid rgba(201,168,106,.45); } .iht-arc div{ padding:7px 0; } .iht-arc b{ color:#c9a86a; font-size:11px; letter-spacing:.1em; text-transform:uppercase; display:block; } .iht-arc p{ margin:2px 0 0; font-size:13px; color:#1c2b22; line-height:1.5; } .iht-cite{ color:rgba(22,39,31,.45); font-size:11px; line-height:1.6; margin:12px 0 0; } .iht-reframe{ margin:16px 0 0; padding:14px 16px; background:#16271f; color:#f3eedd; border-radius:14px; font-size:14px; line-height:1.6; } .iht-reframe i{ display:block; font-style:normal; color:rgba(243,238,221,.75); font-size:13px; line-height:1.7; margin-top:6px; } .iht-cta{ display:flex; justify-content:center; align-items:center; margin-top:14px; background:#c9a86a; color:#16271f; font-weight:700; font-size:15px; border-radius:999px; padding:14px 20px; text-decoration:none; } .iht-small{ text-align:center; color:rgba(22,39,31,.55); font-size:12px; margin:8px 0 0; } .iht-crisis{ text-align:center; color:rgba(22,39,31,.5); font-size:11px; margin:12px 0 0; padding-top:10px; border-top:1px solid rgba(201,168,106,.3); } @media (max-width:480px){ #iht-need-btn{ left:12px; bottom:12px; padding:12px 16px; font-size:13px; } } @media (prefers-reduced-motion: reduce){ #iht-need-btn,#iht-need-overlay,#iht-need-modal{ transition:none; } }`; var HTML = `
`.replace(/YOUR_CLINIKO_LINK/g, booking); function mount(){ if (document.getElementById('iht-need')) return; var st = document.createElement('style'); st.textContent = CSS; document.head.appendChild(st); document.body.insertAdjacentHTML('beforeend', HTML); (function(){ var btn=document.getElementById('iht-need-btn'), ov=document.getElementById('iht-need-overlay'), cl=document.getElementById('iht-need-close'), modal=document.getElementById('iht-need-modal'), tabs=[].slice.call(document.querySelectorAll('.iht-tab')), panels=[].slice.call(document.querySelectorAll('.iht-panel')), lastFocus=null; tabs.forEach(function(tb,i){ tb.addEventListener('click',function(){ tabs.forEach(function(x,k){ x.classList.toggle('on',k===i); x.setAttribute('aria-selected',k===i); }); panels.forEach(function(p,k){ p.classList.toggle('on',k===i); }); modal.scrollTop=0; }); }); function open(){ lastFocus=document.activeElement; ov.classList.add('open'); btn.setAttribute('aria-expanded','true'); document.body.style.overflow='hidden'; cl.focus(); } function shut(){ ov.classList.remove('open'); btn.setAttribute('aria-expanded','false'); document.body.style.overflow=''; if(lastFocus) lastFocus.focus(); } btn.addEventListener('click',open); cl.addEventListener('click',shut); ov.addEventListener('click',function(e){ if(!modal.contains(e.target)) shut(); }); document.addEventListener('keydown',function(e){ if(e.key==='Escape'&&ov.classList.contains('open')) shut(); }); })(); } if (document.readyState !== 'loading') mount(); else document.addEventListener('DOMContentLoaded', mount); })();

News

 Articles
Balancing motherhood and personal wellbeing with strategies for thriving at home
Building resilience and how to foster a positive mindset
Finding personal balance by taking time to reflect on small victories