[object Object]

← back to Designer Wallcoverings

Stage front-page sprint (P0+P1) on dev theme clone of live 5.1: footer apostrophe, trade bar, hero scrim, mobile hero overlay — verified in preview

ec7c74e8574fa0d6bf7cadd2a2024ece4d5a1b6c · 2026-06-23 18:14:22 -0700 · Steve

Files touched

Diff

commit ec7c74e8574fa0d6bf7cadd2a2024ece4d5a1b6c
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue Jun 23 18:14:22 2026 -0700

    Stage front-page sprint (P0+P1) on dev theme clone of live 5.1: footer apostrophe, trade bar, hero scrim, mobile hero overlay — verified in preview
---
 audits/frontpage-review/dev-desktop-hero.jpeg      |  Bin 0 -> 603867 bytes
 audits/frontpage-review/dev-mobile-hero.jpeg       |  Bin 0 -> 252233 bytes
 shopify/frontpage-sprint/apply-frontpage-sprint.py |   81 ++
 shopify/frontpage-sprint/copy-theme-assets.py      |   52 +
 .../live-src/config__settings_data.json            |  412 ++++++++
 .../frontpage-sprint/live-src/layout__theme.liquid | 1032 ++++++++++++++++++++
 .../live-src/sections__footer-group.json           |   56 ++
 .../live-src/sections__header-group.json           |  135 +++
 .../live-src/sections__header.liquid               |  483 +++++++++
 .../live-src/sections__home-slideshow.liquid       |  199 ++++
 .../live-src/snippets__home-slideshow-slide.liquid |   67 ++
 11 files changed, 2517 insertions(+)

diff --git a/audits/frontpage-review/dev-desktop-hero.jpeg b/audits/frontpage-review/dev-desktop-hero.jpeg
new file mode 100644
index 00000000..ff6f21d4
Binary files /dev/null and b/audits/frontpage-review/dev-desktop-hero.jpeg differ
diff --git a/audits/frontpage-review/dev-mobile-hero.jpeg b/audits/frontpage-review/dev-mobile-hero.jpeg
new file mode 100644
index 00000000..fc1e766c
Binary files /dev/null and b/audits/frontpage-review/dev-mobile-hero.jpeg differ
diff --git a/shopify/frontpage-sprint/apply-frontpage-sprint.py b/shopify/frontpage-sprint/apply-frontpage-sprint.py
new file mode 100644
index 00000000..91eda33e
--- /dev/null
+++ b/shopify/frontpage-sprint/apply-frontpage-sprint.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python3
+"""Apply the approved front-page sprint (P0+P1) to the DEV theme only.
+Pulls each asset from LIVE (exact bytes), applies a surgical idempotent edit, PUTs to DST.
+NEVER touches live. Usage: SHOPIFY_THEME_TOKEN=... python3 apply-frontpage-sprint.py
+"""
+import os, json, urllib.request, urllib.parse, time
+
+STORE="designer-laboratory-sandbox.myshopify.com"; API="2024-10"
+TOK=os.environ["SHOPIFY_THEME_TOKEN"]
+LIVE=143933472819; DST=143955820595
+H={"X-Shopify-Access-Token":TOK,"Content-Type":"application/json"}
+
+def get(tid,key):
+    q=urllib.parse.urlencode({"asset[key]":key})
+    return json.load(urllib.request.urlopen(urllib.request.Request(f"https://{STORE}/admin/api/{API}/themes/{tid}/assets.json?{q}",headers=H)))["asset"].get("value")
+def put(tid,key,val):
+    body=json.dumps({"asset":{"key":key,"value":val}}).encode()
+    r=urllib.request.urlopen(urllib.request.Request(f"https://{STORE}/admin/api/{API}/themes/{tid}/assets.json",data=body,headers=H,method="PUT"))
+    return r.status
+
+results=[]
+
+# ---- P0: footer apostrophe (footer-group.json) ----
+k="sections/footer-group.json"; src=get(LIVE,k); v=src
+v=v.replace("the nations leading resource","the nation's leading resource")
+v=v.replace("looking for?            We can","looking for? We can")
+results.append((k,"apostrophe + space tidy", "the nation's leading resource" in v, src!=v))
+put(DST,k,v); time.sleep(0.4)
+
+# ---- P1 (trade bar): enable + retext the dormant announcement bar (header-group.json) ----
+k="sections/header-group.json"; src=get(LIVE,k); j=json.loads(src)
+ab=j["sections"]["announcement_bar"]
+ab["disabled"]=False
+ab["settings"]["show_announcement"]=True
+ab["settings"]["announcement_home_only"]=False
+ab["settings"]["announcement_text"]="Trade accounts receive exclusive pricing & dedicated specialists — Apply in 2 minutes"
+ab["settings"]["announcement_text_mobile"]="Trade pricing & specialists — Apply"
+ab["settings"]["announcement_link"]="https://www.designerwallcoverings.com/pages/trade-only-benefits"
+ab["settings"]["announcement_color"]="#ffffff"
+ab["settings"]["announcement_background"]="#262626"
+v=json.dumps(j,indent=2)
+results.append((k,"trade value bar enabled+retext", ab["disabled"]==False, src!=v))
+put(DST,k,v); time.sleep(0.4)
+
+# ---- P1 (hero scrim + mobile overlay): augment the slideshow <style> block ----
+k="sections/home-slideshow.liquid"; src=get(LIVE,k); v=src
+MARK="DW front-page sprint 2026-06-23"
+sprint_css="""
+    /* %s: hero legibility scrim + mobile text overlay (vp-dw-commerce) */
+    #shopify-section-{{ section.id }} .home-slideshow-slide { position: relative; }
+    #shopify-section-{{ section.id }} .home-slideshow-slide-image { position: relative; }
+    #shopify-section-{{ section.id }} .home-slideshow-slide-image::after {
+      content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
+      background: linear-gradient(to top, rgba(0,0,0,.42) 0%%, rgba(0,0,0,.16) 32%%, rgba(0,0,0,0) 62%%);
+    }
+    #shopify-section-{{ section.id }} .home-slideshow-slide-content { z-index: 2; }
+    @media (max-width: 768px) {
+      #shopify-section-{{ section.id }} .home-slideshow-slide { display: block; }
+      #shopify-section-{{ section.id }} .home-slideshow-slide-content {
+        position: absolute; inset: 0; display: flex; flex-direction: column;
+        align-items: center; justify-content: flex-end; text-align: center; padding: 0 18px 34px;
+      }
+      #shopify-section-{{ section.id }} .home-slideshow-slide-content-inner { width: 100%%; max-width: 92%%; }
+      #shopify-section-{{ section.id }} .home-slideshow-slide-heading { color: #fff !important; text-shadow: 0 1px 14px rgba(0,0,0,.5); }
+      #shopify-section-{{ section.id }} .home-slideshow-slide-subheading { color: #fff !important; text-shadow: 0 1px 10px rgba(0,0,0,.45); }
+      #shopify-section-{{ section.id }} .home-slideshow-slide-image::after {
+        background: linear-gradient(to top, rgba(0,0,0,.58) 0%%, rgba(0,0,0,.24) 42%%, rgba(0,0,0,0) 78%%);
+      }
+    }
+""" % MARK
+if MARK not in v:
+    # insert immediately before the single closing </style>
+    idx=v.rfind("  </style>")
+    assert idx!=-1, "could not find </style> anchor"
+    v=v[:idx]+sprint_css+v[idx:]
+results.append((k,"scrim + mobile overlay css", MARK in v, src!=v))
+put(DST,k,v); time.sleep(0.4)
+
+print("=== PATCHES APPLIED TO DEV THEME %d ===" % DST)
+for key,desc,ok,changed in results:
+    print(f"  [{'OK' if ok else 'FAIL'}] {key}: {desc} (changed={changed})")
diff --git a/shopify/frontpage-sprint/copy-theme-assets.py b/shopify/frontpage-sprint/copy-theme-assets.py
new file mode 100644
index 00000000..40c20e1c
--- /dev/null
+++ b/shopify/frontpage-sprint/copy-theme-assets.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python3
+"""Copy ALL assets from a source Shopify theme into a target theme (token-only theme duplicate).
+Text assets copied by value; binary assets copied by src=public_url (Shopify re-fetches).
+Usage: SHOPIFY_THEME_TOKEN=... python3 copy-theme-assets.py <SRC_THEME_ID> <DST_THEME_ID>
+"""
+import sys, os, json, time, urllib.request, urllib.error
+
+STORE = "designer-laboratory-sandbox.myshopify.com"
+API = "2024-10"
+TOK = os.environ["SHOPIFY_THEME_TOKEN"]
+SRC, DST = sys.argv[1], sys.argv[2]
+H = {"X-Shopify-Access-Token": TOK, "Content-Type": "application/json"}
+
+def req(method, path, body=None):
+    data = json.dumps(body).encode() if body is not None else None
+    r = urllib.request.Request(f"https://{STORE}/admin/api/{API}{path}", data=data, headers=H, method=method)
+    for attempt in range(5):
+        try:
+            return json.load(urllib.request.urlopen(r))
+        except urllib.error.HTTPError as e:
+            if e.code == 429:
+                time.sleep(2 * (attempt + 1)); continue
+            if e.code >= 500:
+                time.sleep(1.5 * (attempt + 1)); continue
+            raise RuntimeError(f"HTTP {e.code}: {e.read().decode()[:200]}")
+    raise RuntimeError("retries exhausted")
+
+def get_asset(tid, key):
+    import urllib.parse
+    q = urllib.parse.urlencode({"asset[key]": key})
+    return req("GET", f"/themes/{tid}/assets.json?{q}")["asset"]
+
+keys = [a["key"] for a in req("GET", f"/themes/{SRC}/assets.json")["assets"]]
+print(f"SRC {SRC} -> DST {DST}: {len(keys)} assets", flush=True)
+ok = txt = binr = skip = err = 0
+for i, key in enumerate(keys, 1):
+    try:
+        a = get_asset(SRC, key)
+        if a.get("value") is not None:
+            req("PUT", f"/themes/{DST}/assets.json", {"asset": {"key": key, "value": a["value"]}})
+            txt += 1; ok += 1
+        elif a.get("public_url"):
+            req("PUT", f"/themes/{DST}/assets.json", {"asset": {"key": key, "src": a["public_url"]}})
+            binr += 1; ok += 1
+        else:
+            skip += 1; print(f"  SKIP (no value/url): {key}", flush=True)
+    except Exception as e:
+        err += 1; print(f"  ERR {key}: {e}", flush=True)
+    if i % 40 == 0:
+        print(f"  {i}/{len(keys)} (ok={ok} txt={txt} bin={binr} skip={skip} err={err})", flush=True)
+    time.sleep(0.35)
+print(f"DONE: {ok}/{len(keys)} copied (txt={txt} bin={binr} skip={skip} err={err})", flush=True)
diff --git a/shopify/frontpage-sprint/live-src/config__settings_data.json b/shopify/frontpage-sprint/live-src/config__settings_data.json
new file mode 100644
index 00000000..7928f052
--- /dev/null
+++ b/shopify/frontpage-sprint/live-src/config__settings_data.json
@@ -0,0 +1,412 @@
+{
+  "current": {
+    "background-color": "#ffffff",
+    "body-text-color": "#444444",
+    "accent-color": "#b08212",
+    "heading-color": "#000000",
+    "meta-color": "#8a8a8a",
+    "border-color": "#e4e4e4",
+    "product-badge-background-color": "#b08212",
+    "button-color": "#ffffff",
+    "secondary-button-background": "#e2ded0",
+    "secondary-button-color": "#b08212",
+    "header-tools-color": "#242424",
+    "header-tools-background-color": "#ffffff",
+    "navigation-color": "#808080",
+    "form-select-background": "#ffffff",
+    "form-select-color": "#787878",
+    "form-select-border-color": "#e4e4e4",
+    "font-base-size": "16px",
+    "font_body": "lora_n4",
+    "font_heading": "lora_n4",
+    "heading-font-small-caps": true,
+    "font_navigation": "lora_n4",
+    "navigation-font-small-caps": true,
+    "font_meta": "lora_n4",
+    "meta-font-small-caps": false,
+    "font_button": "lora_n7",
+    "button-font-small-caps": true,
+    "social-email-link": "info@designerwallcoverings.com",
+    "social-facebook-link": "https:\/\/www.facebook.com\/DesignerWallcoverings\/",
+    "social-instagram-link": "https:\/\/www.instagram.com\/designerwallcoverings\/",
+    "social-linkedin-link": "https:\/\/www.linkedin.com\/company\/designerwallcoverings\/",
+    "social-pinterest-link": "https:\/\/www.pinterest.com\/designerwallcoverings\/pins\/",
+    "social-tiktok-link": "https:\/\/www.tiktok.com\/@designerwallcoverings",
+    "social-youtube-link": "https:\/\/www.youtube.com\/@DesignerWallcoverings",
+    "share-widget-facebook": true,
+    "share-widget-pinterest": true,
+    "share-widget-fancy": true,
+    "share-widget-email": true,
+    "product_hover": "image-flip",
+    "show_vendor": true,
+    "product_badges": true,
+    "product_badges_icons": true,
+    "ajax": false,
+    "alternative-index-layout-title-color": "#ffffff",
+    "alternative-index-layout": false,
+    "body-font": "'Josefin Slab', serif",
+    "button-font-weight": "400",
+    "button-font": "Lato, sans-serif",
+    "checkout_accent_color": "#1d2349",
+    "checkout_body_background_color": "#fff",
+    "checkout_body_font": "Helvetica Neue",
+    "checkout_button_color": "#1d2349",
+    "checkout_error_color": "#da4833",
+    "checkout_heading_font": "Helvetica Neue",
+    "checkout_input_background_color_mode": "white",
+    "checkout_logo_position": "left",
+    "checkout_logo_size": "medium",
+    "checkout_sidebar_background_color": "#e0e3f5",
+    "currency_converter_supported_currencies": "INR GBP CAD USD AUD EUR JPY",
+    "currency_display_format": "money_with_currency_format",
+    "currency-switcher-default": "CAD",
+    "currency-switcher-format": "money_with_currency_format",
+    "currency-switcher-supported-currencies": "CAD USD GBP AUD JPY",
+    "currency-switcher": true,
+    "customer_layout": "customer_area",
+    "default_currency": "USD",
+    "enable_currency_converter": true,
+    "heading-font-weight": "400",
+    "heading-font": "Lora, serif",
+    "logo-color": "#222222",
+    "meta-font-weight": "400",
+    "meta-font": "'Josefin Slab', serif",
+    "navigation-font-weight": "400",
+    "navigation-font": "'Josefin Slab', serif",
+    "password-mailing-list": false,
+    "quickshop_enable_cart_redirection": false,
+    "quickshop_enable_video_autoplay": true,
+    "quickshop_enable_video_looping": false,
+    "quickshop_enable_zoom": false,
+    "quickshop_images_layout": "slideshow",
+    "quickshop_show_payment_button": false,
+    "quickshop_show_social_media_icons": false,
+    "share-widget-google-plus": true,
+    "share-widget-twitter": true,
+    "content_for_index": [],
+    "blocks": {
+      "11484797622929309859": {
+        "type": "shopify:\/\/apps\/open-signin-social-login\/blocks\/app-block\/eff45696-2ef2-44f9-9062-0a01c87b02f6",
+        "disabled": false,
+        "settings": {
+          "enable_on": "all"
+        }
+      },
+      "16250556887416161327": {
+        "type": "shopify:\/\/apps\/easy-appointment-booking\/blocks\/select_time\/cc7b690c-65b5-4bb4-a46c-1e4bd73e1c12",
+        "disabled": false,
+        "settings": {}
+      },
+      "3886181796285292942": {
+        "type": "shopify:\/\/apps\/cowlendar-booking\/blocks\/app-embed\/6d8b8f6a-9b3c-42b8-b2e6-a758c38d45bf",
+        "disabled": false,
+        "settings": {}
+      },
+      "6beb9acb-3c3f-481b-b241-efe5e84d7919": {
+        "type": "shopify:\/\/apps\/boost-ai-search-filter\/blocks\/boost-sd\/7fc998ae-a150-4367-bab8-505d8a4503f7",
+        "disabled": false,
+        "settings": {}
+      }
+    },
+    "dw_enable_recently_viewed": true
+  },
+  "installed_preset_name": "Grid",
+  "presets": {
+    "Grid": {
+      "accent-color": "#1d2349",
+      "ajax": false,
+      "alternative-index-layout-title-color": "#ffffff",
+      "alternative-index-layout": false,
+      "background-color": "#ffffff",
+      "body-font": "'Josefin Slab', serif",
+      "body-text-color": "#262626",
+      "border-color": "#e4e4e4",
+      "button-color": "#ffffff",
+      "button-font-small-caps": true,
+      "button-font-weight": "400",
+      "button-font": "Lato, sans-serif",
+      "checkout_accent_color": "#1d2349",
+      "checkout_body_background_color": "#fff",
+      "checkout_body_font": "Helvetica Neue",
+      "checkout_button_color": "#1d2349",
+      "checkout_error_color": "#da4833",
+      "checkout_heading_font": "Helvetica Neue",
+      "checkout_input_background_color_mode": "white",
+      "checkout_logo_position": "left",
+      "checkout_logo_size": "medium",
+      "checkout_sidebar_background_color": "#e0e3f5",
+      "currency_converter_supported_currencies": "INR GBP CAD USD AUD EUR JPY",
+      "currency_display_format": "money_with_currency_format",
+      "currency-switcher-default": "CAD",
+      "currency-switcher-format": "money_with_currency_format",
+      "currency-switcher-supported-currencies": "CAD USD GBP AUD JPY",
+      "currency-switcher": true,
+      "customer_layout": "customer_area",
+      "default_currency": "USD",
+      "enable_currency_converter": true,
+      "font_body": "figtree_n4",
+      "font_button": "figtree_n4",
+      "font_heading": "poppins_n4",
+      "font_meta": "figtree_n4",
+      "font_navigation": "figtree_n4",
+      "font-base-size": "14px",
+      "form-select-background": "#ffffff",
+      "form-select-border-color": "#ebebeb",
+      "form-select-color": "#494949",
+      "header-tools-background-color": "#ffffff",
+      "header-tools-color": "#494949",
+      "heading-color": "#262626",
+      "heading-font-small-caps": true,
+      "heading-font-weight": "400",
+      "heading-font": "Lora, serif",
+      "logo-color": "#222222",
+      "meta-color": "#656565",
+      "meta-font-small-caps": false,
+      "meta-font-weight": "400",
+      "meta-font": "'Josefin Slab', serif",
+      "navigation-color": "#262626",
+      "navigation-font-small-caps": true,
+      "navigation-font-weight": "400",
+      "navigation-font": "'Josefin Slab', serif",
+      "password-mailing-list": false,
+      "product_hover": "image-flip",
+      "product-badge-background-color": "#da4833",
+      "quickshop_enable_cart_redirection": false,
+      "quickshop_enable_video_autoplay": true,
+      "quickshop_enable_video_looping": false,
+      "quickshop_enable_zoom": false,
+      "quickshop_images_layout": "slideshow",
+      "quickshop_show_payment_button": false,
+      "quickshop_show_social_media_icons": false,
+      "secondary-button-background": "#e0e3f5",
+      "secondary-button-color": "#080808",
+      "share-widget-email": true,
+      "share-widget-facebook": true,
+      "share-widget-fancy": true,
+      "share-widget-google-plus": true,
+      "share-widget-pinterest": true,
+      "share-widget-twitter": true,
+      "show_vendor": true
+    },
+    "Flora": {
+      "accent-color": "#6e776b",
+      "ajax": false,
+      "alternative-index-layout-title-color": "#ffffff",
+      "alternative-index-layout": false,
+      "background-color": "#ffffff",
+      "body-font": "Lato, sans-serif",
+      "body-text-color": "#242424",
+      "border-color": "#f0f0f0",
+      "button-color": "#ffffff",
+      "button-font-small-caps": true,
+      "button-font-weight": "400",
+      "button-font": "Lato, sans-serif",
+      "checkout_accent_color": "#6e776b",
+      "checkout_body_background_color": "#fff",
+      "checkout_body_font": "Helvetica Neue",
+      "checkout_button_color": "#6e776b",
+      "checkout_error_color": "#ff6d6d",
+      "checkout_heading_font": "Helvetica Neue",
+      "checkout_input_background_color_mode": "white",
+      "checkout_logo_position": "left",
+      "checkout_logo_size": "medium",
+      "checkout_sidebar_background_color": "#eff0e6",
+      "currency_converter_supported_currencies": "INR GBP CAD USD AUD EUR JPY",
+      "currency_display_format": "money_with_currency_format",
+      "currency-switcher-default": "CAD",
+      "currency-switcher-format": "money_with_currency_format",
+      "currency-switcher-supported-currencies": "CAD USD GBP AUD JPY",
+      "currency-switcher": true,
+      "customer_layout": "customer_area",
+      "default_currency": "USD",
+      "enable_currency_converter": true,
+      "font_body": "libre_franklin_n2",
+      "font_button": "libre_franklin_n4",
+      "font_heading": "raleway_n5",
+      "font_meta": "libre_franklin_n4",
+      "font_navigation": "montserrat_n4",
+      "font-base-size": "14px",
+      "form-select-background": "#ffffff",
+      "form-select-border-color": "#f0f0f0",
+      "form-select-color": "#242424",
+      "header-tools-background-color": "#f7f8f4",
+      "header-tools-color": "#242424",
+      "heading-color": "#242424",
+      "heading-font-small-caps": false,
+      "heading-font-weight": "400",
+      "heading-font": "'Crimson Text', serif",
+      "logo-color": "#222222",
+      "meta-color": "#242424",
+      "meta-font-small-caps": true,
+      "meta-font-weight": "400",
+      "meta-font": "Lato, sans-serif",
+      "navigation-color": "#242424",
+      "navigation-font-small-caps": true,
+      "navigation-font-weight": "400",
+      "navigation-font": "Lato, sans-serif",
+      "password-mailing-list": false,
+      "product_hover": "image-flip",
+      "product-badge-background-color": "#6e776b",
+      "quickshop_enable_cart_redirection": false,
+      "quickshop_enable_video_autoplay": true,
+      "quickshop_enable_video_looping": false,
+      "quickshop_enable_zoom": false,
+      "quickshop_images_layout": "masonry",
+      "quickshop_show_payment_button": false,
+      "quickshop_show_social_media_icons": false,
+      "quickshop_show_vendor": false,
+      "secondary-button-background": "#c9d1c7",
+      "secondary-button-color": "#242424",
+      "share-widget-email": true,
+      "share-widget-facebook": true,
+      "share-widget-fancy": true,
+      "share-widget-google-plus": true,
+      "share-widget-pinterest": true,
+      "share-widget-twitter": true,
+      "show_vendor": false
+    },
+    "Knoll": {
+      "accent-color": "#8e6429",
+      "ajax": false,
+      "alternative-index-layout-title-color": "#ffffff",
+      "alternative-index-layout": false,
+      "background-color": "#ffffff",
+      "body-font": "Rubik, sans-serif",
+      "body-text-color": "#817562",
+      "border-color": "#edecea",
+      "button-color": "#ffffff",
+      "button-font-small-caps": false,
+      "button-font-weight": "400",
+      "button-font": "Rubik, sans-serif",
+      "checkout_accent_color": "#1990c6",
+      "checkout_body_background_color": "#fff",
+      "checkout_body_font": "Helvetica Neue",
+      "checkout_button_color": "#1990c6",
+      "checkout_error_color": "#ff6d6d",
+      "checkout_heading_font": "Helvetica Neue",
+      "checkout_input_background_color_mode": "white",
+      "checkout_logo_position": "left",
+      "checkout_logo_size": "medium",
+      "checkout_sidebar_background_color": "#fafafa",
+      "currency_converter_supported_currencies": "CAD USD EUR GBP AUD JPY",
+      "currency_display_format": "money_with_currency_format",
+      "currency-switcher-default": "CAD",
+      "currency-switcher-format": "money_with_currency_format",
+      "currency-switcher-supported-currencies": "CAD USD GBP AUD JPY",
+      "currency-switcher": true,
+      "customer_layout": "customer_area",
+      "default_currency": "USD",
+      "enable_currency_converter": true,
+      "font_body": "archivo_n4",
+      "font_button": "archivo_n4",
+      "font_heading": "ebgaramond_n4",
+      "font_meta": "archivo_n4",
+      "font_navigation": "ebgaramond_n4",
+      "font-base-size": "14px",
+      "form-select-background": "#ffffff",
+      "form-select-border-color": "#edecea",
+      "form-select-color": "#6d583c",
+      "header-tools-background-color": "#f5f4f2",
+      "header-tools-color": "#544128",
+      "heading-color": "#544128",
+      "heading-font-small-caps": false,
+      "heading-font-weight": "700",
+      "heading-font": "'Chivo', sans-serif",
+      "logo-color": "#222222",
+      "meta-color": "#937a54",
+      "meta-font-small-caps": true,
+      "meta-font-weight": "400",
+      "meta-font": "Rubik, sans-serif",
+      "navigation-color": "#544128",
+      "navigation-font-small-caps": false,
+      "navigation-font-weight": "400",
+      "navigation-font": "Rubik, sans-serif",
+      "password-mailing-list": false,
+      "product_badges_icons": false,
+      "product_badges": false,
+      "product_hover": "image-flip",
+      "product-badge-background-color": "#ba8a4c",
+      "quickshop_enable_cart_redirection": false,
+      "quickshop_enable_video_autoplay": true,
+      "quickshop_enable_video_looping": false,
+      "quickshop_enable_zoom": false,
+      "quickshop_images_layout": "slideshow",
+      "quickshop_show_payment_button": true,
+      "quickshop_show_social_media_icons": false,
+      "quickshop_show_vendor": false,
+      "secondary-button-background": "#f3efe5",
+      "secondary-button-color": "#544128",
+      "share-widget-email": true,
+      "share-widget-facebook": true,
+      "share-widget-fancy": false,
+      "share-widget-google-plus": true,
+      "share-widget-pinterest": true,
+      "share-widget-twitter": true,
+      "show_vendor": false
+    },
+    "Ember": {
+      "accent-color": "#232323",
+      "ajax": false,
+      "alternative-index-layout-title-color": "#ffffff",
+      "alternative-index-layout": false,
+      "background-color": "#ffffff",
+      "body-text-color": "#333333",
+      "border-color": "#dddddd",
+      "button-color": "#ffffff",
+      "button-font-small-caps": true,
+      "checkout_accent_color": "#5a4b2e",
+      "checkout_body_background_color": "#ffffff",
+      "checkout_body_font": "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'",
+      "checkout_button_color": "#000000",
+      "checkout_error_color": "#e32c2b",
+      "checkout_heading_font": "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'",
+      "checkout_input_background_color_mode": "white",
+      "checkout_logo_position": "left",
+      "checkout_logo_size": "medium",
+      "checkout_sidebar_background_color": "#ededed",
+      "currency_converter_supported_currencies": "CAD USD GBP AUD JPY",
+      "currency_display_format": "money_format",
+      "currency-switcher-default": "CAD",
+      "customer_layout": "customer_area",
+      "default_currency": "USD",
+      "enable_currency_converter": false,
+      "font_body": "nunito_sans_n3",
+      "font_button": "nunito_sans_n6",
+      "font_heading": "lucida_grande_n4",
+      "font_meta": "nunito_sans_n4",
+      "font_navigation": "nunito_sans_n6",
+      "font-base-size": "14px",
+      "form-select-background": "#ffffff",
+      "form-select-border-color": "#dddddd",
+      "form-select-color": "#787878",
+      "header-tools-background-color": "#ededed",
+      "header-tools-color": "#333333",
+      "heading-color": "#000000",
+      "heading-font-small-caps": false,
+      "logo-color": "#222222",
+      "meta-color": "#8a8a8a",
+      "meta-font-small-caps": true,
+      "navigation-color": "#333333",
+      "navigation-font-small-caps": true,
+      "password-mailing-list": false,
+      "product_badges": true,
+      "product-badge-background-color": "#232323",
+      "quickshop_enable_cart_redirection": false,
+      "quickshop_enable_video_autoplay": true,
+      "quickshop_enable_video_looping": false,
+      "quickshop_enable_zoom": false,
+      "quickshop_images_layout": "slideshow",
+      "quickshop_show_payment_button": true,
+      "quickshop_show_social_media_icons": false,
+      "secondary-button-background": "#5a4b2e",
+      "secondary-button-color": "#ffffff",
+      "share-widget-email": true,
+      "share-widget-facebook": true,
+      "share-widget-fancy": true,
+      "share-widget-pinterest": true,
+      "share-widget-twitter": true,
+      "show_vendor": false
+    }
+  },
+  "_cache_bust": "2026-03-24T19:25:00"
+}
diff --git a/shopify/frontpage-sprint/live-src/layout__theme.liquid b/shopify/frontpage-sprint/live-src/layout__theme.liquid
new file mode 100644
index 00000000..035a1645
--- /dev/null
+++ b/shopify/frontpage-sprint/live-src/layout__theme.liquid
@@ -0,0 +1,1032 @@
+{% comment %}DW-CHINA-BLOCK-START{% endcomment %}
+{% assign dw_blocked_countries = "CN" | split: "," %}
+{% assign dw_visitor_country = localization.country.iso_code | upcase %}
+{% assign dw_is_blocked = false %}
+{% for dw_bc in dw_blocked_countries %}
+  {% assign dw_bc_trimmed = dw_bc | strip %}
+  {% if dw_visitor_country == dw_bc_trimmed %}
+    {% assign dw_is_blocked = true %}
+  {% endif %}
+{% endfor %}
+
+{% if dw_is_blocked %}
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<!-- DW-CHINA-JS-BLOCK-START -->
+<script>
+(function() {
+  var blockedCountries = ['CN'];
+  fetch('/browsing_context_suggestions.json', {method: 'GET', credentials: 'same-origin'})
+    .then(function(r) { return r.json(); })
+    .catch(function() { return null; })
+    .then(function(data) {
+      if (data && data.detected_values && data.detected_values.country && data.detected_values.country.handle) {
+        var detectedCountry = data.detected_values.country.handle.toUpperCase();
+        if (blockedCountries.indexOf(detectedCountry) !== -1) {
+          var container = document.createElement('div');
+          container.innerHTML = '<div style="position:fixed;top:0;left:0;width:100%;height:100%;background:#f5f5f5;z-index:999999;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,sans-serif"><div style="text-align:center;padding:60px 40px;background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08);max-width:520px;width:90%"><div style="font-size:48px;margin-bottom:20px">&#127760;</div><h1 style="font-size:24px;margin-bottom:16px;font-weight:600;color:#333">Region Not Available</h1><p style="font-size:16px;line-height:1.6;color:#666;margin-bottom:12px">This store is not available in your region.</p><p style="font-size:16px;line-height:1.6;color:#666">We do not ship to or serve customers in your area at this time.</p></div></div>';
+          document.body.innerHTML = '';
+          document.body.appendChild(container);
+        }
+      }
+    });
+})();
+</script>
+<!-- DW-CHINA-JS-BLOCK-END -->
+
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Region Not Available</title>
+  <style>
+    * { margin: 0; padding: 0; box-sizing: border-box; }
+    body {
+      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
+      background: #f5f5f5;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      min-height: 100vh;
+      color: #333;
+    }
+    .container {
+      text-align: center;
+      padding: 60px 40px;
+      background: white;
+      border-radius: 12px;
+      box-shadow: 0 4px 24px rgba(0,0,0,0.08);
+      max-width: 520px;
+      width: 90%;
+    }
+    .icon { font-size: 48px; margin-bottom: 20px; }
+    h1 { font-size: 24px; margin-bottom: 16px; font-weight: 600; }
+    p { font-size: 16px; line-height: 1.6; color: #666; margin-bottom: 12px; }
+    .contact { margin-top: 24px; font-size: 14px; color: #999; }
+    .contact a { color: #2563eb; text-decoration: none; }
+  </style>
+<script src="{{ 'dw-grid-control.js' | asset_url }}" defer></script>
+
+
+
+
+
+<!-- cache-bust: 2026-03-25T00:54:55.724677 -->
+</head>
+<body>
+  <div class="container">
+    <div class="icon">&#127760;</div>
+    <h1>Region Not Available</h1>
+    <p>We're sorry, but this store is not available in your region.</p>
+    <p>We do not ship to or serve customers in your area at this time.</p>
+    <div class="contact">
+      Questions? Contact us at <a href="mailto:info@designerwallcoverings.com">info@designerwallcoverings.com</a>
+    </div>
+  </div>
+
+
+</body>
+</html>
+{% break %}
+{% endif %}
+{% comment %}DW-CHINA-BLOCK-END{% endcomment %}
+
+<!doctype html>
+<html
+  class="
+    no-js
+    loading
+  "
+  lang="{{ request.locale.iso_code }}"
+>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+
+  <!-- Preconnect Domains -->
+  <link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
+  <link rel="preconnect" href="https://fonts.shopify.com" crossorigin>
+  <link rel="preconnect" href="https://monorail-edge.shopifysvc.com">
+
+  <!-- Preload Assets -->
+  <link rel="preload" href="{{ 'chiko-icons.woff' | asset_url }}" as="font" type="font/woff" crossorigin>
+  <link rel="preload" href="{{ 'pxu-social-icons.woff' | asset_url }}" as="font" type="font/woff" crossorigin>
+
+  <link rel="preload" href="{{ 'theme.css' | asset_url }}" as="style">
+
+  <link rel="preload" href="{{ 'modernizr-2.8.2.min.js' | asset_url  }}" as="script">
+
+  {% if template contains 'cart' %}
+    <link rel="preload" href="{{ '/services/javascripts/countries.js' }}" as="script">
+    <link rel="preload" href="{{ 'shopify_common.js' | shopify_asset_url }}" as="script">
+  {% endif %}
+
+  {% if template contains 'customers' %}
+    <link rel="preload" href="{{ 'shopify_common.js' | shopify_asset_url }}" as="script">
+    <link rel="preload" href="{{ 'customer_area.js' | shopify_asset_url }}" as="script">
+  {% endif %}
+
+  <link rel="preload" href="{{ 'grid.js' | asset_url }}" as="script">
+
+  <script src="//cdata.modernpostcard.com/js/E3CA4636CEDAD4.js" async defer></script>
+
+  <title>
+    {{ page_title }}
+
+    {% if current_tags %}
+      &#8211; {{ current_tags | join: ', ' }}
+    {% endif %}
+
+    {% if current_page != 1 %}
+      &#8211; {{ 'general.pagination.page' | t: page_number: current_page }}
+    {% endif %}
+
+    {% unless page_title contains shop.name %}
+      &#8211; {{ shop.name }}
+    {% endunless %}
+  </title>
+
+  {% if page_description %}
+    <meta name="description" content="{{ page_description | escape }}" />
+  {% endif %}
+
+  {% if settings.favicon %}
+    <link rel="shortcut icon" href="{{ settings.favicon | img_url: '32x32' }}" type="image/png" />
+  {% endif %}
+
+  {% if template contains 'collection' and current_tags %}
+    <meta name="robots" content="noindex" />
+    <link rel="canonical" href="{{ shop.url }}{{ collection.url }}" />
+  {% else %}
+    <link rel="canonical" href="{{ canonical_url }}" />
+  {% endif %}
+  <meta name="viewport" content="width=device-width,initial-scale=1" />
+
+  {%- render 'head.import-map' -%}
+  {%- render 'head.is-land' -%}
+
+  {% comment %}
+  {% render 'boost-sd-fallback' %}
+  {% endcomment %}
+    {{ content_for_header }}
+
+  {% liquid
+     assign heading_text_transform = 'none'
+     if settings.heading-font-small-caps
+       assign heading_text_transform = 'uppercase'
+     endif
+
+     assign button_text_transform = 'none'
+     assign button_letter_spacing = '0em'
+     if settings.button-font-small-caps
+       assign button_text_transform = 'uppercase'
+       assign button_letter_spacing = '0.05em'
+     endif
+  %}
+
+  <style>
+    :root {
+      /* ------------------------------------------------------------
+        Typography
+      ------------------------------------------------------------ */
+      /* Body */
+      --element-text-font-size--body-lg: 1.286rem; /* Product price */
+      --element-text-font-size--body-sm: var(--text-size-3-5); /* SKU, installments, variant labels */
+      --element-text-font-family--body: {{ settings.font_body.family }}, {{ settings.font_body.fallback_families }};
+      --element-text-font-weight--body: {{ settings.font_body.weight }};
+
+      /* Headings */
+      --element-text-font-size--heading-xl: 2.5rem; /* Product title */
+      --element-text-font-family--heading: {{ settings.font_heading.family }}, {{ settings.font_heading.fallback_families }};
+      --element-text-font-weight--heading: {{ settings.font_heading.weight }};
+      --element-text-line-height--heading: 1.25;
+      --element-text-text-transform--heading: {{ heading_text_transform }};
+
+      /* Buttons */
+      --element-button-font-family: {{ settings.font_button.family }}, {{ settings.font_button.fallback_families }};
+      --element-button-text-transform: {{ button_text_transform }};
+      --element-button-letter-spacing: {{ button_letter_spacing }};
+
+      /* ------------------------------------------------------------
+        Colors
+      ------------------------------------------------------------ */
+      --color-primary: {{ settings['body-text-color'] }}; 
+      --color-secondary: {{ settings['background-color'] }};
+      --root-color-primary: {{ settings['body-text-color'] }}; 
+      --root-color-secondary: {{ settings['background-color'] }};
+      --color-focus: #0000ff;
+
+      --color-sale-tag-text: {{ settings['background-color'] }};
+      --color-sale-tag: {{ settings['product-badge-background-color'] }};
+      
+      --element-button-color-primary: {{ settings['button-color'] }};
+      --element-button-color-secondary: {{ settings['accent-color'] }};
+      
+      --element-text-color: {{ settings['body-text-color'] }};
+      --element-text-color--heading: {{ settings['heading-color'] }};
+
+      --element-input-color-primary: {{ settings['form-select-color'] }};
+      --element-input-color-secondary: {{ settings['form-select-background'] }};
+
+      /* ------------------------------------------------------------
+        Other
+      ------------------------------------------------------------ */
+      --element-badge-radius: 2px;
+      --element-button-radius: 2px;
+
+      --layout-section-max-inline-size: 1260px;
+      --layout-section-padding-inline: 30px;
+    }
+
+    /* ------------------------------------------------------------
+      Component overrides
+    ------------------------------------------------------------ */
+
+    ::before,
+    ::after {
+      box-sizing: content-box;
+    }
+    product-hot-reload ::before,
+    product-hot-reload ::after {
+      box-sizing: border-box;
+    }
+
+    /* Lightbox */
+    .overlay-lightbox__overlay {
+      z-index: 9999;
+    }
+
+    /* Pick up */
+    .element-icon-in-stock {
+      fill: currentColor;
+    }
+
+    /* Divider */
+    hr.element-divider {
+      height: 0;
+      background: transparent;
+    }
+
+    /* Drawer */
+    overlay-drawer .element-button {
+      --element-button-color-primary: {{ settings.body-text-color }};
+      --element-icon-stroke-width: 3px;
+    }
+
+    /* Heading */
+    .element-text:is([class*=element-text--heading]) {
+      --_color: var(--element-text-color--heading);
+    }
+
+    /* Element Input */
+    .element-input {
+      --_color-box-shadow: {{ settings['form-select-border-color'] }};
+    }
+
+    /* Variant Labels */
+    label.element-text:is([class*=element-text--body]):where(.element-text--body-sm) {
+      color: {{ settings['heading-color'] }};
+      font-size: 1rem;
+
+      .element-text:first-child {
+        color: {{ settings['heading-color'] }};
+      }
+    }
+
+    /* Element Select */
+    element-select {
+      --color-primary: {{ settings['form-select-border-color'] }};
+      --element-button-color-primary: {{ settings['form-select-color'] }};
+      --element-button-color-secondary: {{ settings['form-select-background'] }};
+      --element-button-box-shadow: inset 0 0 0 1px {{ settings['form-select-border-color'] }};
+      --element-button-font-family: {{ settings.font_body.family }}, {{ settings.font_body.fallback_families }};
+      --element-button-text-transform: none;
+    }
+    element-select.element-select__wrapper--focused .element-button {
+      box-shadow: inset 0 0 0 var(--element-button-border-width--focus) var(--_color-focus);
+      border: none;
+    }
+
+    /* Media Gallery */
+    .media-gallery__thumb {
+      border-radius: 0;
+    }
+
+    /* ATC */
+
+    product-form .element-button[type="submit"] {
+      --element-button-padding-block: var(--size-5);
+      --_color-text: {{ settings['button-color'] }};
+      --_color-background: {{ settings['accent-color'] }};
+      --_box-shadow: none;
+
+      &:disabled {
+        color: #888888 !important;
+        background-color: #cccccc !important;
+      }
+    }
+
+    product-form:has(.element-button--shopify-payment-wrapper) .element-button[type="submit"] {
+      --element-button-color-primary: {{ settings['secondary-button-color'] }};
+      --element-button-color-secondary: {{ settings['secondary-button-background'] }};
+    }
+
+    .shopify-payment-button .shopify-payment-button__button.shopify-payment-button__button--unbranded,
+    .shopify-payment-button .shopify-payment-button__button {
+      --element-text-line-height--body-md: 1;
+      --element-button-color-primary: {{ settings['accent-color'] }};
+      --element-button-color-secondary: {{ settings['button-color'] }};
+      --element-button-padding-block: var(--size-5);
+      --_box-shadow: none;
+
+      text-transform: var(--element-button-text-transform);
+    }
+  </style>
+
+  {% assign x_handle = settings.social-x-link | split: 'x.com/' | last | split: 'twitter.com/' | last %}
+  {%
+    render 'social-meta-tags',
+    twitter_handle: x_handle,
+    default_image: page_image,
+  %}
+
+  <!-- Theme CSS -->
+  <link rel="stylesheet" href="{{ 'theme.css' | asset_url }}">
+  {% render 'dw-product-styles' %}
+  <link rel="stylesheet" href="{{ 'custom.css' | asset_url }}">
+  {% if settings.custom-css != blank %}
+    <style>
+      {{ settings.custom-css }}
+    </style>
+  {% endif %}
+
+  <!-- Theme object -->
+  {% comment %}Inject theme-object begin{% endcomment %}
+  <script>
+    var Theme = {};
+    Theme.version = "7.1.0";
+    Theme.name = 'Grid';
+  
+    Theme.currency = {{ shop.currency | json }};
+    Theme.moneyFormat = {{ shop.money_format | strip_html | json }};
+  
+    Theme.pleaseSelectText = "{{ 'general.general.please_select' | t | strip_newlines | escape }}";
+  
+    Theme.addToCartSuccess = "{{ 'products.product.success_html' | t: product: '**product**', cart_link: '**cart_link**', continue_link: '**continue_link**', checkout_link: '**checkout_link**' | strip_newlines | escape }}";
+  
+    {% if shop.customer_accounts_enabled and customer %}
+      Theme.customerLoggedIn = true;
+    {% endif %}
+  
+    Theme.shippingCalculator = true;
+    Theme.shippingButton = "{{ 'cart.shipping_calculator.submit' | t | strip_newlines | escape }}";
+    Theme.shippingDisabled = "{{ 'cart.shipping_calculator.disabled' | t | strip_newlines | escape }}";
+  
+    {% if shop.customer_accounts_enabled and customer and customer.default_address %}
+      Theme.customerAddress = {{ customer.default_address | json }};
+    {% endif %}
+  
+    Theme.shippingCalcErrorMessage = "{{ 'cart.shipping_calculator.error' | t | strip_newlines | replace: '"','\\"' }}";
+    Theme.shippingCalcMultiRates = "{{ 'cart.shipping_calculator.rates_html' | t | strip_newlines | replace: '"','\\"' }}";
+    Theme.shippingCalcOneRate = "{{ 'cart.shipping_calculator.rate' | t | strip_newlines | replace: '"','\\"' }}";
+    Theme.shippingCalcNoRates = "{{ 'cart.shipping_calculator.no_rates' | t | strip_newlines | replace: '"','\\"' }}";
+    Theme.shippingCalcRateValues = "{{ 'cart.shipping_calculator.rate_values_html' | t | strip_newlines | replace: '"','\\"' }}";
+  
+    Theme.routes = {
+      "root_url": "{{ routes.root_url }}",
+      "account_url": "{{ routes.account_url }}",
+      "account_login_url": "{{ routes.account_login_url }}",
+      "account_logout_url": "{{ routes.account_logout_url }}",
+      "account_register_url": "{{ routes.account_register_url }}",
+      "account_addresses_url": "{{ routes.account_addresses_url }}",
+      "collections_url": "{{ routes.collections_url }}",
+      "all_products_collection_url": "{{ routes.all_products_collection_url }}",
+      "search_url": "{{ routes.search_url }}",
+      "cart_url": "{{ routes.cart_url }}",
+      "cart_add_url": "{{ routes.cart_add_url }}",
+      "cart_change_url": "{{ routes.cart_change_url }}",
+      "cart_clear_url": "{{ routes.cart_clear_url }}",
+      "product_recommendations_url": "{{ routes.product_recommendations_url }}",
+      "predictive_search_url": "{{ routes.predictive_search_url }}",
+    };
+  </script>
+  {% comment %}Inject theme-object end{% endcomment %}
+
+  {% render 'jquery-snippet' %}
+  <script src="{{ 'custom.js' | asset_url }}" defer></script>
+
+  <script>
+    (function() {
+      document.documentElement.classList.remove('no-js');
+      window.addEventListener('DOMContentLoaded', function() {
+        document.documentElement.classList.remove('loading');
+      });
+      window.setTimeout(function() {
+        document.documentElement.classList.remove('loading');
+      }, 2000);
+
+      if (!window.MutationObserver || !window.MutationObserver.prototype) {
+        return;
+      }
+      var originalObserve = window.MutationObserver.prototype.observe;
+      window.MutationObserver.prototype.observe = function(target, options) {
+        if (!(target instanceof Node)) {
+          return;
+        }
+        return originalObserve.call(this, target, options);
+      };
+    })();
+  </script>
+
+<script src="{{ 'dw-grid-control.js' | asset_url }}" defer></script>
+
+
+
+
+
+
+
+
+
+
+
+<!-- DW: Price hiding script REMOVED 2026-03-24 -->
+
+<style>
+/* Belt-and-suspenders: CSS hide prices too */
+.boost-sd__product-price,
+.boost-sd__product-item [class*="price"],
+.boost-sd__product-item span[class*="money"],
+.boost-sd [class*="product-price"] {
+  display: none !important;
+  visibility: hidden !important;
+  opacity: 0 !important;
+  height: 0 !important;
+  font-size: 0 !important;
+  line-height: 0 !important;
+  position: absolute !important;
+  pointer-events: none !important;
+}
+/* Restore on product pages + cart */
+#shopify-section-product [class*="price"],
+#shopify-section-product span.money,
+.product-add-to-cart span.money,
+.shopify-product-form span.money,
+.mini-cart span.money,
+.cart span.money {
+  display: inline !important;
+  visibility: visible !important;
+  opacity: 1 !important;
+  height: auto !important;
+  font-size: inherit !important;
+  line-height: inherit !important;
+  position: static !important;
+  pointer-events: auto !important;
+}
+/* Square images */
+.boost-sd__product-item [class*="product-image"],
+.boost-sd__product-item [class*="image-wrapper"] {
+  aspect-ratio: 1/1 !important;
+  overflow: hidden !important;
+}
+.boost-sd__product-item img {
+  width: 100% !important;
+  height: 100% !important;
+  object-fit: cover !important;
+}
+/* Hide View As toggle */
+[class*="view-as"], [class*="viewAs"], .boost-sd__toolbar [class*="view"], .boost-sd [class*="toolbar-view"] {
+  display: none !important;
+}
+/* Hide View As toggle */
+[class*="view-as"],[class*="viewAs"],.boost-sd__toolbar [class*="view"],.boost-sd [class*="toolbar"] [class*="view"]{display:none!important}
+/* Center text */
+.boost-sd__product-item,
+.boost-sd__product-item [class*="title"],
+.boost-sd__product-item [class*="vendor"],
+.boost-sd__product-item p,
+.dw-vendor-link {
+  text-align: center !important;
+}
+</style>
+<!-- DW: killPrices REMOVED 2026-03-24 -->
+
+<!-- /DW -->
+
+{% comment %} DW: ItemList structured data for the Shop-by-Brand page (script tags are stripped from page body_html, so injected here) {% endcomment %}
+{% if page.handle == 'brands' %}{% render 'brands-jsonld' %}{% endif %}
+
+<!-- cache-bust: 2026-03-25T00:54:55.724677 -->
+</head>
+
+<body
+  class="
+    template-{{ template.name }}
+    template-suffix-{{ template.suffix }}
+
+    {% if customer %}
+      customer-logged-in
+    {% endif %}
+  "
+>
+
+  {%- comment -%}
+    ── China Region Block (added 2026-02-27) ──
+    Blocks visitors from CN country code with a full-screen overlay.
+  {%- endcomment -%}
+  {%- if localization.country.iso_code == 'CN' -%}
+    <div id="region-block" style="position:fixed;inset:0;z-index:999999;background:#ffffff;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;">
+      <h1 style="font-size:24px;color:#333;margin-bottom:16px;">This store is not available in your region</h1>
+      <p style="font-size:16px;color:#666;max-width:500px;">We apologize for the inconvenience, but this store does not currently serve customers in your region.</p>
+    </div>
+    <style>body{overflow:hidden !important;}</style>
+  {%- endif -%}
+
+  {% sections 'header-group' %}
+
+  <div style="--background-color: {{ settings.background-color }}">
+    {%
+      render 'age-gate',
+      id: 'page',
+      sections: content_for_layout,
+    %}
+  </div>
+
+  {% include 'quickshop' %}
+
+  {% comment %}Inject icon-star-symbol begin{% endcomment %}
+  <svg
+    class="icon-star-reference"
+    aria-hidden="true"
+    focusable="false"
+    role="presentation"
+    xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="3 3 17 17" fill="none"
+  >
+    <symbol id="icon-star">
+      <rect class="icon-star-background" width="20" height="20" fill="currentColor"/>
+      <path d="M10 3L12.163 7.60778L17 8.35121L13.5 11.9359L14.326 17L10 14.6078L5.674 17L6.5 11.9359L3 8.35121L7.837 7.60778L10 3Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
+    </symbol>
+    <clipPath id="icon-star-clip">
+      <path d="M10 3L12.163 7.60778L17 8.35121L13.5 11.9359L14.326 17L10 14.6078L5.674 17L6.5 11.9359L3 8.35121L7.837 7.60778L10 3Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+    </clipPath>
+  </svg>
+  {% comment %}Inject icon-star-symbol end{% endcomment %}
+
+  <div class="main-content">
+    {% render "dw-boost-overrides" %}
+{{ content_for_layout }}
+  </div>
+
+  <div class="site-overlay" data-site-overlay></div>
+
+  {% sections 'footer-group' %}
+
+  <!-- Scripts -->
+  <!-- Third Party JS Libraries -->
+  <script src="{{ 'modernizr-2.8.2.min.js' | asset_url  }}" defer></script>
+
+  {% if template contains 'cart' %}
+    <script src="{{ '/services/javascripts/countries.js' }}" defer></script>
+    <script src="{{ 'shopify_common.js' | shopify_asset_url }}" defer></script>
+  {% endif %}
+
+  {% if template contains 'customers' %}
+    <script src="{{ 'shopify_common.js' | shopify_asset_url }}" defer></script>
+    <script src="{{ 'customer_area.js' | shopify_asset_url }}" defer></script>
+  {% endif %}
+
+  <script src="{{ 'grid.js' | asset_url }}" defer></script>
+
+  {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-article begin{% endcomment %}
+  {% comment %}
+    Article structured data
+    https://developers.google.com/search/docs/data-types/articles
+  {% endcomment %}
+  
+  {% if template contains 'article' %}
+    {%- capture article_description  -%}
+      {%- if article.excerpt != blank -%}
+        {{ article.excerpt | strip_html }}
+      {%- else -%}
+        {{ article.content | truncatewords: 100 | strip_html }}
+      {%- endif -%}
+    {%- endcapture -%}
+  
+    <script type="application/ld+json">
+      {
+        "@context": "http://schema.org",
+        "@type": "BlogPosting",
+        "mainEntityOfPage": {
+          "@type": "WebPage",
+          "@id": "{{ shop.url }}{{ article.url }}"
+        },
+        "headline": {{ article.title | json }},
+        {% if article.image %}
+          "image": {
+            "@type": "ImageObject",
+            "url": {{ article.image | img_url: '800x800' | prepend: 'https:' | json }},
+            "height": 800,
+            "width": 800
+          },
+        {% endif %}
+        "datePublished": {{ article.published_at | date: '%Y-%m-%dT%H:%M:%S%z' | json}},
+        "dateModified": {{ article.published_at | date: '%Y-%m-%dT%H:%M:%S%z' | json}},
+        "author": {
+          "@type": "Person",
+          "name": {{ article.author | json }}
+        },
+        "publisher": {
+          "@type": "Organization",
+          "name": {{ shop.name | json }},
+          "logo": {
+            "@type": "ImageObject",
+            "url": {{ article.user.image | img_url: '200x200' | prepend: 'https:' | json }}
+          }
+        },
+        "description": {{ article_description | json }}
+      }
+    </script>
+  {% endif %}
+  {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-article end{% endcomment %}
+
+  {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-breadcrumbs begin{% endcomment %}
+  {% comment %}
+    Breadcrumbs
+    https://developers.google.com/search/docs/data-types/breadcrumbs
+  {% endcomment %}
+  
+  {%- if current_tags -%}
+    {%- assign tag_names = current_tags | join: ', ' %}
+    {% comment %}Converting an array to a handle converts it to a string{% endcomment %}
+    {%- capture tag_handles -%}
+      {%- for tag in current_tags -%}
+        {{- tag | handle | append: '|' -}}
+      {%- endfor -%}
+    {%- endcapture -%}
+  {%- endif -%}
+  
+  {% if collection.url == blank %}
+    {% assign collection_url = '/collections/all' %}
+  {% else %}
+    {% assign collection_url = collection.url %}
+  {% endif %}
+  
+  {% if template.name == 'product'
+      or template.name == 'list-collections'
+      or template.name == 'collection'
+      or template.name == 'blog'
+      or template.name == 'article'
+      or template.name == 'search'
+      or template.name == 'cart'
+      or template.name == 'page'
+  %}
+  
+    <script type="application/ld+json">
+      {
+        "@context": "http://schema.org",
+        "@type": "BreadcrumbList",
+        "itemListElement": [
+        {% case template.name %}
+          {% when 'product' %}
+            {% if product.collections.size >= 1 %}
+              {
+                "@type": "ListItem",
+                "position": 1,
+                "item": {
+                  "@id": "{{ shop.url }}/collections",
+                  "name": {{ 'structured_data.breadcrumbs.collections' | t | json }}
+                }
+              },
+              {
+                "@type": "ListItem",
+                "position": 2,
+                "item": {
+                  "@id": "{{ shop.url }}/collections/{{ product.collections.first.handle }}",
+                  "name": {{ product.collections.first.title | json }}
+                }
+              },
+            {% else %}
+              {
+                "@type": "ListItem",
+                "position": 1,
+                "item": {
+                  "@id": "{{ shop.url }}/products",
+                  "name": {{ 'structured_data.breadcrumbs.products' | t | json }}
+                }
+              },
+            {% endif %}
+            {
+              "@type": "ListItem",
+              "position": {% if product.collections.size >= 1 %}3{% else %}2{% endif %},
+              "item": {
+                "@id": "{{ shop.url }}{{ product.url | within: collection }}",
+                "name": {{ product.title | json }}
+              }
+            }
+          {% when 'list-collections' %}
+            {
+              "@type": "ListItem",
+              "position": 1,
+              "item": {
+                "@id": "{{ shop.url }}/collections",
+                "name": {{ 'structured_data.breadcrumbs.collections' | t | json }}
+              }
+            }
+            {% if current_page != 1 %}
+              ,
+              {
+                "@type": "ListItem",
+                "position": 2,
+                "item": {
+                  "@id": "{{ shop.url }}/collections",
+                  "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+                }
+              }
+            {% endif %}
+          {% when 'collection' %}
+            {
+              "@type": "ListItem",
+              "position": 1,
+              "item": {
+                "@id": "{{ shop.url }}/collections",
+                "name": {{ 'structured_data.breadcrumbs.collections' | t | json }}
+              }
+            },
+            {
+              "@type": "ListItem",
+              "position": 2,
+              "item": {
+                "@id": "{{ shop.url }}{{ collection_url }}",
+                "name": {{ collection.title | json }}
+              }
+            }
+            {% if current_tags %}
+              ,
+              {
+                "@type": "ListItem",
+                "position": 3,
+                "item": {
+                  "@id": "{{ shop.url }}{{ collection_url }}/{{- tag_handles | split: '|' | join: '+' -}}",
+                  "name": {{ 'structured_data.breadcrumbs.tags_html' | t: tags: tag_names | json }}
+                }
+              }
+            {% endif %}
+            {% if current_page != 1 %}
+              {% if current_tags %}
+                {% assign position = 4 %}
+              {% else %}
+                {% assign position = 3 %}
+              {% endif %}
+              ,
+              {
+                "@type": "ListItem",
+                "position": {{ position }},
+                "item": {
+                  "@id": "{{ shop.url }}/collections?page={{ current_page }}",
+                  "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+                }
+              }
+            {% endif %}
+          {% when 'blog' or 'article' %}
+            {
+              "@type": "ListItem",
+              "position": 1,
+              "item": {
+                "@id": "{{ shop.url }}{{ blog.url }}",
+                "name": {{ blog.title | json }}
+              }
+            }
+            {% if template.name == 'article' %}
+              ,
+              {
+                "@type": "ListItem",
+                "position": 2,
+                "item": {
+                  "@id": "{{ shop.url }}{{ article.url }}",
+                  "name": {{ article.title | json }}
+                }
+              }
+            {% elsif current_tags %}
+              ,
+              {
+                "@type": "ListItem",
+                "position": 2,
+                "item": {
+                  "@id": "{{ shop.url }}{{ blog.url }}/tagged/{{- tag_handles | split: '|' | join: '+' -}}",
+                  "name": {{ 'structured_data.breadcrumbs.tags_html' | t: tags: tag_names | json }}
+                }
+              }
+            {% endif %}
+            {% if current_page != 1 %}
+              {% if current_tags %}
+                {% assign position = 3 %}
+                {%- capture url -%}
+                  {{ shop.url }}{{ blog.url }}/tagged/{{ tag_handles | split: '|' | join: '+' }}?page={{ current_page }}
+                {%- endcapture -%}
+              {% else %}
+                {% assign position = 2 %}
+                  {%- capture url -%}
+                  {{ shop.url }}{{ blog.url }}?page={{ current_page }}
+                {%- endcapture -%}
+              {% endif %}
+              ,
+              {
+                "@type": "ListItem",
+                "position": {{ position }},
+                "item": {
+                  "@id": "{{ url }}",
+                  "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+                }
+              }
+            {% endif %}
+          {% when 'search' %}
+            {
+              "@type": "ListItem",
+              "position": 1,
+              "item": {
+                "@id": "{{ shop.url }}/search",
+                "name": {{ 'structured_data.breadcrumbs.search' | t | json }}
+              }
+            }
+            {% if search.performed %}
+            ,
+              {
+                "@type": "ListItem",
+                "position": 2,
+                "item": {
+                  "@id": "{{ shop.url }}/search?q={{ search.terms }}",
+                  "name": {{ search.terms | json }}
+                }
+              }
+              {% if current_page != 1 %}
+              ,
+                {
+                  "@type": "ListItem",
+                  "position": 3,
+                  "item": {
+                    "@id": "{{ shop.url }}/search?page={{ current_page }}&q={{ search.terms }}",
+                    "name": {{ 'structured_data.breadcrumbs.page' | t: page: current_page | json }}
+                  }
+                }
+              {% endif %}
+            {% endif %}
+          {% when 'cart' %}
+            {
+              "@type": "ListItem",
+              "position": 1,
+              "item": {
+                "@id": "{{ shop.url }}/cart",
+                "name": {{ 'structured_data.breadcrumbs.cart' | t | json }}
+              }
+            }
+          {% when 'page' %}
+            {
+              "@type": "ListItem",
+              "position": 1,
+              "item": {
+                "@id": "{{ page.url }}",
+                "name": {{ page.title | json }}
+              }
+            }
+          {% else %}
+          {% endcase %}
+        ]
+      }
+    </script>
+  {% endif %}
+  {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-breadcrumbs end{% endcomment %}
+
+  {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-product begin{% endcomment %}
+  {% comment %}
+    Product structured data
+    https://developers.google.com/search/docs/data-types/products
+  {% endcomment %}
+  
+  {% if template contains 'product' %}
+    {% assign selected_variant = product.selected_or_first_available_variant | default: product.variants.first %}
+    {% assign product_image = selected_variant.featured_image | default: product.featured_image %}
+    {%- capture product_name -%}
+      {{ product.title }}
+      {%- if selected_variant.title != 'Default Title' and selected_variant.option1 == 'Default Title' -%}
+        - {{ selected_variant.title }}
+      {%- endif -%}
+    {%- endcapture -%}
+  
+    {%- assign now = 'now' | date: '%Y-%m-%d' | split: '-' -%}
+    {% capture year_from_now %}{{ now[0] | plus: 1 }}-{{ now[1] }}-{{ now[2] | at_most: 28 }}{% endcapture %}
+  
+    <script type="application/ld+json">
+    {
+      "@context": "http://schema.org/",
+      "@type": "Product",
+      "name": {{ product_name | strip_newlines | json }},
+      "image": {{ product_image | img_url: '1024x1024' | prepend: 'https:' | json }},
+      {% if product.description != blank %}
+        "description": {{ product.description | json }},
+      {% endif %}
+      {% if product.vendor %}
+        "brand": {
+          "@type": "Thing",
+          "name": {{ product.vendor | json }}
+        },
+      {% endif %}
+      {% if selected_variant.sku != blank %}
+        "sku": {{ selected_variant.sku | json }},
+      {% endif %}
+      {% if selected_variant.barcode != blank %}
+        "mpn": {{ selected_variant.barcode | json }},
+      {% endif %}
+      "offers": {
+        "@type": "Offer",
+        "priceCurrency": {{ cart.currency.iso_code | json }},
+        "price": {{ selected_variant.price | divided_by: 100.0 | json }},
+        "availability": "http://schema.org/{% if selected_variant.available %}InStock{% else %}OutOfStock{% endif %}",
+        "url": "{{ shop.url }}{{ selected_variant.url }}",
+        "seller": {
+          "@type": "Organization",
+          "name": {{ shop.name | json }}
+        },
+        "priceValidUntil": {{ year_from_now | json }}
+      }
+    }
+    </script>
+  {% endif %}
+  {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-product end{% endcomment %}
+
+  {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-website begin{% endcomment %}
+  {% comment %}
+    Store information
+    https://developers.google.com/search/docs/data-types/sitename
+  {% endcomment %}
+  
+  <script type="application/ld+json">
+    {
+      "@context": "http://schema.org",
+      "@type": "WebSite",
+      "name": "{{ shop.name }}",
+      "url": "{{ shop.url }}"
+    }
+  </script>
+  {% comment %}Inject @pixelunion/shopify-structured-data/structured-data-website end{% endcomment %}
+
+  <form id="checkout_form" action="{{ routes.cart_url }}" method="POST" style="display: none;"></form>
+
+  <script>
+    (function () {
+      function handleFirstTab(e) {
+        if (e.keyCode === 9) { // the "I am a keyboard user" key
+          document.body.classList.add('user-is-tabbing');
+          window.removeEventListener('keydown', handleFirstTab);
+        }
+      }
+      window.addEventListener('keydown', handleFirstTab);
+    })();
+  </script>
+  <script>(function(n, v) {/* eslint-disable-next-line max-len */if (window.Shopify && window.Shopify.theme && navigator && navigator.sendBeacon && window.Shopify.designMode) {if (sessionStorage.getItem('oots_beacon')) return;navigator.sendBeacon('https://app.outofthesandbox.com/beacon', new URLSearchParams({shop_domain: window.Shopify.shop.toLowerCase(),shop_id: '{{ shop.id }}',shop_email: '{{ shop.email }}',theme_name: n.toLowerCase(),theme_version: v.toLowerCase(),theme_store_id: window.Shopify.theme.theme_store_id,theme_id: window.Shopify.theme.id,theme_role: window.Shopify.theme.role,}));sessionStorage.setItem('oots_beacon', '');}}('grid','7.1.0'))</script>
+
+<!--Start of Zendesk Chat Script-->
+<script async>
+window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s=
+d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set.
+_.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute("charset","utf-8");
+$.src="https://v2.zopim.com/?RH5Yjru86SIJRwOxfiMAf2DTCgdROhhf";z.t=+new Date;$.
+type="text/javascript";e.parentNode.insertBefore($,e)})(document,"script");
+</script>
+<!--End of Zendesk Chat Script-->
+<!-- Statcounter code for DW - Started 3/5/19
+http://DesignerWallcoverings.com on Shopify -->
+<script type="text/javascript">
+var sc_project=11961678; 
+var sc_invisible=1; 
+var sc_security="9d9a53bd"; 
+var sc_https=1; 
+</script>
+<script type="text/javascript"
+src="https://www.statcounter.com/counter/counter.js"
+async></script>
+<noscript><div class="statcounter"><a title="web statistics"
+href="https://statcounter.com/" target="_blank"><img
+class="statcounter"
+src="https://c.statcounter.com/11961678/0/9d9a53bd/1/"
+alt="web statistics"></a></div></noscript>
+<!-- End of Statcounter Code -->
+
+{% render 'hide-browse-hidden' %}
+
+<!-- DW: price restore band-aid removed 2026-06-11 — root cause (blank saw_variant_price) fixed in product-form-content.liquid; no price-hiding CSS exists. -->
+{%- comment -%} DW Shop-by-Color wheel {%- endcomment -%}
+<script>window.DW_CW_DATA="{{ 'dw-color-wheel-data.json' | asset_url }}";</script>
+<script src="{{ 'dw-color-wheel.js' | asset_url }}" defer></script>
+{%- comment -%} DW Phillip-Jeffries browse hide (stopgap) {%- endcomment -%}
+<script src="{{ 'dw-pj-hide.js' | asset_url }}" defer></script>
+{%- comment -%} DW card hover label: Pattern, Color + Vendor on hover (2026-06-22) {%- endcomment -%}
+<script src="{{ 'dw-card-hover.js' | asset_url }}" defer></script>
+{%- comment -%} DW horizontal collapsible Boost filter bar (Approach B) — collection/search only (2026-06-22) {%- endcomment -%}
+{%- if template contains 'collection' or template contains 'search' -%}
+  {{ 'dw-hfilter.css' | asset_url | stylesheet_tag }}
+  <script src="{{ 'dw-hfilter.js' | asset_url }}" defer></script>
+{%- endif -%}
+{%- comment -%} DW PDP restyle: size <select> -> pills + uniform CTA pill layout (2026-06-22) {%- endcomment -%}
+{{ 'dw-pdp-restyle.css' | asset_url | stylesheet_tag }}
+<script src="{{ 'dw-pdp-size-pills.js' | asset_url }}" defer></script>
+</body>
+</html>
diff --git a/shopify/frontpage-sprint/live-src/sections__footer-group.json b/shopify/frontpage-sprint/live-src/sections__footer-group.json
new file mode 100644
index 00000000..0e556e17
--- /dev/null
+++ b/shopify/frontpage-sprint/live-src/sections__footer-group.json
@@ -0,0 +1,56 @@
+{
+  "type": "footer",
+  "name": "Footer",
+  "sections": {
+    "footer": {
+      "type": "footer",
+      "blocks": {
+        "1501865688783": {
+          "type": "social-links",
+          "settings": {}
+        },
+        "menu_nAnxqh": {
+          "type": "menu",
+          "settings": {
+            "menu": "footer"
+          }
+        },
+        "1522268487363": {
+          "type": "menu",
+          "settings": {
+            "menu": "resources"
+          }
+        },
+        "1502298878006": {
+          "type": "rich-text",
+          "settings": {
+            "heading": "",
+            "rich_text": "<p>For over 25 years, the nations leading resource for architectural and luxury wallcoverings.<\/p><p>Can't find what you are looking for?            We can design & print it for you. <\/p>"
+          }
+        },
+        "1588892853067": {
+          "type": "newsletter",
+          "disabled": true,
+          "settings": {}
+        }
+      },
+      "block_order": [
+        "1501865688783",
+        "menu_nAnxqh",
+        "1522268487363",
+        "1502298878006",
+        "1588892853067"
+      ],
+      "settings": {
+        "headings": false,
+        "show_follow_on_shop": false,
+        "show_locale_selector": true,
+        "show_currency_selector": true,
+        "footer-payment-options": true
+      }
+    }
+  },
+  "order": [
+    "footer"
+  ]
+}
diff --git a/shopify/frontpage-sprint/live-src/sections__header-group.json b/shopify/frontpage-sprint/live-src/sections__header-group.json
new file mode 100644
index 00000000..bc554dd1
--- /dev/null
+++ b/shopify/frontpage-sprint/live-src/sections__header-group.json
@@ -0,0 +1,135 @@
+{
+  "type": "header",
+  "name": "Header",
+  "sections": {
+    "announcement_bar": {
+      "type": "pxs-announcement-bar",
+      "disabled": true,
+      "settings": {
+        "show_announcement": true,
+        "announcement_home_only": false,
+        "announcement_text": "🌟 It's our 5 year anniversary! Use discount code \"5YEARS\" to save $5 at checkout 🌟",
+        "announcement_text_mobile": "Save $5 on your order with code \"5YEARS\"",
+        "announcement_link": "",
+        "announcement_color": "#262626",
+        "announcement_background": "#e0e3f5"
+      }
+    },
+    "header": {
+      "type": "header",
+      "blocks": {
+        "header_customer_link_xeQjb3": {
+          "type": "header_customer_link",
+          "settings": {
+            "link_text": "Contact us: (888) 373-4564",
+            "link_url": "https:\/\/designer-laboratory-sandbox.myshopify.com\/pages\/contact-us"
+          }
+        },
+        "header_customer_link_BhwTkX": {
+          "type": "header_customer_link",
+          "settings": {
+            "link_text": "Apply for a trade",
+            "link_url": "https:\/\/www.designerwallcoverings.com\/pages\/trade-only-benefits"
+          }
+        },
+        "header_customer_link_gxgXa3": {
+          "type": "header_customer_link",
+          "settings": {
+            "link_text": "Custom walls",
+            "link_url": "https:\/\/designer-laboratory-sandbox.myshopify.com\/pages\/custom"
+          }
+        },
+        "mega_menu_37rKTg": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "Collections"
+          }
+        },
+        "mega_menu_xmfqGW": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "Styles"
+          }
+        },
+        "mega_menu_Wxi38J": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "Durable"
+          }
+        },
+        "mega_menu_AwaATJ": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "Specialty"
+          }
+        },
+        "mega_menu_fb6aMJ": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "more"
+          }
+        },
+        "mega_menu_f3yKaB": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "Featured"
+          }
+        },
+        "mega_menu_R7CCKD": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "Showroom Lines"
+          }
+        },
+        "mega_menu_AfKBEi": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "Fabrics"
+          }
+        },
+        "mega_menu_CYGBL8": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "More Lines"
+          }
+        },
+        "1517006611982": {
+          "type": "mega_menu",
+          "settings": {
+            "menu_item": "Commercial"
+          }
+        }
+      },
+      "block_order": [
+        "header_customer_link_xeQjb3",
+        "header_customer_link_BhwTkX",
+        "header_customer_link_gxgXa3",
+        "mega_menu_37rKTg",
+        "mega_menu_xmfqGW",
+        "mega_menu_Wxi38J",
+        "mega_menu_AwaATJ",
+        "mega_menu_fb6aMJ",
+        "mega_menu_f3yKaB",
+        "mega_menu_R7CCKD",
+        "mega_menu_AfKBEi",
+        "mega_menu_CYGBL8",
+        "1517006611982"
+      ],
+      "settings": {
+        "logo": "shopify:\/\/shop_images\/Screen_Shot_2019-02-06_at_12.08.24_PM.png",
+        "header_layout": "compact-left",
+        "header_full_width": true,
+        "header_border": true,
+        "sticky_header": true,
+        "sticky_header_logo": true,
+        "enable_predictive_search": false,
+        "menu": "main-menu",
+        "enable_checkout_lock_icon": true
+      }
+    }
+  },
+  "order": [
+    "announcement_bar",
+    "header"
+  ]
+}
diff --git a/shopify/frontpage-sprint/live-src/sections__header.liquid b/shopify/frontpage-sprint/live-src/sections__header.liquid
new file mode 100644
index 00000000..5990c5d1
--- /dev/null
+++ b/shopify/frontpage-sprint/live-src/sections__header.liquid
@@ -0,0 +1,483 @@
+<script
+  type="application/json"
+  data-section-type="static-header"
+  data-section-id="{{ section.id }}"
+  data-section-data
+>
+  {
+    "stickyHeader": {{ section.settings.sticky_header }},
+    "compactCenter": "{{ section.settings.header_layout }}",
+    "enable_predictive_search": "{{ section.settings.enable_predictive_search }}"
+  }
+</script>
+
+{%- capture arrow_right -%}
+  {%-
+    render 'icons',
+    id: 'chevron-right'
+  -%}
+{%- endcapture -%}
+
+{% assign mega_nav_handle = section.settings.mega-nav-handle %}
+
+{%- capture header_classes -%}
+  header
+  header-layout-{{ section.settings.header_layout }}
+
+  {% if section.settings.header_full_width %}
+    header-full-width
+  {% else %}
+    header-content-width
+  {% endif %}
+
+  {% if section.settings.sticky_header and section.settings.sticky_header_logo %}
+    header-sticky-show-logo
+  {% endif %}
+
+  {% if section.settings.header_border and template != 'index' %}
+    header-border
+  {% endif %}
+{%- endcapture -%}
+
+<section
+  class="{{ header_classes | replace: '  ', ' ' | strip_newlines }}"
+  {% if section.settings.sticky_header %}data-sticky-header{% endif %}
+  {% if section.settings.header_layout == 'compact-center' %}data-header-compact-center{% endif %}
+  data-section-header
+>
+  <header
+    class="main-header"
+    role="banner"
+    data-header-main
+  >
+    <div class="header-tools-wrapper">
+      <div class="header-tools">
+
+        <div class="aligned-left">
+          <div id="coin-container"></div>
+        </div>
+
+        <div class="aligned-left">
+          {% assign customer_link_blocks = section.blocks | where: 'type', 'header_customer_link' %}
+          {% for block in customer_link_blocks %}
+            <div class="customer-links" {{ block.shopify_attributes }}>
+              <a href="{{ block.settings.link_url }}">{{ block.settings.link_text }}</a>
+            </div>
+          {% endfor %}
+        </div>
+
+        <div class="aligned-right">
+          {% if shop.customer_accounts_enabled %}
+            <div class="customer-links">
+              {% if customer %}
+                <a href="{{ routes.account_url }}">{{ 'layout.header.my_account' | t }}</a>
+
+                <div class="customer-links-inner">
+                  <span class="arrow"></span>
+                  <ul>
+                    <li><a href="{{ routes.account_url }}">{{ 'customers.general.purchases' | t }}</a></li>
+                    <li><a href="{{ routes.account_addresses_url }}">{{ 'customers.addresses.header' | t }}</a></li>
+                    <li>{{ 'layout.header.logout' | t | customer_logout_link }}</li>
+                  </ul>
+                </div>
+              {% else %}
+                <a class="customer-login-link" href="{{ routes.account_login_url }}">{{ 'layout.header.account' | t }}</a>
+              {% endif %}
+            </div>
+          {% endif %}
+
+          <div class="mini-cart-wrapper">
+            <a class="cart-count" href="{{ routes.cart_url }}" data-cart-count>
+              <span class="cart-count-text">{{ 'layout.header.cart' | t }}</span>
+              (<span class="cart-count-number">{{ cart.item_count }}</span>)
+            </a>
+
+            {% render 'mini-cart' %}
+          </div>
+          <form class="checkout-link" action="{{ routes.cart_url }}" method="POST"><button class="checkout-link__button" type="submit" name="checkout">{{ 'layout.header.checkout' | t }}</button></form>
+        </div>
+
+      </div>
+    </div>
+
+    <div class="header-main-content" data-header-content>
+      {% unless section.settings.menu == blank %}
+        <div class="header-content-left">
+          <button
+            class="navigation-toggle navigation-toggle-open"
+            aria-label="{{ 'layout.header.menu' | t }}"
+            data-header-nav-toggle
+          >
+            <span class="navigation-toggle-icon">
+              {%-
+                render 'icons',
+                id: 'menu'
+              -%}
+            </span>
+          </button>
+        </div>
+      {% endunless %}
+
+      <div
+        class="
+          header-branding
+          header-branding-desktop
+          {% if section.settings.logo %}header-branding-desktop--has-logo{% endif %}
+        "
+        data-header-branding
+      >
+        <a class="logo-link" href="{{ routes.root_url }}">
+          {%- if section.settings.logo -%}
+            {%
+              render 'rimg',
+              img: section.settings.logo,
+              class: 'logo-image',
+              size: '200x100',
+              focal_point: section.settings.logo.presentation.focal_point,
+            %}
+          {%- else -%}
+            <h1>{{- shop.name -}}</h1>
+          {%- endif -%}
+        </a>
+        <span
+          class="navigation-toggle navigation-toggle-close"
+          data-header-nav-toggle
+        >
+          {%-
+            render 'icons',
+            id: 'close',
+          -%}
+        </span>
+      </div>
+
+      {% unless section.settings.menu == blank %}
+        <div class="navigation-wrapper" data-navigation-wrapper>
+          <nav class="navigation navigation-desktop navigation-has-mega-nav" data-navigation-content>
+            <ul class="navigation-menu">
+              {% for link in linklists[section.settings.menu].links %}
+                {% assign first_tier_link = link %}
+                {% assign uses_blocks = true %}
+                {% comment %}Inject is-dropdown-or-meganav begin{% endcomment %}
+                {% comment %}
+                  A helper snippet for detecting if a link has a mega nav
+                  or dropdown associated with it.
+                
+                  @param first_tier_link
+                
+                  @param uses_blocks
+                {% endcomment %}
+                
+                {% assign is_dropdown = false %}
+                {% assign is_meganav = true %}
+                
+                {% if first_tier_link.links == blank %}
+                  {% assign is_meganav = false %}
+                {% else %}
+                  {% assign is_dropdown = true %}
+                {% endif %}
+                
+                {% for second_tier_link in first_tier_link.links %}
+                  {% if second_tier_link.links == blank %}
+                    {% assign is_meganav = false %}
+                  {% else %}
+                    {% assign is_dropdown = true %}
+                  {% endif %}
+                {% endfor %}
+                
+                {% if is_meganav %}
+                  {% assign is_dropdown = false %}
+                {% endif %}
+                
+                {% if uses_blocks %}
+                  {% assign found_mega_item_handle = false %}
+                  {% if section != blank and section.blocks != blank %}
+                    {% for block in section.blocks %}
+                      {% if block.type == 'mega_menu' %}
+                        {% assign menu_item_handle = block.settings.menu_item | handle %}
+                        {% if first_tier_link.handle == menu_item_handle %}
+                          {% assign found_mega_item_handle = true %}
+                        {% endif %}
+                      {% endif %}
+                    {% endfor %}
+                  {% endif %}
+                
+                  {% if found_mega_item_handle %}
+                    {% if is_dropdown %}
+                      {% assign is_meganav = true %}
+                      {% assign is_dropdown = false %}
+                    {% endif %}
+                  {% elsif found_mega_item_handle == false %}
+                    {% if is_meganav %}
+                      {% assign is_meganav = false %}
+                      {% assign is_dropdown = true %}
+                    {% endif %}
+                  {% else %}
+                    {% if is_meganav %}
+                      {% assign is_meganav = false %}
+                      {% assign is_dropdown = true %}
+                    {% endif %}
+                  {% endif %}
+                {% endif %}
+                {% comment %}Inject is-dropdown-or-meganav end{% endcomment %}
+
+
+                <li
+                  class="{% if is_dropdown %}has-dropdown{% elsif is_meganav %}has-mega-nav{% endif %}"
+                  {% if is_meganav %}data-mega-nav="true"{% endif %}
+                >
+                  {% if is_dropdown or is_meganav %}
+                    <details data-nav-details>
+                      <summary data-href="{{ link.url }}"
+                  {% else %}
+                    <a href="{{ link.url }}"
+                  {% endif %}
+                    id="main-navigation-{{ link.handle }}"
+                    class="navigation-menu-link"
+                    {% if is_dropdown or is_meganav %}aria-haspopup{% endif %}
+                  >
+                    {{ link.title }}
+                    {% if is_dropdown or is_meganav %}
+                      <span
+                        class="navigation-submenu-toggle"
+                        tabIndex="0"
+                        role="button"
+                        aria-controls="navigation-{{ link.handle }}"
+                        aria-expanded="false"
+                        aria-label="{{ 'general.accessibility.toggle' | t }}"
+                        data-subnav-toggle
+                      >
+                        {{- arrow_right -}}
+                      </span>
+                    {% endif %}
+                  {% if is_dropdown or is_meganav %}
+                    </summary>
+                  {% else %}
+                    </a>
+                  {% endif %}
+
+                  {% if is_dropdown %}
+                    {% assign direction = 'right' %}
+                    {% assign halfway = linklists[section.settings.menu].links.size | divided_by: 2 %}
+                    {% if forloop.index0 > halfway %}
+                      {% assign direction = 'left' %}
+                    {% endif %}
+
+                    {%- render 'dropdown', direction: direction, link: link -%}
+                    </details>
+                  {% elsif is_meganav %}
+                    {%- render 'mega-nav', link: link -%}
+                  {% endif %}
+                </li>
+              {% endfor %}
+
+              {% if shop.customer_accounts_enabled %}
+                {% if customer %}
+                  <li class="mobile-link">
+                    <a href="{{ routes.account_url }}">
+                      {{ 'layout.header.my_account' | t }}
+                    </a>
+                  </li>
+                  <li class="mobile-link">
+                    {{ 'layout.header.logout' | t | customer_logout_link }}
+                  </li>
+                {% else %}
+                  <li class="mobile-link">
+                    <a class="customer-login-link" href="{{ routes.account_login_url }}">{{ 'layout.header.account' | t }}</a>
+                  </li>
+                {% endif %}
+              {% endif %}
+            </ul>
+          </nav>
+          {% render 'mobile-nav', arrow_right: arrow_right %}
+        </div>
+      {% endunless %}
+
+      <div class="header-content-right header-content-right--inline-search" data-header-content-right>
+        <div class="header-search-inline">
+          {%
+            render 'search-form',
+            context: 'header',
+          %}
+          <a href="#" class="visual-search-clickable header-search-inline__visual" aria-controls="Visual Search">
+            <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" focusable="false" width="30px" height="30px" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" preserveAspectRatio="xMidYMid meet" viewBox="0 0 20 20"><path d="M10 8a3 3 0 1 0 0 6a3 3 0 0 0 0-6zm8-3h-2.4a.888.888 0 0 1-.789-.57l-.621-1.861A.89.89 0 0 0 13.4 2H6.6c-.33 0-.686.256-.789.568L5.189 4.43A.889.889 0 0 1 4.4 5H2C.9 5 0 5.9 0 7v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-8 11a5 5 0 0 1-5-5a5 5 0 1 1 10 0a5 5 0 0 1-5 5zm7.5-7.8a.7.7 0 1 1 0-1.4a.7.7 0 0 1 0 1.4z" fill="#000000"/></svg>
+          </a>
+        </div>
+
+        <button
+          class="search-toggle"
+          type="button"
+          aria-label="{{ 'general.search.header' | t }}"
+          data-header-search-toggle
+        >
+          {%
+            render 'icons',
+            id: 'search',
+          %}
+        </button>
+
+        {% if section.settings.sticky_header %}
+          <a class="sticky-header-cart-count" href="{{ routes.cart_url }}" data-cart-count>
+            <span class="cart-count-text">{{ 'layout.header.cart' | t }}</span>
+            (<span class="cart-count-number">{{ cart.item_count }}</span>)
+          </a>
+        {% endif %}
+      </div>
+
+      <div class="search-takeover" data-search-takeover>
+        <div class="search-takeover__wrapper">
+          {%
+            render 'search-form',
+            context: 'mobile',
+          %}
+
+          <button
+            class="search-takeover__close-button"
+            type="button"
+            aria-label="{{ 'general.search.close' | t }}"
+            data-search-takeover-close
+          >
+            {%
+              render 'icons',
+              id: 'close',
+            %}
+          </button>
+        </div>
+      </div>      
+    </div>
+  </header>
+</section>
+
+{% schema %}
+{
+  "name": "Header",
+  "settings": [
+    {
+      "type": "header",
+      "content": "Logo"
+    },
+    {
+      "type": "image_picker",
+      "id": "logo",
+      "label": "Logo image",
+      "info": "200px tall recommended"
+    },
+    {
+      "type": "header",
+      "content": "Header"
+    },
+    {
+      "type": "select",
+      "id": "header_layout",
+      "label": "Logo layout",
+      "info": "Logo layouts are only active on screens wider than 1080px",
+      "options": [
+        {
+          "value": "default",
+          "label": "Default"
+        },
+        {
+          "value": "compact-center",
+          "label": "Compact center"
+        },
+        {
+          "value": "compact-left",
+          "label": "Compact left"
+        }
+      ],
+      "default": "compact-left"
+    },
+    {
+      "type": "checkbox",
+      "id": "header_full_width",
+      "label": "Enable full width header ",
+      "default": false
+    },
+    {
+      "type": "checkbox",
+      "id": "header_border",
+      "label": "Show header border",
+      "default": true,
+      "info": "This will appear on all pages except the home page."
+    },
+    {
+      "type": "checkbox",
+      "id": "sticky_header",
+      "label": "Enable sticky header"
+    },
+    {
+      "type": "checkbox",
+      "id": "sticky_header_logo",
+      "default": true,
+      "label": "Show logo image in sticky header"
+    },
+    {
+      "type": "header",
+      "content": "Search behavior"
+    },
+    {
+      "type": "checkbox",
+      "id": "enable_predictive_search",
+      "label": "Enable predictive search",
+      "default": true
+    },
+    {
+      "type": "header",
+      "content": "Navigation"
+    },
+    {
+      "type": "link_list",
+      "id": "menu",
+      "label": "Menu",
+      "default": "main-menu"
+    },
+    {
+      "type": "header",
+      "content": "Mini Cart"
+    },
+    {
+      "type": "checkbox",
+      "id": "enable_checkout_lock_icon",
+      "label": "Show lock icon on checkout button in mini cart",
+      "default": false
+    }
+  ],
+  "blocks": [
+    {
+      "type": "mega_menu",
+      "name": "Mega menu",
+      "settings": [
+        {
+          "type": "text",
+          "id": "menu_item",
+          "label": "Menu item",
+          "info": "Enter menu item to apply a mega menu dropdown. [Learn more](https://support.pixelunion.net/hc/en-us/articles/360022052534-How-to-set-up-your-store-s-navigation)"
+        },
+        {
+          "type": "image_picker",
+          "id": "menu_image",
+          "label": "Featured image",
+          "info": "480 x 1000px recommended"
+        }
+      ]
+    },
+    {
+      "type": "header_customer_link",
+      "name": "Header customer link",
+      "settings": [
+        {
+          "type": "text",
+          "id": "link_text",
+          "label": "Link text",
+          "default": "Contact us: (888) 373-4564"
+        },
+        {
+          "type": "url",
+          "id": "link_url",
+          "label": "Link URL"
+        }
+      ]
+    }
+  ]
+}
+
+{% endschema %}
\ No newline at end of file
diff --git a/shopify/frontpage-sprint/live-src/sections__home-slideshow.liquid b/shopify/frontpage-sprint/live-src/sections__home-slideshow.liquid
new file mode 100644
index 00000000..c50d7a74
--- /dev/null
+++ b/shopify/frontpage-sprint/live-src/sections__home-slideshow.liquid
@@ -0,0 +1,199 @@
+<script
+  type="application/json"
+  data-section-type="dynamic-slideshow"
+  data-section-id="{{ section.id }}"
+  data-section-data
+>
+{
+    "autoplay": {{ section.settings.autoplay }},
+    "autoplayDelay": {{ section.settings.autoplay_delay }},
+    "autoplayHoverPause": {{ section.settings.autoplay-hover-pause }}
+  }
+</script>
+
+{%- assign slideIndex = 0 -%}
+{%- assign slide_count = section.blocks.size -%}
+
+<section
+  class="home-slideshow home-slideshow-layout-{{ section.settings.layout }}"
+  data-slideshow
+  data-slideshow-layout="{{ section.settings.layout }}"
+  data-slideshow-slides="{{ slide_count }}"
+>
+  {%- unless section.blocks.size == 0 -%}
+    {%- for block in section.blocks -%}
+      {%- case block.type -%}
+      {%- when 'slide' -%}
+        {%- assign slideIndex = slideIndex | plus: 1 -%}
+        {%- assign lifestyleIndex = slideIndex | modulo: 2 | plus: 1 -%}
+        {%- assign lifestyleImage = 'lifestyle-' | append: lifestyleIndex -%}
+          {%- capture image -%}
+            {{ lifestyleImage | placeholder_svg_tag: 'placeholder-svg' }}
+          {%- endcapture -%}
+
+        {%-
+          render 'home-slideshow-slide',
+          block: block,
+          slideIndex: slideIndex,
+          onboard_image: image,
+        -%}
+      {%- endcase -%}
+    {%- endfor -%}
+  {%- else -%}
+    {%- for i in (1..slide_count) -%}
+      {%- assign slideIndex = slideIndex | plus: 1 -%}
+      {%- assign lifestyleIndex = slideIndex | modulo: 2 | plus: 1 -%}
+      {%- assign lifestyleImage = 'lifestyle-' | append: lifestyleIndex -%}
+      {%- capture image -%}
+          <canvas class="home-slideshow-svg-ie11-fix" width="50" height="19"></canvas>
+          {{ lifestyleImage | placeholder_svg_tag: 'placeholder-svg' }}
+      {%- endcapture -%}
+      {%- capture contentAlignment -%}
+        {%- cycle 'left', 'center', 'right' -%}
+      {%- endcapture -%}
+
+      {%-
+        render 'home-slideshow-slide',
+        slideIndex: slideIndex,
+        contentAlignment: contentAlignment,
+        onboard_image: image,
+      -%}
+    {%- endfor -%}
+  {%- endunless -%}
+
+  <style>
+    #shopify-section-{{ section.id }} .home-slideshow .flickity-prev-next-button .arrow {
+      fill: {{ section.settings.controls-color | default: '#000' }};
+    }
+
+    #shopify-section-{{ section.id }} .home-slideshow .flickity-page-dots .dot {
+      background: {{ section.settings.controls-color | default: '#000' }};
+    }
+  </style>
+</section>
+
+{% schema %}
+{
+  "name": "Slideshow",
+  "class": "shopify-section--slideshow",
+  "max_blocks": 6,
+  "settings": [
+    {
+      "type": "select",
+      "id": "layout",
+      "label": "Layout",
+      "options": [
+        {
+          "value": "content-width",
+          "label": "Content width"
+        },
+        {
+          "value": "full-width",
+          "label": "Full width"
+        }
+      ],
+      "default": "full-width"
+    },
+    {
+      "type": "color",
+      "id": "controls-color",
+      "label": "Controls",
+      "default": "#000"
+    },
+    {
+      "type": "checkbox",
+      "id": "autoplay",
+      "label": "Auto-rotate slides",
+      "default": false
+    },
+    {
+      "type": "range",
+      "id": "autoplay_delay",
+      "label": "Rotation interval",
+      "min": 2,
+      "max": 10,
+      "step": 1,
+      "unit": "sec",
+      "default": 3
+    },
+    {
+      "type": "checkbox",
+      "id": "autoplay-hover-pause",
+      "label": "Pause auto-rotate on hover",
+      "default": false
+    }
+  ],
+  "blocks": [
+    {
+      "type": "slide",
+      "name": "Slide",
+      "settings": [
+        {
+          "type": "image_picker",
+          "id": "image",
+          "label": "Image",
+          "info": "2880 x 1280px recommended"
+        },
+        {
+          "type": "text_alignment",
+          "id": "content-alignment",
+          "label": "Text alignment",
+          "default": "center"
+        },
+        {
+          "type": "color",
+          "id": "overlay-color",
+          "label": "Overlay text",
+          "default": "#262626"
+        },
+        {
+          "type": "text",
+          "id": "title",
+          "label": "Heading",
+          "default": "Slide"
+        },
+        {
+          "type": "text",
+          "id": "subheading",
+          "label": "Subheading",
+          "default": "Introduce customers to your shop with lifestyle imagery and product photography"
+        },
+        {
+          "type": "text",
+          "id": "cta",
+          "label": "Button",
+          "default": "Button"
+        },
+        {
+          "type": "url",
+          "id": "url",
+          "label": "Link"
+        }
+      ]
+    }
+  ],
+  "presets": [
+    {
+      "category": "Image",
+      "name": "Slideshow",
+      "blocks": [
+        {
+          "type": "slide"
+        },
+        {
+          "type": "slide"
+        },
+        {
+          "type": "slide"
+        }
+      ]
+    }
+  ],
+  "disabled_on": {
+    "groups": [
+      "*"
+    ]
+  }
+}
+
+{% endschema %}
\ No newline at end of file
diff --git a/shopify/frontpage-sprint/live-src/snippets__home-slideshow-slide.liquid b/shopify/frontpage-sprint/live-src/snippets__home-slideshow-slide.liquid
new file mode 100644
index 00000000..e25d875c
--- /dev/null
+++ b/shopify/frontpage-sprint/live-src/snippets__home-slideshow-slide.liquid
@@ -0,0 +1,67 @@
+{% assign block = block | default: nil %}
+{% assign image = onboard_image %}
+{% assign contentAlignment = contentAlignment %}
+{%- assign url = '' -%}
+{%- assign heading = 'onboarding.slideshow.title' | t -%}
+{%- assign subheading = 'onboarding.slideshow.subtitle' | t -%}
+{%- assign cta = 'onboarding.slideshow.cta' | t -%}
+
+{% if block %}
+  {%- assign contentAlignment = block.settings.content-alignment -%}
+  {%- assign overlayColor = block.settings.overlay-color -%}
+  {%- assign heading = block.settings.title | escape -%}
+  {%- assign subheading = block.settings.subheading | escape -%}
+  {%- assign cta = block.settings.cta | escape -%}
+  {%- assign url = block.settings.url -%}
+  {%- if block.settings.image -%}
+    {%- capture image -%}
+        {%
+          render 'rimg',
+          img: block.settings.image,
+          size: '1440x640',
+          lazy: true,
+          focal_point: block.settings.image.presentation.focal_point,
+        %}
+    {%- endcapture -%}
+    {%- endif -%}
+{%- endif -%}
+
+<article
+  class="
+    home-slideshow-slide
+    home-slideshow-slide-{{ slideIndex }}
+    home-slideshow-slide-alignment-{{ contentAlignment }}
+  "
+  data-slideshow-slide
+  data-slide-index="{{ slideIndex | minus: 1 }}"
+  {{ block.shopify_attributes }}
+>
+    <figure class="home-slideshow-slide-image">
+      {%- if url != blank -%}
+        <a href="{{ url }}">
+          {{ image }}
+        </a>
+      {%- else -%}
+        {{ image }}
+      {%- endif -%}
+    </figure>
+
+    {% if heading != blank or subheading != blank or cta != blank %}
+      <div class="home-slideshow-slide-content">
+        <div class="home-slideshow-slide-content-inner">
+          {% if heading != blank %}
+            <h1 class="home-slideshow-slide-heading" style="{%- if overlayColor -%}color: {{ overlayColor }};{%- endif -%}">{{ heading }}</h1>
+          {% endif %}
+
+          {% if subheading != blank %}
+            <p class="home-slideshow-slide-subheading" style="{%- if overlayColor -%}color: {{ overlayColor }};{%- endif -%}">{{ subheading }}</p>
+          {% endif %}
+
+          {% if cta != blank %}
+            <a class="home-slideshow-slide-cta button" {% if url != blank %}href="{{ url }}"{% endif %}>{{ cta }}</a>
+          {% endif %}
+        </div>
+      </div>
+    {% endif %}
+  </figure>
+</article>

← 2dd34d8f brand-router: canonicalize China Seas collection handle chin  ·  back to Designer Wallcoverings  ·  Front-page four-horsemen review memo: verdict + staged dev-t ad18e182 →