Men's Loose Casual Sports T-shirt & Shorts Set

1 sold
$49.99
Size:  M
Color:  Dark Grey
Quantity
people are viewing this right now
Shipping
/** @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);

Description

  • Details
  • Size Chart
        • Our distinctive clothing will add instant style to your wardrobe..
          • Length: Regular
          • Material: Polyeste
          • Sleeve Type: Short Sleeve
          • Style: Vacation
          • Fit Style: Fit

          @Note:
          Size: please check measurements carefully
          Please allow 0.5-1" difference due to manual measurement
          Different monitor settings means colors may differ slightly
          1" = 2.54cm
        • @
        • (in)
          Size (in) Top Length Shoulder Chest Bottom Length Waist Hip
          M 28.35" 24.02" 44.09" 19.7" 27.56" 43.3"
          L 29.13" 24.41" 46.46" 20.1" 29.13" 44.88"
          XL 29.92" 25.20" 48.82" 20.5" 30.71" 46.45"
          2XL 30.71" 25.98 51.18" 20.9" 32.28" 48.03"
          3XL 31.50" 26.38" 52.76" 21.3" 33.86" 49.60"

SHIPPING POLICY

Our goal is to provide you with the best delivery options, no matter where you are. We deliver to hundreds of customers around the world every day and strive to provide you with the highest level of service.
The time frame for order delivery is divided into two parts:

Total delivery time = handling time + shipping time

Order processing time: 2 to 5 business days
Order shipping time: 7 to 15 business days


Is shipping free?

Standard Shipping:

Billing rules Item name Transportation time cost
$29.00 and up VIP fast shipping 5-10 working days $4.99
$29.00 and up Standard shipping 7-12 working days free shipping
$0.01-$28.99 VIP fast shipping 5-10 working days $7.99
$0.01-$28.99 Standard shipping 7-12 working days $5.99


Once the package is shipped, you will be able to receive a tracking number via email for reference. If you cannot find the email with the tracking number, please check your spam folder.


Why is my order shipped in a different package?

If you order multiple items, each item may be shipped from a different warehouse, depending on which warehouse has the fastest delivery. Or, if an item is popular and a little on back order, we may ship your item at a different time in different packaging to prevent delays in your order and get it to you as quickly as possible!


Do I need to pay duties and taxes?

Prices shown on our website are in U.S. dollars and exclude tax, which means you may be required to pay duties and taxes upon receipt of your order. Once your order reaches its final destination, import taxes, duties and related customs fees may be charged, as determined by your local customs office. Payment of these fees and taxes is your responsibility and we are not responsible for these fees and taxes. We are not responsible for delays caused by your country's customs authorities. For more details on fees, please contact your local customs office.

Can I cancel my order?

Cancellations are allowed within 24 hours of order placement. Once an order is shipped, we cannot cancel it.

Contact email:support@lammli.com

RETURN & REFUND POLICY

Returns and refunds

Our policies are valid for 30 days. If 30 days have passed since your purchase, unfortunately we are unable to offer you a refund or exchange. Also, please be sure to enter your correct address on the order page. If you enter incorrect address information, you may not receive your item.

In order to receive your refund, please follow these steps:

Products can only be returned if they are still in their original condition and packaging. Used or customer damaged products will not be eligible for refunds.

Request your return authorization number and email it to support@lammli.com with a detailed reason for the return and a product image or video to support your reason. Once approved, you will receive our return warehouse address,
To ensure your refund, please use trackable mail service, we are not responsible for lost or lost packages. (You will be responsible for paying your own return shipping costs. We do not cover customs fees for returns)

Once we receive your package, we will inspect your product and issue a full refund via your original payment method. A refund receipt will be emailed to the email address used for your original purchase.

In certain circumstances, only a partial refund will be given (if applicable):

Any item that is not in original condition, damaged or missing parts due to no fault of ours

Any merchandise returned more than 30 days after delivery

There are several types of items that are exempt from returns. We also do not accept products containing intimate or sanitary products, hazardous materials, or flammable liquids or gases.

Late or missing refunds (if applicable)

If you haven't received your refund yet, please check your bank account again first.

Then contact your credit card company, it may take some time for your refund to be officially posted.

Next contact your bank. There is usually some processing time before a refund is issued.

If you've done all of this and still haven't received your refund, please contact us at: support@lammli.com

Exchange (if applicable)

We only replace items that are defective or damaged. If you need to exchange the same item, please send an email to: support@lammli.com

Sales/promotion items (if applicable)

Only regular priced items can be refunded, unfortunately sale items cannot be refunded.

If you have any further questions, please feel free to contact us via email: support@lammli.com

We'll take care of everything.

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.