Free shipping worldwide over $50
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
6 / 8
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
2022 Upgraded Tactical Waterproof Tactical Shorts
0% OFF

2022 Upgraded Tactical Waterproof Tactical Shorts

$34.99
4 sold
Color
Size
Qty

Our most comfortable Tactical Shorts are back and better than ever. Featuring a stretchable design, multiple storage pockets, and a breathable/water/rip-resistant poly-blend material, these shorts are built to trek, hike, and move but stylish enough to wear every day! Perfect for your next outdoor adventure or for daily activities, with durability that you can rely on for years to come.

FEATURE:

Breathable Poly/Cotton BlendStay comfortable and dry under the toughest conditions.

Stretchable Design:These shorts stretch when you move! Move freely and stay comfortable on-the-go with the innovative elastic waistband.

Multiple Pockets:Featuring multiple cross-over zipper and velcro pockets, there is plenty of room to securely store knives, multi-tools, keys, flashlights, and other essential gear! Keep your hands free.

Ergonomic Seat:Stay agile and flexible with a full range of motion in any position! 

Professional Comfort:Elastic waistband with velcro fastener

Comfort-Fit Waist:Belt loops for up to 50 mm wide belt Loops for key hook, D-Ring or carabiner

Low-Profile Pockets:Two wide back pockets Two small back pockets for mags, folding knife, flashlight, etc.

Multiple Sizes/Colors available:Available in Khaki, Black, Army Green. 

Sizes: S, M, L, XL, 2XL, 3XL, 4XL

 

SPECIFICATION:

Material: Breathable Poly/Cotton Blend 
Sizes: S, M, L, XL, 2XL,3XL,4XL
Colors: Available in Khaki, Black, Green

PACKAGE INCLUDES:

  • 1 x Tactical Shorts
You May Also Like Don't Like These?

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.