Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
4/11
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
Mystical Tarot Card Wall Hanging, Tarot Tapestry
4/11

Mystical Tarot Card Wall Hanging, Tarot Tapestry

$13.99
$0.00
ColorB
Please select a color
Size
Please select a size
Quantity
SKU:
Weight: 0kg
Barcode:
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

★Our custom wall tapestries are an immediate mood upgrade! Lightweight, durable, and beautiful, our tapestries are the perfect way to elevate any room. With four sizes to choose from, you can find the perfect size to fit any space. Perfect for your living room, kitchen, bedroom, dorm room - or anywhere you can think of! Makes the perfect gift!

- 100% Polyester
- Multiple sizes (26x36'', 50x60'', 68''x80'', 88''x104'')
-Colors and placement may vary

Machine wash in cold water using mild detergent and gentle cycle only. Do not bleach or tumble dry.



SIZE #7: Inside Diameter is 0.69(inch)
SIZE #8: Inside Diameter is 0.72(inch)
SIZE #9: Inside Diameter is 0.75(inch)
SIZE #10:Inside Diameter is 0.78(inch)
SIZE #11:Inside Diameter is 0.81(inch)
SIZE #12:Inside Diameter is 0.84(inch)
SIZE #13:Inside Diameter is 0.87(inch)
SIZE #14:Inside Diameter is 0.91(inch)