Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
2 / 7
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad
24% OFF

Men's Assault Military Pants Rip-stop Tactical Pants With Knee Pad

$49.95 $65.95
0 sold
Color
Pants 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);

At present, there are many low-priced imitation products on the market, please look for the official store to buy: narcissuslove.com (We will not be responsible for refunds after purchases from other stores)

Official mailbox: [email protected]

The product is manufactured in California(L.A.), Nevada(Henderson), Massachusetts(Boston) and Michigan(Detroit).

  • Full refund within 90 days without reason.
  • Shipping>>Express Delivery from California/Nevada/Michigan to the Worldwide.
  • Limited Stock At This Price.🔥

Whether you are on security detail, prepping for an outdoor trek, or spending a day at the gun range, you need a pair of tactical pants that are comfortable, durable, and hold all the essentials without sagging or wearing you down. The Archon Urban Waterproof Ripstop Cargo Pant is created for urban tactical men pants with law enforcement, outdoorsman, and rugged adventurers in mind.


These cotton ripstop pants sit right at your waist and are designed with a relaxed seat and thigh for a comfortable fit. A wide variety of pockets, including two spacious cargo pockets, makes it easy to store all your important work items. These pants also feature a gusseted crotch to improve your range of motion, as well as a double front with cleanout openings to accommodate knee pads. Delivering the perfect balance of durability, comfort, and functionality, these pants are equipped to handle any job.

Feature
  • 60% cotton, 40% polyester ripstop fabric
  • 6 Versatile, Low-Profile Pockets include two spacious cargo pockets
  • Reinforced Knee Stitching
  • Hidden elastic waist
  • Waist loop convenient storage buckle
  • Ykk Waterproof zipper at back pocket
  • Match with tactical knee pads
  • Convenient hem design
  • Knee Pad Included

    SIZE GUIDE:

    PS:We recommend that you buy one size larger.

    Tips: Please choose the correct size according to the actual situation as everyone's measurement is different.

    HOW TO PAY

    If you want to checkout with Credit Card. Please Click Paypal and Search for ‘Pay with Debit or Credit Card’

    Enter your Payment details, your Billing Address, and your Contact Information.


    You need to know these!

    • Free Shipping: Over 49 dollars.
    • Payment success & send e-mail for your confirmation before shipping.
    • Orders can be canceled, returned, or exchanged freely if there are problems in quality, colors, and delayed shipping
    • Please contact us([email protected]), if you need assistance.
    • We processes orders between Monday and Friday. Orders will be processed within 2 business days of ordering and shipped out the next day after the processing day. We don't ship on weekends.
    You may also like Don't Like These?
    const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT = 99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING = `${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static deferredMount() { return false; } /** @param {!SpzElement} element */ constructor(element) { super(element); /** @private {!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win); /** @private {Object} */ this.data_ = null; /** @private {Element} */ this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ = true; /** @private {number} */ this.timerId_ = null; /** @private {number} */ this.animationExecutionCount_ = 0; /** @private {boolean} */ this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ = 5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string} */ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() { this.productAvailable_ = this.element.hasAttribute('product-available'); this.selectedVariantAvailable_ = this.element.hasAttribute('selected-variant-available'); } /** @override */ mountCallback() { this.render_(); } /** @private */ render_() { if (!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data) { return; } this.data_ = data; this.animationClass_ = `painter-${data.animation_name}-animation`; this.iterationCount_ = data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT : data.animation_iteration_count; const animationDuration = 1; const animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration + animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param {JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try { return JSON.parse(data); } catch (e) { return null; } } /** * @return {Promise} * @private */ fetch_() { return this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data || !data.enabled) { return null; } return this.parseJson_(data.detail); }); } /** @private */ getAddToCartButton_() { this.addToCartButton_ = SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"] [role="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product"] [data-click="addToCart"]' ); } /** @private */ restartAnimation_() { this.addToCartButton_.classList.remove(this.animationClass_); this.addToCartButton_./* OK */ offsetWidth; this.addToCartButton_.classList.add(this.animationClass_); this.animationExecutionCount_++; } /** @private */ clearTimer_() { this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */ setupTimer_() { this.timerId_ = this.win.setInterval(() => { this.restartAnimation_(); if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } }, this.delay_); } /** @private */ restartTimer_() { if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */ listenVariantChange_() { SPZUtils.Event.listen(self.document, 'dj.variantChange', (e) => { const selectedVariant = e.detail && e.detail.selected; if (!selectedVariant) { return; } const {available} = selectedVariant; if (this.selectedVariantAvailable_ !== available) { this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) { this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() { this.win.setTimeout(() => { this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /** @private */ handleButtonEffect_() { this.getAddToCartButton_(); if (!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) { ++this.animationExecutionCount_; this.addToCartButton_.classList.add(this.animationClass_); if (this.iterationCount_ === 1) { this.removeAnimationClass_(); return; } this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG, SpzCustomPainterButtonAnimation);