Free shipping on orders over $79

Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
1 / 8
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
Men's Long Sleeve V Neck Casual Beach Linen Shirt
1 / 8

Men's Long Sleeve V Neck Casual Beach Linen Shirt

$39.99
$0.00 0% Off
White
Size

Size chart

Size(inch) Bust Shoulder Length Sleeve Length
S 43.31 18.11 27.95 24.02
M 45.28 18.58 28.74 24.41
L 47.24 19.06 29.53 24.80
XL 49.21 19.53 30.31 25.20
XXL 51.18 20.00 31.10 25.59
3XL 53.15 20.47 31.89 25.98
4XL 55.12 20.94 32.68 26.38
5XL 57.09 21.42 33.46 26.77
  • Fabric Composition: 60% cotton, 40% linen
  • Activity: Gym Workout, Fitness, Running, Cycling
  • Season: Spring, Fall, Summer
  • Function: Breathable, Moisture Wicking, Quick Dry, Collect waist
  • Design: Solid Color
  • Quantity: 1pieces
  • Garment Version: Fit version
    Note:
    There might be a 2-3% difference according to manual measurement.

Please check the measurement chart carefully before you buy the item.

Please note that a slight color difference should be acceptable due to the light and screen.

SHIPPING

Total Delivery Time = Processing Time (1-2 business days) + Shipping Time (5-10 business days).

Free shipping on orders over $79.

❤️ Our Guarantee

We stand by our products with a 30-day risk-free guarantee. If you're not completely thrilled with your order, you can simply return or exchange it within 30 days from the date you receive the package.

Customer Reviews

Here are what our customers say.

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.