{"product_id":"website-redesign","title":"Website Redesign","description":"\u003cp\u003eModernize your old website for the \u003cstrong\u003eCentral and South Florida\u003c\/strong\u003e market.\u003c\/p\u003e\n\n\n\u003cstyle\u003e\n.addon-item { border-bottom: 1px solid #f0f0f0; padding: 12px 0; }\n.addon-main { display: flex; justify-content: space-between; align-items: center; }\n.addon-info { margin-top: 6px; font-size: 0.8em; color: #777; display: none; line-height: 1.4; padding-right: 80px; }\n.addon-title { cursor: pointer; color: #333; font-weight: 500; font-size: 0.9em; display: flex; align-items: center; }\n.addon-title:hover { color: #000; }\n.details-toggle { font-size: 0.8em; color: #0066cc; text-decoration: underline; cursor: pointer; margin-left: 8px; font-weight: 400; }\n.addon-btn { transition: all 0.1s ease; min-width: 85px; }\n.addon-btn.added { background: #28a745 !important; }\n.addon-btn.added:hover { background: #c82333 !important; }\n\u003c\/style\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fffcf4; padding: 20px; border: 1px solid #f3ebe0; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eCloud Hosting Services (Optional - Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Starter — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104206432\" onclick=\"toggleAddon(42712104206432, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX11: High-speed cloud server for small sites.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Business — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104239200\" onclick=\"toggleAddon(42712104239200, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX21: Scalable business server for growing traffic.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Professional — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104304736\" onclick=\"toggleAddon(42712104304736, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX31: Enterprise-grade node for maximum availability.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #f4f8fb; padding: 20px; border: 1px solid #e1e8ed; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eMonthly Maintenance Plans (Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eWebsite Care Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566836320\" onclick=\"toggleAddon(42682566836320, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEssential security, backups, and monthly updates.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Starter Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566738016\" onclick=\"toggleAddon(42682566738016, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Care Plan + 2 hours of edits and SEO health checks.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Growth Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566770784\" onclick=\"toggleAddon(42682566770784, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Starter Plan + 4 hours of edits and performance optimization.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Pro Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566803552\" onclick=\"toggleAddon(42682566803552, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFull partnership with VIP support and priority fixes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #fdfdfd; padding: 20px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 30px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003ePopular Project Add-ons\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eExpress Delivery (72-Hour) —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754946144\" onclick=\"toggleAddon(42712754946144, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFirst full project draft delivered within 72 business hours.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003ePremium Parallax Page —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754978912\" onclick=\"toggleAddon(42712754978912, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eAdd an immersive scrolling page with cinematic depth.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eADA Disabilities Compliance —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42682567491680\" onclick=\"toggleAddon(42682567491680, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEnsure your site is legally compliant and accessible.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eBranding Package —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197061216\" onclick=\"toggleAddon(42671197061216, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eComplete visual identity including logo and style guide.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eProfessional Copywriting —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197552736\" onclick=\"toggleAddon(42671197552736, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003ePersuasive, SEO-optimized copy for up to 5 pages.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eAdvanced SEO Setup —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671189426272\" onclick=\"toggleAddon(42671189426272, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eDeep optimization including schema and local citations.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n    const CURRENT_PID = \"7676290400352\";\n    const MAINT_VIDS = [42682566836320,42682566738016,42682566770784,42682566803552];\n    const HOST_VIDS = [42712104206432,42712104239200,42712104304736];\n    const SHARED_SELLING_PLAN = 1443889248;\n\n    window.toggleDetails = function(el) {\n        if (!el) return;\n        const info = el.closest('.addon-item')?.querySelector('.addon-info');\n        if (info) info.style.display = info.style.display === 'block' ? 'none' : 'block';\n    };\n\n    function updateLocalBubbles(newCount) {\n        const countEls = document.querySelectorAll('.cart-bubble__text-count, .cart-count, #cart-icon-bubble span');\n        countEls.forEach(el =\u003e { \n            el.innerText = newCount;\n            el.classList.remove('hidden', 'visually-hidden');\n        });\n        const bubble = document.querySelector('.cart-bubble');\n        if (bubble) bubble.classList.remove('visually-hidden');\n    }\n\n    async function syncAddonButtons() {\n        try {\n            const res = await fetch('\/cart.js');\n            const cart = await res.json();\n            const activeVids = cart.items.map(item =\u003e item.id);\n\n            document.querySelectorAll('.addon-btn').forEach(btn =\u003e {\n                if (btn.getAttribute('data-busy') === 'true') return;\n                const vid = parseInt(btn.getAttribute('data-addon-id'));\n                if (activeVids.includes(vid)) {\n                    btn.innerText = '✓ Added';\n                    btn.style.background = '#28a745';\n                    btn.classList.add('added');\n                } else {\n                    btn.innerText = '+ Add';\n                    btn.style.background = '#000';\n                    btn.classList.remove('added');\n                }\n            });\n            updateLocalBubbles(cart.item_count);\n        } catch (e) {}\n    }\n\n    async function updateThemeVisuals() {\n        const headerEl = document.querySelector('.cart-items-component');\n        const sectionId = headerEl?.getAttribute('data-section-id') || 'sections--17721503973472__header_section';\n        const res = await fetch(`\/?sections=${sectionId}`);\n        const data = await res.json();\n\n        if (data \u0026\u0026 data[sectionId] \u0026\u0026 headerEl) {\n            const parser = new DOMParser();\n            const htmlDoc = parser.parseFromString(data[sectionId], 'text\/html');\n            const newContent = htmlDoc.querySelector('.cart-items-component');\n            if (newContent) headerEl.innerHTML = newContent.innerHTML;\n            const dialog = document.querySelector('.cart-drawer__dialog');\n            if (dialog) dialog.classList.remove('cart-drawer--empty');\n        }\n\n        const cartRes = await fetch('\/cart.js');\n        const cart = await cartRes.json();\n        if (window.cartNotification) window.cartNotification.renderContents(cart);\n        if (window.cartDrawer \u0026\u0026 typeof window.cartDrawer.renderContents === 'function') window.cartDrawer.renderContents(cart);\n        document.dispatchEvent(new CustomEvent('cart:updated', { bubbles: true, detail: cart }));\n    }\n\n    window.toggleAddon = async function(id, btn, type) {\n        const wasAdded = btn.classList.contains('added');\n        const countEl = document.querySelector('.cart-bubble__text-count');\n        const currentCount = parseInt(countEl?.innerText || '0');\n\n        btn.setAttribute('data-busy', 'true');\n        \n        \/\/ HYPER-FAST UI TOGGLE\n        if (wasAdded) {\n            btn.innerText = '+ Add';\n            btn.style.background = '#000';\n            btn.classList.remove('added');\n            updateLocalBubbles(Math.max(0, currentCount - 1));\n        } else {\n            btn.innerText = '✓ Added';\n            btn.style.background = '#28a745';\n            btn.classList.add('added');\n            updateLocalBubbles(currentCount + 1);\n        }\n\n        try {\n            const cartRes = await fetch('\/cart.js');\n            const cart = await cartRes.json();\n            \n            if (wasAdded) {\n                const item = cart.items.find(i =\u003e i.id === id);\n                if (item) await fetch('\/cart\/change.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ id: String(item.key), quantity: 0 }) });\n            } else {\n                const idsToRemove = (type === 'maintenance') ? MAINT_VIDS : (type === 'hosting' ? HOST_VIDS : []);\n                const updates = {};\n                cart.items.forEach(item =\u003e { if (idsToRemove.includes(item.id)) updates[item.key] = 0; });\n                if (Object.keys(updates).length \u003e 0) await fetch('\/cart\/update.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ updates: updates }) });\n                \n                const addPayload = { id: id, quantity: 1 };\n                if (type === 'hosting' || type === 'maintenance') addPayload['selling_plan'] = SHARED_SELLING_PLAN;\n                await fetch('\/cart\/add.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ items: [addPayload] }) });\n            }\n            await updateThemeVisuals();\n        } catch (e) { \n            console.error(\"Sync error\", e);\n            syncAddonButtons(); \/\/ Revert on actual error\n        } finally {\n            btn.setAttribute('data-busy', 'false');\n        }\n    };\n\n    document.addEventListener('DOMContentLoaded', syncAddonButtons);\n    setInterval(syncAddonButtons, 5000);\n})();\n\u003c\/script\u003e\n\u003ch3\u003eWhat's Included\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eDeliverable\u003c\/th\u003e\n\u003cth\u003eDetail and Specification\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eAudit\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eComprehensive review of current weaknesses.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eRedesign\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eVisual and User Experience overhaul.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eFlorida's Trusted Web Partner\u003c\/h3\u003e\n\u003cp\u003eNeedAWebNow provides expert web services from Miami to Orlando. \u003cstrong\u003e\u003ca href=\"https:\/\/needawebnow.com\/pages\/free-digital-audit\"\u003eGet a Free Digital Audit in Florida today.\u003c\/a\u003e\u003c\/strong\u003e\u003c\/p\u003e\n","brand":"NeedAWebNow.com","offers":[{"title":"Default Title","offer_id":42715186856032,"sku":null,"price":2500.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/files\/Website_Redesign.png?v=1776324277","url":"https:\/\/needawebnow.com\/products\/website-redesign","provider":"NeedAWebNow.com","version":"1.0","type":"link"}