Free Shipping From 2 Shirts
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
1 / 9
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU
You may also like Don't Like These?
47% OFF

Mountain Hardwear Ghost Whisperer 2 Hooded Down Jacket - Men's Blue Slate - SMU

$189.55 $360.00
Color
Size
Qty 3 in stock
/** @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);

From the manufacturer

1
2
3
4
Bottom

Product Description

A sustainable reimagining of our best-selling ultralight down hoody. Because a hoody is supposed to keep you warm (surprise—this one does!) but what about one that won't heat up the atmosphere? We think this flying space rock is pretty awesome, and because we want to keep Earth awesome, we made the Ghost Whisperer/2™, which uses trash instead of making more. With completely recycled face fabric and responsibly sourced, RDS-certified down insulation, this layer brings the heat where it's supposed to.

-We can ship to all over the world
-Free shipping from 2 shirts

ESTIMATED DELIVERY TIME:

Delivery Time = Processing time + Shipping time

Processing Time:

3-7 working days

Shipping Time:

US: 8-15 days

Europe: 7-12 days

CA/AU: 7-12 days

MX: 8-15 days

Rest of the world: 10-20 days

If there is any problem with the item, please return the goods to us within 30 days of receiving your order.

All returns must be unworn and unopened, unwashed and undamaged, in their original condition with all original tags attached and/or in their original packaging which must also be undamaged in its original condition.

To start a return, you can contact us at support@joyfball.com. Items sent back to us without requesting returning will not be accepted.

You may also like Don't Like These?