Assuming I Was Like Most Grandmas Workout Fitness Grandma Print Women's Vest

$18.99
people are viewing this right now
Shipping
Color:  Black
Size:  S
Quantity
/** @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

Color: As shown.
Semi-fitted. If you prefer loose fit, choose a larger size.
Material: 100%  cotton
Organic dyeing process
Organic printing dye and method
Top quality inks
Washable at 40 degrees
Sizes S to 4XL. Check the size guide for updated measurements
SizeBustLength
cminchcminch
S9236 6726
M9638 6827
L10039 6927
XL10642 7028
2XL11244 7128
3XL11846 7228
4XL12448 7329




Sizing Chart

Refund Policy

Returns & Exchanges & Cancellation

Order Cancellation
Please check the size, color, quantity, recipient, shipping address and other information carefully before making payment. Once the order is placed, it cannot be changed easily. If you would like to cancel your order, please email us at service@tenaxlife.com. Your order cannot be canceled once it has been shipped.

Note:
1、More than 12 hours after placing an order, cancellation of the order will be charged an order processing fee of 20% of the order amount.
2、Cancellation orders will not be accepted more than 7 days after the order is placed.


Exchanges 
After placing the order, if you think the size of the product may not fit you, or you want to change to another style, please contact our Customer Service representative by emailing us at service@tenaxlife.com,our customer service representative will reply your email within 24 hours.

Please note that if there is a difference in the price of the changed style, we will charge or refund according to the situation. We recommend that you try not to choose a product with a difference of more than $1 to avoid the difference.


Returns

We’re bummed if you're not 100% satisfied with the items you received. Please review our Returns Policy below:

Returns Policy

1.If you decide an item is not right for you, you can contact us for returns within fourteen (14) days after receiving your items.

2.The following items are not eligible for returns or exchanges: Bikinis, Tankinis, One-Piece Swimwear and Lingerie.

3.Items returned must be in their original, unused condition with the original packaging. Item that are worn, damaged, washed or altered in any way will not be accepted for returns

4.Items sent back without first contacting our Customer Service representative will not be accepted. Please note the address indicated on the packaging slip is not our return address. Items sent there will not be accepted for returns.

5.You will be responsible for any return shipping cost.

6.Your refund will be processed after we receive your returned package. For customers who paid by PayPal, your refund will be processed in 2 days after receipt of your package. For customers who paid by credit card, your refund will be processed in 7 days after receipt of your package.

7.If a return item is shipped internationally, mark as "RETURNED GOODS" to avoid any Customs charges. We are not responsible for any charges imposed on packages returned by Customs.Unless otherwise agreed upon, the refund will be processed through the same payment method of the original purchase. We will notify the buyer if the product or packaging is found used or damaged as we reserve the right to deduct any depreciation in value when refunding the product.

8.Customers will only be charged once at most for shipping costs (this includes returns); No-restocking to be charged to the consumers for the return of the product.

We will gladly accept returns within 14 days from the date you received your items. Please follow the process below to process your returns:

1.Get in touch with our customer service representative by sending us a request in your account. Alternatively, you can email us at service@tenaxlife.com.com. Indicate which item(s) you would like to return and the reason.

2.Our customer service representative will get back to you within 24 hours and process your return request.

3.Place the item(s) in the original packing and seal the parcel securely. Put the return address you received from our customer service representative onto the package.


Once we receive your package, we will promptly process an exchange or issue a refund to your account in accordance with our returns policy.


Notes
If the return is caused by the consumer, consumer should be responsible for the shipping fee. The specific fee should be based on the express company you choose.

If due to our reasons, the goods received are damaged or not correct, the consumer is not required to bear the shipping fee for this reason.
No restocking fee to be charged to the consumers for the return of a product.

Before returning the goods, the buyer should confirm the return address before returning the goods to the seller. If the buyer does not communicate with the seller nor confirm the return address, and return the goods directly to an unconfirmed address, the return will not be considered as a valid return, so the seller will not accept any refund requests.

Payment Methods

Pay With Paypal

 When you place an order with Paypal you will be redirected to the PayPal payment page, where you can confirm your payment by logging in with your PayPal username and password.
You may still check out even without a PayPal account. To do so, please click on "Pay with Debit/Credit Card" and you’ll be redirected to a secure page where you can enter your credit card information or complete your payment safely via PayPal.


Pay With Credit/Debit Card

The available credit card options are listed above. The credit card companies listed above are the most commonly used credit cards on this website. Do not worry if your credit card company is not listed, we encourage you to go ahead and make the purchase.
Please note that Originmemory does not collect your credit/debit card number or personal information when you make a payment. For questions regarding your transactions on our site, please consult your card-issuing bank for information.

 

"Coupon Code"

You can apply coupons to your order at checkout. Once you’ve entered your coupon code, click “apply” and the discount will automatically adjust your order total. Please note that if you do not click ”apply” before continue checkout, your order total will not reflect coupon discount.

 

NOTES:

  • Please make sure that you enter the coupon code exactly as you received it, with no space before, within, or after it. To avoid errors, we recommend you to copy/paste the promotional code you received.
  • Coupons cannot be combined. You can only use one coupon code per order.
  • Coupons are subject to offer terms. This does exclude some items on our website which are not eligible for coupon discounts.
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.