Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse
Gifennse Aromatic Cedar Shoe Trees Pair (Pair) Gifennse gifennse

Gifennse Aromatic Cedar Shoe Trees Pair (Pair)

Price

$0.00 $59.00
Save $-59.00
1 sold
Free Return & Exchange
SKU:HC001

title

Please select a title

Quantity

/** @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);
Free Worldwide Exchange
Free Returns 30 Days
Sustainably made
Secure payments

Aromatic cedar shoe trees are made with aromatic cedar wood which helps absorb moisture and naturally deodorizes your footwear.

Designed and manufactured by master craftsmen

Premium calfskin

Premium rubber sole

Full leather insole and lining

Free return&exchange all the world