// --------------------------------------------------------- // Helper: clear radios inside any container // --------------------------------------------------------- function clearRadiosIn(containerSelector) { document .querySelectorAll(`${containerSelector} input[type="radio"]`) .forEach(input => { input.checked = false; input.classList.remove('w--redirected-checked'); const wrapper = input.closest('.w-radio'); if (wrapper) wrapper.classList.remove('w--redirected-checked'); }); } // --------------------------------------------------------- // Helper: set active tab // --------------------------------------------------------- function ensureOneVisibleTabActive(tabsSelector) { const tabs = document.querySelector(tabsSelector); if (!tabs) return; const links = [...tabs.querySelectorAll('[role="tab"]')]; const active = links.find(l => isVisible(l) && l.getAttribute('aria-selected') === 'true' ); if (active) return; const firstVisible = links.find(l => isVisible(l)); if (firstVisible) firstVisible.click(); } function isVisible(el) { return !!(el.offsetParent || el.getClientRects().length); } // --------------------------------------------------------- // 2. Canvas sections visibility // --------------------------------------------------------- function updateCanvasSectionsVisibility() { const canvasFlag = getComputedStyle(document.documentElement) .getPropertyValue('--sub-canvas') .trim(); const isCanvasActive = canvasFlag === '1'; document .querySelectorAll('[data-framer-section="canvas-finish"], [data-framer-section="canvas-format"]') .forEach(el => { el.style.display = isCanvasActive ? '' : 'none'; }); document.querySelectorAll('input[name="canvas-format"]').forEach(input => { input.disabled = !isCanvasActive; }); if (!isCanvasActive) { clearRadiosIn('[data-framer-section="canvas-finish"]'); clearRadiosIn('[data-framer-section="canvas-format"]'); } } // --------------------------------------------------------- // 2. Paper sections visibility // --------------------------------------------------------- function updatePaperSectionsVisibility() { const paperFlag = getComputedStyle(document.documentElement) .getPropertyValue('--sub-paper') .trim(); const isPaperActive = paperFlag === '1'; document .querySelectorAll('[data-framer-section="paper-type"]') .forEach(el => { el.style.display = isPaperActive ? '' : 'none'; }); if (!isPaperActive) { clearRadiosIn('[data-framer-section="paper-type"]'); } } // --------------------------------------------------------- // 3. Metal sections visibility // --------------------------------------------------------- function updateMetalSectionsVisibility() { const metalFlag = getComputedStyle(document.documentElement) .getPropertyValue('--sub-metal') .trim(); const isMetalActive = metalFlag === '1'; document .querySelectorAll('[data-framer-section="metal-finish"]') .forEach(el => { el.style.display = isMetalActive ? '' : 'none'; }); if (!isMetalActive) { clearRadiosIn('[data-framer-section="metal-finish"]'); ensureOneVisibleTabActive('#frame-tabs'); } } // --------------------------------------------------------- // 4. Floater + gallery-wrap frames visibility // --------------------------------------------------------- function updateFloaterAndGalleryWrapVisibility() { const styles = getComputedStyle(document.documentElement); const metalFlag = styles.getPropertyValue('--sub-metal').trim(); const canvasFlag = styles.getPropertyValue('--sub-canvas').trim(); const galleryWrapFlag = styles.getPropertyValue('--c-wrap').trim(); const isMetalActive = metalFlag === '1'; const isGalleryWrapActive = galleryWrapFlag === '1'; const isCanvasActive = canvasFlag === '1'; const isFloaterVisible = isMetalActive || (isCanvasActive && isGalleryWrapActive); // Floater frames document .querySelectorAll('[data-frame-type="floater"]') .forEach(el => { el.style.display = isFloaterVisible ? '' : 'none'; ensureOneVisibleTabActive('#frame-tabs'); }); if (!isFloaterVisible) { clearRadiosIn('[data-frame-type="floater"]'); ensureOneVisibleTabActive('#frame-tabs'); } // Standard / Shadowbox visibility during gallery-wrap document .querySelectorAll('[data-frame-type="standard"], [data-frame-type="shadowbox"]') .forEach(el => { el.style.display = isGalleryWrapActive ? 'none' : ''; }); // Standard / Shadowbox visibility during gallery-wrap if (!isGalleryWrapActive) { clearRadiosIn('[data-frame-type="floater"]'); ensureOneVisibleTabActive('#frame-tabs'); } if (isGalleryWrapActive) { clearRadiosIn('[data-frame-type="standard"]'); clearRadiosIn('[data-frame-type="shadowbox"]'); ensureOneVisibleTabActive('#frame-tabs'); } } // --------------------------------------------------------- // 5. Loose-canvas frame suppression // --------------------------------------------------------- function updateLooseCanvasFrameVisibility() { const looseCanvasFlag = getComputedStyle(document.documentElement) .getPropertyValue('--loose-canvas') .trim(); const isLooseCanvasActive = looseCanvasFlag === '1'; const allFrames = document.querySelectorAll( '[data-framer-section="frames"]' ); allFrames.forEach(el => { el.style.display = isLooseCanvasActive ? 'none' : ''; }); if (isLooseCanvasActive) { clearRadiosIn('[data-frame-type="standard"]'); clearRadiosIn('[data-frame-type="shadowbox"]'); clearRadiosIn('[data-frame-type="floater"]'); } if (!isLooseCanvasActive) { ensureOneVisibleTabActive('#frame-tabs'); } } // --------------------------------------------------------- // 6. Master visibility function // --------------------------------------------------------- function updateAllVisibility() { updateCanvasSectionsVisibility(); updateMetalSectionsVisibility(); updateFloaterAndGalleryWrapVisibility(); updateLooseCanvasFrameVisibility(); updatePaperSectionsVisibility(); } window.updateAllVisibility = updateAllVisibility;

Pale Geometry

--loose-canvas
--s-box
Size
12x18
Substrate
canvas
finish
semi-gloss
Frame
p2654

Pale Geometry

Chalk, alabaster, and oyster-gray are layered like plastered stone, then cut with charcoal linework and a single rust-oxide accent that adds heat and direction. Soft surfaces versus sharp structure, calm neutrals versus one deliberate mark. It looks strongest in modern desert, minimalist, or European contemporary homes, especially with limewash walls, travertine, and dark metal finishes.

Size
Substrate
Paper
Canvas
Metal
Canvas Format
Standard Canvas
Not to be hung on a wall directly without a standard or shadowbox frame
Gallery Wrap
May be hung on a wall directly, or framed in a floater frame
Paper Type
Fine Art Paper
Luster Paper
Canvas Finish
Gloss
Semi-Gloss
Matte
Metal Finish
Gloss
Semi-Gloss
Matte
Frames
P2607
0.875
"
P2608
0.875
"
P2650
0.875
"
P2654
0.875
"
P2655
0.875
"
P2656
0.875
"
P2657
0.875
"
P2658
0.875
"
H4257
1.25
"
N4517
1.375
"
N4519
1.375
"
N4520
1.375
"
N4522
1.375
"
N4523
1.375
"
H4267
1.5
"
417-2108
2.125
"
H1117
2.125
"
H4287
3
"
418-2108
3.125
"
EC435
3.25
"
EC888
3.25
"
EC889
3.25
"
EC1605
0.375
"
EC1607
0.375
"
EC1608
0.375
"
EC1610
0.375
"
EC1907
0.5625
"
EC1908
0.5625
"
EC1910
0.5625
"
EC1918
0.5625
"
EC1919
0.5625
"
EC1922
0.5625
"
P4011
0.9375
"
P4012
0.9375
"
P4013
0.9375
"
P4014
0.9375
"
P4015
0.9375
"
EC1407
1.125
"
P2007
1.375
"
P2008
1.375
"
P2020
1.4375
"
V1267
0.8125
"
V1268
0.8125
"
V1367
0.8125
"
V1368
0.8125
"
EC906
1
"
EC907
1
"
EC908
1
"
P3455
1
"
P3457
1
"
P3458
1
"
P3459
1
"
P3463
1
"
P3458
1
"
P3459
1
"
P3463
1
"
P3464
1
"
N570
1.5
"
$test-compare
$0.00
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.