Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
1 / 11
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
Mens All-terrain Versatile Tactical Jacket
8% OFF

Mens All-terrain Versatile Tactical Jacket

$119.99 $129.99
1 sold
Color
Size
Qty 1000 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);

PRODUCT SIZE

undefined

The new design is higher functioning, more stylish and even more abuse proof. It still retains the signature articulated spine pad, but has also been equipped with double layer elbow sleeves that accept  articulated padding system.

FEATURES

  • Polyester fiber for great weather and wind resistance
  • Double layer elbows and shoulders
  • 12 pockets
  • Interior hammock pockets
  • Interior zippered pockets
  • Articulated spine pad
  • Articulated arms
  • Emergency drag strap
  • Elbow insert sleeves for  padding system
  • Cinching waist

Specifications

  • Material: Polyester fiber
  • Color: Light green/Army Green/Khaki/Black/8060*Khaki
  • Product size: S-3XL
  • Product weight: 600g
  • Package includes: 1 x Mens All-terrain Versatile Tactical Jacket

Notes

  • Due to manual measurements, please allow slight measurement deviations.
  • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed in the picture.
You may also like Don't Like These?