www.hooshops.com
Open in
urlscan Pro
104.17.247.119
Public Scan
Submitted URL: http://www.hooshops.com/products/csmdf230828-3yh?utm_source=stream&utm_medium=edm&utm_campaign=24-06-16&stream_ukey=6k69...
Effective URL: https://www.hooshops.com/products/csmdf230828-3yh?utm_source=stream&utm_medium=edm&utm_campaign=24-06-16&stream_ukey=6k69...
Submission: On June 19 via api from US — Scanned from DE
Effective URL: https://www.hooshops.com/products/csmdf230828-3yh?utm_source=stream&utm_medium=edm&utm_campaign=24-06-16&stream_ukey=6k69...
Submission: On June 19 via api from US — Scanned from DE
Form analysis
5 forms found in the DOM<form>
<input name="variant_id" type="hidden" value="${data.variants[0].id}">
<button type="button" class="product-snippet__quick-shop-icon" role="addToCart" data-quick-shop="${data.handle}" data-track-product-id="${data.id}" data-track="click" data-track-content="add_to_cart" data-track-source="quick_shop">
<svg class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M8.6 1.9a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.5H1.9a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.5v5.5a.3.3 0 0 0 .3.3h.6a.3.3 0 0 0 .3-.3V8.6h5.5a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V1.9z" fill="currentColor"></path>
</svg>
</button>
</form>
GET /search
<form class="flex items-center" action="/search" method="get">
<button type="submit" class="clear text-0 text-inherit cursor-pointer">
<svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M17.925 20.057A9.955 9.955 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.968 9.968 0 0 1-2.864 7.006l4.929 4.928a.8.8 0 0 1-1.132 1.132l-5-5-.008-.01zM20.4 12a8.4 8.4 0 1 1-16.8 0 8.4 8.4 0 0 1 16.8 0z"
fill="currentColor"></path>
</svg>
</button>
<input @input-debounced="header_search_predictive_render-sidebar.rerender(data=event.value, redo=true);" class="header__search_sidebar-input flex-1 text-base leading-none type-text-font-family clear" type="text" autocomplete="off" name="q"
placeholder="Search products">
<button type="reset" class="header__search-modal-close text-0 text-inherit clear cursor-pointer" @tap="header_search_sidebar.close()">
<svg class="" width="26" height="26" xmlns="http://www.w3.org/2000/svg">
<path d="M21.502 5.732A.85.85 0 0 0 20.3 4.53l-7.32 7.32L5.734 4.6a.85.85 0 0 0-1.202 1.203l7.248 7.247L4.53 20.3A.85.85 0 0 0 5.733 21.5l7.248-7.248 7.319 7.319a.85.85 0 0 0 1.202-1.202l-7.319-7.319 7.319-7.319z" fill="currentColor"></path>
</svg>
</button>
</form>
GET
<form id="smart-search-form" class="smart-search-form" method="GET" is="spz-form" @submit="smart-search.handleSearchSubmit(value=event.q);">
<div class="smart-search-input-content">
<svg class="icon-search " width="18" height="18" xmlns="http://www.w3.org/2000/svg">
<path opacity=".01" fill="currentColor" d="M0 0h18v18H0z"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.41 13.885a6.923 6.923 0 1 1 .839-.728l3.412 3.413a.554.554 0 0 1-.783.783l-3.462-3.462a.383.383 0 0 1-.006-.006Zm1.713-5.577a5.815 5.815 0 1 1-11.63 0 5.815 5.815 0 0 1 11.63 0Z"
fill="currentColor"></path>
</svg>
<input class="smart-search-input" type="search" name="q" spz-if="${data.isOpenAutoThink}" @input-debounced="smart-search.handleFormInput(keyword=event.value);" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false">
<input class="smart-search-input" type="search" name="q" spz-else="">
<spz-carousel class="hot-keyword-carousel" spz-if="${data.isOpenFindKeyword}" layout="container" loop="" autoplay="" delay="3000" direct="vertical" @slideend="smart-search.handleFindKeyword(index=event.index);">
<span class="hot-keyword line-clamp-1" spz-for="(item,index) in data.findKeywordList" key="index">${item}</span>
</spz-carousel>
<button class="smart-search-reset-btn" type="reset" @tap="smart-search-form.clear();smart-search.handleFormInput(keyword='');">
<svg class="icon_header_input_close icon-smart-search-reset" width="12" height="12" xmlns="http://www.w3.org/2000/svg">
<path
d="M2.746 1.992a.2.2 0 0 0-.283 0l-.471.471a.2.2 0 0 0 0 .283L5.245 6 1.992 9.25a.2.2 0 0 0 0 .283l.471.472a.2.2 0 0 0 .283 0L6 6.753l3.252 3.253a.2.2 0 0 0 .283 0l.472-.472a.2.2 0 0 0 0-.283L6.753 6l3.253-3.253a.2.2 0 0 0 0-.283l-.472-.471a.2.2 0 0 0-.283 0L6 5.245 2.746 1.992z"
fill="currentColor"></path>
</svg>
</button>
</div>
<button type="submit" class="smart-search-submit-btn button-primary"> Search </button>
</form>
<form role="spz-product-form961033eb-6aec-4357-b736-a50129b135c0">
<div class="product-info-body-inner product-info-body-z-index" id="product-info-body-inner-container">
<div class="flex mt-2">
<div class="text-xs leading-1.3 color-custom-label-text product-info-custom-label bg-custom-label rounded-sm">Summer Sale🔥</div>
</div>
<h1 class="product-info-title m-0 leading-1.25 type-heading-font-family break-words product-title-color "> Desert Camel And Pyramids Printing Short Sleeve Shirt </h1>
<spz-render class="mt-4 lg:mt-5 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="product-info-prices" layout="container" manual="" i-spzhtml-layout="container" style="height: auto;">
<template> ${function() { const variantData = data.variant ||
{"id":"574de68c-cf74-4241-80d4-ab21998028a5","product_id":"961033eb-6aec-4357-b736-a50129b135c0","title":"XS-Multicolor","weight_unit":"kg","inventory_quantity":9998,"sku":"cSMDF230828-3yH-XS","barcode":"cSMDF230828-3yH","position":1,"option1":"XS","option2":"Multicolor","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/01f5bb3dfdcdae4086ad763f605b6eba.jpeg","path":"01f5bb3dfdcdae4086ad763f605b6eba.jpeg","width":750,"height":1000,"alt":"","aspect_ratio":0.75},"wholesale_price":[{"price":23.95,"min_quantity":1}],"weight":"200","compare_at_price":"27.95","price":"23.95","retail_price":"27.95","available":true,"url":"\/products\/csmdf230828-3yh?variant=574de68c-cf74-4241-80d4-ab21998028a5","available_quantity":9998,"options":[{"name":"Size","value":"XS"},{"name":"Color","value":"Multicolor"}],"off_ratio":14,"flashsale_info":[],"sales":8};
const saveType = "percentage"; const productLabelDiscountOn = true; return ` <div class="flex items-center justify-between">
<div spz-if="${!variantData.price}" class="mr-2 text-2xl leading-1.2 font-semibold color-price flex items-center">
<spz-currency class="mr-2" container-class="product-info__header_price" value="${data.product.price_min}" layout="container"></spz-currency>
<span class="flex" spz-if="${!variantData.price && data.product.price_min < data.product.price_max}"> - <spz-currency class="ml-2" container-class="product-info__header_price" value="${data.product.price_max}"
layout="container"></spz-currency></span>
</div>
<div spz-else="" class="flex items-center flex-wrap">
<spz-currency class="mr-2" container-class="product-info__header_price" value="${variantData.price}" layout="container"></spz-currency>
<spz-currency class="leading-1.2 color-compare-price line-through mr-2 lg:body-plus-2" container-class="product-info__header_compare-at-price" layout="container" value="${variantData.compare_at_price}"
spz-if="${+variantData.price < +variantData.compare_at_price}"></spz-currency>
<div spz-if="${productLabelDiscountOn && variantData.off_ratio > 0}" class="product-info-saved-label inline-block color-save-price whitespace-nowrap font-semibold"> ${saveType == 'percentage' ?
`<span>-${variantData.off_ratio}%</span>` : `<span>-</span><spz-currency class="inline-block" value="${variantData.compare_at_price - variantData.price}" layout="container"></spz-currency>` } </div>
</div>
</div> `; }()} </template>
<div class="flex items-center justify-between">
<div class="flex items-center flex-wrap" spz-else="">
<spz-currency class="mr-2 i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" container-class="product-info__header_price" value="23.95" layout="container" i-spzhtml-layout="container">
<div class="money product-info__header_price">€23.95</div>
</spz-currency><spz-currency class="leading-1.2 color-compare-price line-through mr-2 lg:body-plus-2 i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" container-class="product-info__header_compare-at-price"
layout="container" value="27.95" spz-if="true" i-spzhtml-layout="container">
<div class="money product-info__header_compare-at-price">€27.95</div>
</spz-currency>
<div class="product-info-saved-label inline-block color-save-price whitespace-nowrap font-semibold" spz-if="true">
<span>-14%</span>
</div>
</div>
</div>
</spz-render>
<div class="product-info-desc mt-4 lg:mt-5">
<spz-accordion layout="container" animate="" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
<section class="product-info-desc-item">
<div class="product-info-desc-item-header flex justify-between break-words i-spzhtml-accordion-header" accordion-header="">
<div class="flex-1 mr-3 lg:body-plus-3">Size Guide</div>
<svg class="flex-shrink-0" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none">
<path fill="currentColor" d="M7.543 11.306a.6.6 0 0 0 .848 0l4.455-4.454a.3.3 0 0 0 0-.425l-.34-.339a.3.3 0 0 0-.424 0l-4.115 4.115-4.115-4.115a.3.3 0 0 0-.425 0l-.34.34a.3.3 0 0 0 0 .424l4.456 4.454Z"></path>
</svg>
</div>
<div class="product-info-desc-item-content mce-content i-spzhtml-accordion-content">
<p>We strongly suggest you to take measurements before placing an order.<span class="Apple-converted-space"> </span><br>And then please use the “<strong>Size Guide</strong>” instructions and chart on every product page to help select
the size that best fits you.<br><strong>How to measure:</strong><br>Shoulder: Stand up straight and relax your shoulders, measure from the tip of one shoulder to the other.<br>Chest: Measure 1<span>" </span>under you
armholes around the fullest part of your chest including your shoulder blades.<br>Waist: Measure around your natural waistline, keeping the tape a bit loose.<br>Hip: Measure around the fullest part of the hips (about 7" down from your
natural waistline), keeping tape taut.<br>Length: This is the length of the clothing from where your neck/shoulders/waist meet to the bottom of the clothing.<br>*The measurements chart shown on product pages are measurements for each
garment, by size. Please use the guides and reference and compare them to your own body measurements to determine the best size. </p>
<p><span>If your body measurements </span>close to the maximum of the size, please choose one size up.</p>
<p><spz-img layout="intrinsic" auto-fit="" src="https://img.staticdj.com/21f410fd0c1044c2afcd2148f6d82817.jpeg" alt="" height="600" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="600px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img></p>
<p><spz-img layout="intrinsic" src="https://img.fantaskycdn.com/1c4f3eaf795c7dea5c73a3d46ed25e53.jpg" alt="" height="600" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="600px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img></p>
<p><spz-img layout="intrinsic" auto-fit="" src="https://img.staticdj.com/1d521343864a174271ffde90335023d7.jpeg" alt="" height="600" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="600px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img></p>
<p><spz-img layout="intrinsic" auto-fit="" src="https://img.staticdj.com/c7467cae934628ac296dff7249624f4f.jpeg" alt="" height="600" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="600px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img></p>
<p><spz-img layout="intrinsic" auto-fit="" src="https://img.staticdj.com/1f6a90b02cd964ff0257f330f0e09138.jpeg" alt="" height="600" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="600px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img><spz-img layout="intrinsic"
auto-fit="" src="https://img.staticdj.com/790f8821622a8dafb9dd55032c63937f.jpeg" alt="" height="600" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="600px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img><spz-img layout="intrinsic"
auto-fit="" src="https://img.staticdj.com/72bd8d22aba2ebc4691da7ec4626514a.jpeg" alt="" height="600" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="600px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img><spz-img layout="intrinsic"
auto-fit="" src="https://img.staticdj.com/a6b02c7c136aaa10ad25409d71d0b62c.jpeg" alt="" height="600" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="600px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img><spz-img layout="intrinsic"
auto-fit="" src="https://img.staticdj.com/b4d11f5161343eb9d9fae4562ea4a1e3.jpeg" alt="" height="600" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="600px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img><spz-img layout="intrinsic"
auto-fit="" src="https://img.staticdj.com/d6f61a2bbc413adf5f44a8ddc2c9d168.jpeg" alt="" height="536" width="1024"
class="i-spzhtml-layout-intrinsic i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" i-spzhtml-layout="intrinsic"><i-spzhtml-sizer class="i-spzhtml-sizer"
slot="i-spzhtml-svc"><img alt="" role="presentation" aria-hidden="true" class="i-spzhtml-intrinsic-sizer"
src="data:image/svg+xml;charset=utf-8,<svg height="536px" width="1024px" xmlns="http://www.w3.org/2000/svg" version="1.1"/>"></i-spzhtml-sizer></spz-img></p>
<div><strong>Notes:</strong></div>
<div>a. Please choose a corresponding size according to your measurements.<span class="Apple-converted-space"> </span></div>
<div>b. The size chart listed is based on international sizing system.</div>
<div>c. 1-3cm / 1-1.2 inches is allowed in manual measurements error, the size chart is for reference only. If your body measurements close to the maximum of the size, please choose one size up.</div>
<div>d. The precise color of the items may vary depending on the specific monitor, the settings and lighting conditions.</div>
<div></div>
<div>We wish you a pleasant shopping with HOO!</div>
</div>
</section>
</spz-accordion>
</div>
<div class="plugin-discount-wrap empty-hidden" role="[theme-seat-for-plugin]"></div>
<spz-variants class="product-info__variants flex flex-col items-start i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" layout="container" id="product-info-variants" src="script:product-json" switch-slide="[]"
slide="product-detail-images" manual="" interference="" select-soldout-suffix=" - Sold out" interact="hover" inherit-url-variant=""
@mouseout="product-info-selected-variant-option1.rerender(data=event);product-info-selected-variant-option2.rerender(data=event);" @sizemouseover="product-info-selected-variant-option1.rerender(data=event);"
@colormouseover="product-info-selected-variant-option2.rerender(data=event);" i-spzhtml-layout="container">
<fieldset class="product-info__variants_content mx-0 mt-4 lg:mt-5" name="Size">
<legend class="w-full m-0 p-0">
<span class="lg:body-plus-2 font-semibold leading-1.25 product-info__variants_title">Size: </span>
<spz-render class="product-info-selected-variant-option-text inline-block color-body-70 leading-1.25 lg:body-minus-2 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="product-info-selected-variant-option1"
layout="container" manual="" i-spzhtml-layout="container" style="height: 18px;">
<template> ${function(){ const optName = "Size"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (optionValue) : ''; return
`<span>${optionValueText}</span>`; }()} </template>
<span>XS</span></spz-render>
</legend>
<div class="flex flex-wrap product-info-variant-container ">
<div class="relative mt-3 mr-3">
<input type="radio" option="XS" id="product-info-variant-XS-0" class="pointer-events-auto" name="product-info-variant-Size" value="XS" form="product-info-body" @input-debounced="product-info-selected-variant-option1.rerender(data=event);"
checked="">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">XS</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="S" id="product-info-variant-S-1" class="pointer-events-auto" name="product-info-variant-Size" value="S" form="product-info-body" @input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">S</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="M" id="product-info-variant-M-2" class="pointer-events-auto" name="product-info-variant-Size" value="M" form="product-info-body" @input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">M</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="L" id="product-info-variant-L-3" class="pointer-events-auto" name="product-info-variant-Size" value="L" form="product-info-body" @input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">L</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="XL" id="product-info-variant-XL-4" class="pointer-events-auto" name="product-info-variant-Size" value="XL" form="product-info-body"
@input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">XL</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="2XL" id="product-info-variant-2XL-5" class="pointer-events-auto" name="product-info-variant-Size" value="2XL" form="product-info-body"
@input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">2XL</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="3XL" id="product-info-variant-3XL-6" class="pointer-events-auto" name="product-info-variant-Size" value="3XL" form="product-info-body"
@input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">3XL</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="4XL" id="product-info-variant-4XL-7" class="pointer-events-auto" name="product-info-variant-Size" value="4XL" form="product-info-body"
@input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">4XL</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="4XLT" id="product-info-variant-4XLT-8" class="pointer-events-auto" name="product-info-variant-Size" value="4XLT" form="product-info-body"
@input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">4XLT</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="5XL" id="product-info-variant-5XL-9" class="pointer-events-auto" name="product-info-variant-Size" value="5XL" form="product-info-body"
@input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">5XL</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="5XLT" id="product-info-variant-5XLT-10" class="pointer-events-auto" name="product-info-variant-Size" value="5XLT" form="product-info-body"
@input-debounced="product-info-selected-variant-option1.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="text">
<span class="break-words text-center">5XLT</span>
</label>
</div>
</div>
</fieldset>
<spz-render id="product-variant-option1-error-tip" manual="" layout="container" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
<template> ${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return `<div class="product-info__variants-tips font-bold">${tipText}</div>` }()} </template>
</spz-render>
<fieldset class="product-info__variants_content mx-0 mt-4 lg:mt-5" name="Color">
<legend class="w-full m-0 p-0">
<span class="lg:body-plus-2 font-semibold leading-1.25 product-info__variants_title">Color: </span>
<spz-render class="product-info-selected-variant-option-text inline-block color-body-70 leading-1.25 lg:body-minus-2 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="product-info-selected-variant-option2"
layout="container" manual="" i-spzhtml-layout="container" style="height: 18px;">
<template> ${function(){ const optName = "Color"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (optionValue) : ''; return
`<span>${optionValueText}</span>`; }()} </template>
<span>Multicolor</span></spz-render>
</legend>
<div class="flex flex-wrap ">
<div class="relative mt-3 mr-3">
<input type="radio" option="Multicolor" id="product-info-variant-Multicolor-0" class="pointer-events-auto" name="product-info-variant-Color" value="Multicolor" form="product-info-body"
@input-debounced="product-info-selected-variant-option2.rerender(data=event);" checked="">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-btn-fixed
" data-type="image">
<spz-img src="//img.fantaskycdn.com/01f5bb3dfdcdae4086ad763f605b6eba_48x.jpeg" layout="responsive" width="44" height="44" alt="" object-fit="cover" auto-fit=""
class="i-spzhtml-layout-responsive i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="responsive" complete=""><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer><img
decoding="async" alt="" src="//img.fantaskycdn.com/01f5bb3dfdcdae4086ad763f605b6eba_48x.jpeg" class="i-spzhtml-fill-content i-spzhtml-replaced-content" style="object-fit: cover;"></spz-img>
</label>
</div>
</div>
</fieldset>
<spz-render id="product-variant-option2-error-tip" manual="" layout="container" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
<template> ${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return `<div class="product-info__variants-tips font-bold">${tipText}</div>` }()} </template>
</spz-render>
</spz-variants>
<div class=" mt-4 lg:mt-5">
<div class="leading-1.25 font-semibold lg:body-plus-2">Quantity</div>
<spz-quantity class="product-info-qty mt-2 lg:mt-3 i-spzhtml-layout-fixed-height i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="product-info-quantity" name="quantity" value="1" min="1" max="9998"
icon-class="product-info-qty-btn clear flex items-center justify-center flex-shrink-0" input-class="product-info-qty-input clear flex-shrink-0 body-plus-2 text-center" height="40" layout="fixed-height" style="height:40px;"
i-spzhtml-layout="fixed-height">
<div class="i-spzhtml-fill-content i-spzhtml-replaced-content"><span role="button" class="i-spzhtml-quantity-number-decrease product-info-qty-btn clear flex items-center justify-center flex-shrink-0" disabled=""><svg role="decrease" class=""
width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M13.7 7.4a.3.3 0 0 1 .3.3v.6a.3.3 0 0 1-.3.3H2.3a.3.3 0 0 1-.3-.3v-.6a.3.3 0 0 1 .3-.3h11.4z" fill="currentColor"></path>
</svg></span><input type="number" name="quantity" min="1" max="9998" class="i-spzhtml-quantity-number-input product-info-qty-input clear flex-shrink-0 body-plus-2 text-center"><span role="button"
class="i-spzhtml-quantity-number-increase product-info-qty-btn clear flex items-center justify-center flex-shrink-0"><svg role="increase" class="" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
<path d="M8.3 14a.3.3 0 0 0 .3-.3V8.6h5.1a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V2.3a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.1H2.3a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.1v5.1a.3.3 0 0 0 .3.3h.6z" fill="currentColor"></path>
</svg></span></div>
</spz-quantity>
</div>
<div class="product-info__btn mt-4 lg:mt-5">
<button class="relative button-secondary flex items-center justify-center w-full body-plus-2 leading-1.25 type-text-font-family rounded-btn product-info_atc_btn" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart"
data-track-source="add_to_cart">
<span role="content">Add to cart</span>
<spz-render id="product-info-btn-price" layout="container" template="product-info-btn-price-template" manual="" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container"
style="height: auto;">
<div class="flex"><span class="product_price_before"></span><spz-currency value="23.95" layout="container" class="i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
<div class="money">€23.95</div>
</spz-currency></div>
</spz-render>
<style>
.product_price_before::before {
content: ' - ';
display: block;
width: 20px;
}
</style>
<template id="product-info-btn-price-template"> ${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants
&& data.product.variants[0]); const productVariant =
{"id":"574de68c-cf74-4241-80d4-ab21998028a5","product_id":"961033eb-6aec-4357-b736-a50129b135c0","title":"XS-Multicolor","weight_unit":"kg","inventory_quantity":9998,"sku":"cSMDF230828-3yH-XS","barcode":"cSMDF230828-3yH","position":1,"option1":"XS","option2":"Multicolor","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/01f5bb3dfdcdae4086ad763f605b6eba.jpeg","path":"01f5bb3dfdcdae4086ad763f605b6eba.jpeg","width":750,"height":1000,"alt":"","aspect_ratio":0.75},"wholesale_price":[{"price":23.95,"min_quantity":1}],"weight":"200","compare_at_price":"27.95","price":"23.95","retail_price":"27.95","available":true,"url":"\/products\/csmdf230828-3yh?variant=574de68c-cf74-4241-80d4-ab21998028a5","available_quantity":9998,"options":[{"name":"Size","value":"XS"},{"name":"Color","value":"Multicolor"}],"off_ratio":14,"flashsale_info":[],"sales":8};
const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex =
wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const
wholesalePrice = wholesale_price[wholesaleIndex] || ''; return ` <div class="flex">
<span class="product_price_before"></span><spz-currency value="${wholesalePrice.price}" layout="container"></spz-currency>
</div> ` }else { const price = variantData && variantData.price; return price != undefined ? `<div class="flex"><span class="product_price_before"></span><spz-currency value="${price}" layout="container"></spz-currency></div>` :
'<span></span>'; } }()} </template>
<div class="loading items-center justify-center absolute inset-0 flex" role="loading" show="">
<div class="loading-bounce"></div>
</div>
</button>
<button class="relative button-primary w-full body-plus-2 leading-1.25 type-text-font-family rounded-btn mt-2 lg:mt-3 product-info_atc_btn" role="buyNow" type="button" data-track="click" data-track-content="checkout"
data-track-source="buy_now">
<span role="content">Buy now</span>
<div class="loading items-center justify-center absolute inset-0 flex" role="loading" show="">
<div class="loading-bounce"></div>
</div>
</button>
<spz-paypal class="mt-3 rounded-btn i-spzhtml-layout-fixed-height i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="paypal-express-button-container" variant="#product-info-variants"
quantity="#product-info-quantity" product-id="961033eb-6aec-4357-b736-a50129b135c0" variant-id="574de68c-cf74-4241-80d4-ab21998028a5" product-form="#product-info-body" role="paypal" layout="fixed-height" height="52"
paypal-js="https://www.paypal.com/sdk/js?client-id=AUwoRlv3iZ3jt3o3hhcft_tZ5g6tvefEpjCf9YNGeH7q8p_WraleitkKfLnWIs8HLpzalgRA5AMT0BYO&currency=EUR&disable-funding=card%2Cbancontact%2Cblik%2Ceps%2Cgiropay%2Cideal%2Cmercadopago%2Cmybank%2Cp24%2Csepa%2Csofort%2Cvenmo&enable-funding=paylater"
style="height:52px;" i-spzhtml-layout="fixed-height">
<div id="zoid-paypal-buttons-uid_38cb78ff7c_mty6ndy6ndu" class="paypal-buttons paypal-buttons-context-iframe paypal-buttons-label-unknown paypal-buttons-layout-horizontal" data-paypal-smart-button-version="5.0.444"
style="height: 52px; transition: all 0.2s ease-in-out 0s;">
<style nonce="">
#zoid-paypal-buttons-uid_38cb78ff7c_mty6ndy6ndu {
position: relative;
display: inline-block;
width: 100%;
min-height: 25px;
min-width: 150px;
font-size: 0;
}
#zoid-paypal-buttons-uid_38cb78ff7c_mty6ndy6ndu>iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#zoid-paypal-buttons-uid_38cb78ff7c_mty6ndy6ndu>iframe.component-frame {
z-index: 100;
}
#zoid-paypal-buttons-uid_38cb78ff7c_mty6ndy6ndu>iframe.prerender-frame {
transition: opacity .2s linear;
z-index: 200;
}
#zoid-paypal-buttons-uid_38cb78ff7c_mty6ndy6ndu>iframe.visible {
opacity: 1;
}
#zoid-paypal-buttons-uid_38cb78ff7c_mty6ndy6ndu>iframe.invisible {
opacity: 0;
pointer-events: none;
}
#zoid-paypal-buttons-uid_38cb78ff7c_mty6ndy6ndu>.smart-menu {
position: absolute;
z-index: 300;
top: 0;
left: 0;
width: 100%;
}
</style><iframe allowtransparency="true"
name="__zoid__paypal_buttons__eyJzZW5kZXIiOnsiZG9tYWluIjoiaHR0cHM6Ly93d3cuaG9vc2hvcHMuY29tIn0sIm1ldGFEYXRhIjp7IndpbmRvd1JlZiI6eyJ0eXBlIjoicGFyZW50IiwiZGlzdGFuY2UiOjB9fSwicmVmZXJlbmNlIjp7InR5cGUiOiJyYXciLCJ2YWwiOiJ7XCJ1aWRcIjpcInpvaWQtcGF5cGFsLWJ1dHRvbnMtdWlkXzM4Y2I3OGZmN2NfbXR5Nm5keTZuZHVcIixcImNvbnRleHRcIjpcImlmcmFtZVwiLFwidGFnXCI6XCJwYXlwYWwtYnV0dG9uc1wiLFwiY2hpbGREb21haW5NYXRjaFwiOntcIl9fdHlwZV9fXCI6XCJyZWdleFwiLFwiX192YWxfX1wiOlwiXFxcXC5wYXlwYWxcXFxcLihjb218Y24pKDpcXFxcZCspPyRcIn0sXCJ2ZXJzaW9uXCI6XCIxMF8zXzNcIixcInByb3BzXCI6e1wiZW52XCI6XCJwcm9kdWN0aW9uXCIsXCJjb21taXRcIjp0cnVlLFwic3R5bGVcIjp7XCJsYWJlbFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJsYXlvdXRcIjpcImhvcml6b250YWxcIixcImNvbG9yXCI6XCJnb2xkXCIsXCJzaGFwZVwiOlwicmVjdFwiLFwidGFnbGluZVwiOmZhbHNlLFwiaGVpZ2h0XCI6NTIsXCJwZXJpb2RcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwibWVudVBsYWNlbWVudFwiOlwiYmVsb3dcIixcImRpc2FibGVNYXhXaWR0aFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJib3JkZXJSYWRpdXNcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9fSxcImZ1bmRpbmdcIjp7XCJkaXNhbGxvd2VkXCI6W1wiY3JlZGl0XCJdfSxcIm9uQXBwcm92ZVwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzQ5YmNmY2FlMjJfbXR5Nm5keTZuZHVcIixcIm5hbWVcIjpcImJvdW5kIHZhbHVlXCJ9fSxcImNyZWF0ZU9yZGVyXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfZjRjZTllZjE1Nl9tdHk2bmR5Nm5kdVwiLFwibmFtZVwiOlwiYm91bmQgdmFsdWVcIn19LFwiY3NwTm9uY2VcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiYWxsb3dCaWxsaW5nUGF5bWVudHNcIjp0cnVlLFwiYW1vdW50XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImFwaVN0YWdlSG9zdFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJhcHBsZVBheVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJhcHBsZVBheVN1cHBvcnRcIjpmYWxzZSxcImJyYW5kZWRcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiYnV0dG9uTG9jYXRpb25cIjpcInd3dy5ob29zaG9wcy5jb21cIixcImJ1dHRvblNlc3Npb25JRFwiOlwidWlkX2Y5ZTFkMTBkNGFfbXR5Nm5keTZuZHVcIixcImJ1dHRvblNpemVcIjpcImxhcmdlXCIsXCJidXllckNvdW50cnlcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiY2xpZW50QWNjZXNzVG9rZW5cIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiY3VzdG9tZXJJZFwiOlwiXCIsXCJjbGllbnRJRFwiOlwiQVV3b1JsdjNpWjNqdDNvM2hoY2Z0X3RaNWc2dHZlZkVwakNmOVlOR2VIN3E4cF9XcmFsZWl0a0tmTG5XSXM4SExwemFsZ1JBNUFNVDBCWU9cIixcImNsaWVudE1ldGFkYXRhSURcIjpcInVpZF85ZjExMWM1NjYzX210eTZuZHk2bmR1XCIsXCJjb21wb25lbnRzXCI6W1wiYnV0dG9uc1wiXSxcImNyZWF0ZUJpbGxpbmdBZ3JlZW1lbnRcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiY3JlYXRlU3Vic2NyaXB0aW9uXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImNyZWF0ZVZhdWx0U2V0dXBUb2tlblwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJjc3BcIjp7XCJub25jZVwiOlwiXCJ9LFwiY3VycmVuY3lcIjpcIkVVUlwiLFwiZGVidWdcIjpmYWxzZSxcImRpc2FibGVDYXJkXCI6W10sXCJkaXNhYmxlRnVuZGluZ1wiOltcImNhcmRcIixcImJhbmNvbnRhY3RcIixcImJsaWtcIixcImVwc1wiLFwiZ2lyb3BheVwiLFwiaWRlYWxcIixcIm1lcmNhZG9wYWdvXCIsXCJteWJhbmtcIixcInAyNFwiLFwic2VwYVwiLFwic29mb3J0XCIsXCJ2ZW5tb1wiXSxcImRpc2FibGVTZXRDb29raWVcIjp0cnVlLFwiZGlzcGxheU9ubHlcIjpbXSxcImVuYWJsZUZ1bmRpbmdcIjpbXCJwYXlsYXRlclwiXSxcImVuYWJsZVRocmVlRG9tYWluU2VjdXJlXCI6ZmFsc2UsXCJlbmFibGVWYXVsdFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJleHBlcmltZW50XCI6e1wiZW5hYmxlVmVubW9cIjpmYWxzZSxcInZlbm1vVmF1bHRXaXRob3V0UHVyY2hhc2VcIjpmYWxzZX0sXCJleHBlcmltZW50YXRpb25cIjp7fSxcImZsb3dcIjpcInB1cmNoYXNlXCIsXCJmdW5kaW5nRWxpZ2liaWxpdHlcIjp7XCJwYXlwYWxcIjp7XCJlbGlnaWJsZVwiOnRydWUsXCJ2YXVsdGFibGVcIjpmYWxzZX0sXCJwYXlsYXRlclwiOntcImVsaWdpYmxlXCI6ZmFsc2UsXCJ2YXVsdGFibGVcIjpmYWxzZSxcInByb2R1Y3RzXCI6e1wicGF5SW4zXCI6e1wiZWxpZ2libGVcIjpmYWxzZSxcInZhcmlhbnRcIjpudWxsfSxcInBheUluNFwiOntcImVsaWdpYmxlXCI6ZmFsc2UsXCJ2YXJpYW50XCI6bnVsbH0sXCJwYXlsYXRlclwiOntcImVsaWdpYmxlXCI6ZmFsc2UsXCJ2YXJpYW50XCI6bnVsbH19fSxcImNhcmRcIjp7XCJlbGlnaWJsZVwiOmZhbHNlLFwiYnJhbmRlZFwiOnRydWUsXCJpbnN0YWxsbWVudHNcIjpmYWxzZSxcInZlbmRvcnNcIjp7XCJ2aXNhXCI6e1wiZWxpZ2libGVcIjp0cnVlLFwidmF1bHRhYmxlXCI6dHJ1ZX0sXCJtYXN0ZXJjYXJkXCI6e1wiZWxpZ2libGVcIjp0cnVlLFwidmF1bHRhYmxlXCI6dHJ1ZX0sXCJhbWV4XCI6e1wiZWxpZ2libGVcIjp0cnVlLFwidmF1bHRhYmxlXCI6dHJ1ZX0sXCJkaXNjb3ZlclwiOntcImVsaWdpYmxlXCI6ZmFsc2UsXCJ2YXVsdGFibGVcIjp0cnVlfSxcImhpcGVyXCI6e1wiZWxpZ2libGVcIjpmYWxzZSxcInZhdWx0YWJsZVwiOmZhbHNlfSxcImVsb1wiOntcImVsaWdpYmxlXCI6ZmFsc2UsXCJ2YXVsdGFibGVcIjp0cnVlfSxcImpjYlwiOntcImVsaWdpYmxlXCI6ZmFsc2UsXCJ2YXVsdGFibGVcIjp0cnVlfSxcIm1hZXN0cm9cIjp7XCJlbGlnaWJsZVwiOnRydWUsXCJ2YXVsdGFibGVcIjp0cnVlfSxcImRpbmVyc1wiOntcImVsaWdpYmxlXCI6dHJ1ZSxcInZhdWx0YWJsZVwiOnRydWV9LFwiY3VwXCI6e1wiZWxpZ2libGVcIjp0cnVlLFwidmF1bHRhYmxlXCI6dHJ1ZX19LFwiZ3Vlc3RFbmFibGVkXCI6ZmFsc2V9LFwidmVubW9cIjp7XCJlbGlnaWJsZVwiOmZhbHNlLFwidmF1bHRhYmxlXCI6ZmFsc2V9LFwiaXRhdVwiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwiY3JlZGl0XCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJhcHBsZXBheVwiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwic2VwYVwiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwiaWRlYWxcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcImJhbmNvbnRhY3RcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcImdpcm9wYXlcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcImVwc1wiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwic29mb3J0XCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJteWJhbmtcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcInAyNFwiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwid2VjaGF0cGF5XCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJwYXl1XCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJibGlrXCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJ0cnVzdGx5XCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJveHhvXCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJib2xldG9cIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcImJvbGV0b2JhbmNhcmlvXCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJtZXJjYWRvcGFnb1wiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwibXVsdGliYW5jb1wiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwic2F0aXNwYXlcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcInBhaWR5XCI6e1wiZWxpZ2libGVcIjpmYWxzZX19LFwiZnVuZGluZ1NvdXJjZVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJnZXRQYWdlVXJsXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfMzdiNGFlYzRiNV9tdHk2bmR5Nm5kdVwiLFwibmFtZVwiOlwiZ2V0UGFnZVVybFwifX0sXCJnZXRQb3B1cEJyaWRnZVwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzQwY2JiMTcwOTVfbXR5Nm5keTZuZHVcIixcIm5hbWVcIjpcImdldFBvcHVwQnJpZGdlXCJ9fSxcImdldFByZXJlbmRlckRldGFpbHNcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF82MWM4YTM4MDJlX210eTZuZHk2bmR1XCIsXCJuYW1lXCI6XCJnZXRQcmVyZW5kZXJEZXRhaWxzXCJ9fSxcImdldFF1ZXJpZWRFbGlnaWJsZUZ1bmRpbmdcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF8wMGYyMWM1MDZlX210eTZuZHk2bmR1XCIsXCJuYW1lXCI6XCJnZXRRdWVyaWVkRWxpZ2libGVGdW5kaW5nXCJ9fSxcImhvc3RlZEJ1dHRvbklkXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImludGVudFwiOlwiY2FwdHVyZVwiLFwianNTZGtMaWJyYXJ5XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImxvY2FsZVwiOntcImNvdW50cnlcIjpcIlVTXCIsXCJsYW5nXCI6XCJlblwifSxcIm1lcmNoYW50SURcIjpbXSxcIm1lcmNoYW50UmVxdWVzdGVkUG9wdXBzRGlzYWJsZWRcIjpmYWxzZSxcIm1lc3NhZ2VcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwibm9uY2VcIjpcIlwiLFwib25DYW5jZWxcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwib25DbGlja1wiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJvbkNvbXBsZXRlXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcIm9uSW5pdFwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzU3ODljM2M4ODdfbXR5Nm5keTZuZHVcIixcIm5hbWVcIjpcIm9uSW5pdFwifX0sXCJvbk1lc3NhZ2VDbGlja1wiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzVjZGVlZTlkY2VfbXR5Nm5keTZuZHVcIixcIm5hbWVcIjpcIm9uTWVzc2FnZUNsaWNrXCJ9fSxcIm9uTWVzc2FnZUhvdmVyXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfOThlNDE5OWZiYV9tdHk2bmR5Nm5kdVwiLFwibmFtZVwiOlwib25NZXNzYWdlSG92ZXJcIn19LFwib25NZXNzYWdlUmVhZHlcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF84Njk4MzVhZjhlX210eTZuZHk2bmR1XCIsXCJuYW1lXCI6XCJvbk1lc3NhZ2VSZWFkeVwifX0sXCJvblNoaXBwaW5nQWRkcmVzc0NoYW5nZVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJvblNoaXBwaW5nQ2hhbmdlXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcIm9uU2hpcHBpbmdPcHRpb25zQ2hhbmdlXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImhhc1NoaXBwaW5nQ2FsbGJhY2tcIjpmYWxzZSxcInBhZ2VUeXBlXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInBhcnRuZXJBdHRyaWJ1dGlvbklEXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInBheW1lbnRNZXRob2ROb25jZVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJwYXltZW50TWV0aG9kVG9rZW5cIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwicGF5bWVudFJlcXVlc3RcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwicGxhdGZvcm1cIjpcImRlc2t0b3BcIixcInJlZmVycmVyRG9tYWluXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInJlbWVtYmVyXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfNDQ4MWFkMTkyYl9tdHk2bmR5Nm5kdVwiLFwibmFtZVwiOlwicmVtZW1iZXJcIn19LFwicmVtZW1iZXJlZFwiOltdLFwicmVuZGVyZWRCdXR0b25zXCI6W1wicGF5cGFsXCJdLFwic2Vzc2lvbklEXCI6XCJ1aWRfOWYxMTFjNTY2M19tdHk2bmR5Nm5kdVwiLFwic2RrQ29ycmVsYXRpb25JRFwiOlwiZjYwMzk3NjIwZWM4NFwiLFwic2Vzc2lvblN0YXRlXCI6e1wiZ2V0XCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfNDljZDJlOWY3Y19tdHk2bmR5Nm5kdVwiLFwibmFtZVwiOlwiZ2V0XCJ9fSxcInNldFwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkX2I5NzExMjEzZWJfbXR5Nm5keTZuZHVcIixcIm5hbWVcIjpcInNldFwifX19LFwic3RhZ2VIb3N0XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInN0b3JhZ2VJRFwiOlwidWlkXzczZTdlNWU0ODBfbXR5Nm5keTZuZHVcIixcInN0b3JhZ2VTdGF0ZVwiOntcImdldFwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzk4ODhhMDE5YjdfbXR5Nm5keTZuZHVcIixcIm5hbWVcIjpcImdldFwifX0sXCJzZXRcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF85MzE0Y2UyMzI4X210eTZuZHk2bmR1XCIsXCJuYW1lXCI6XCJzZXRcIn19fSxcInN1cHBvcnRlZE5hdGl2ZUJyb3dzZXJcIjpmYWxzZSxcInN1cHBvcnRzUG9wdXBzXCI6dHJ1ZSxcInRlc3RcIjp7XCJhY3Rpb25cIjpcImNoZWNrb3V0XCJ9LFwidXNlckV4cGVyaWVuY2VGbG93XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInVzZXJJRFRva2VuXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInZhdWx0XCI6ZmFsc2UsXCJ3YWxsZXRcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9fSxcImV4cG9ydHNcIjp7XCJpbml0XCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfODU2ZGU0MmZlOV9tdHk2bmR5Nm5kdVwiLFwibmFtZVwiOlwiaW5pdFwifX0sXCJjbG9zZVwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkX2M4MjQyNDZmNGJfbXR5Nm5keTZuZHVcIixcIm5hbWVcIjpcImNsb3NlOjptZW1vaXplZFwifX0sXCJjaGVja0Nsb3NlXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfOTgwYjZmNzFlYV9tdHk2bmR5Nm5kdVwiLFwibmFtZVwiOlwiY2hlY2tDbG9zZVwifX0sXCJyZXNpemVcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF85ZjMyMDJhNTA0X210eTZuZHk2bmR1XCIsXCJuYW1lXCI6XCJfblwifX0sXCJvbkVycm9yXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfNTczOWZiYTA3MV9tdHk2bmR5Nm5kdVwiLFwibmFtZVwiOlwicW5cIn19LFwic2hvd1wiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkX2NjZTFmYjYzZTBfbXR5Nm5keTZuZHVcIixcIm5hbWVcIjpcImduXCJ9fSxcImhpZGVcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF9iODY4MjA3ODI4X210eTZuZHk2bmR1XCIsXCJuYW1lXCI6XCJ2blwifX0sXCJleHBvcnRcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF9iNTAzYzg1MWRiX210eTZuZHk2bmR1XCIsXCJuYW1lXCI6XCJXblwifX19fSJ9fQ__"
title="PayPal" allowpaymentrequest="allowpaymentrequest" scrolling="no" id="jsx-iframe-598a4f04bf" class="component-frame visible" style="background-color: transparent; border: none;"></iframe>
<div id="smart-menu" class="smart-menu"></div>
<div id="installments-modal" class="installments-modal"></div><iframe name="__detect_close_uid_d79a9ba266_mty6ndy6ndu__" style="display: none;"></iframe>
</div>
</spz-paypal>
<div class="product-info__out_stock mt-2 text-center text-sm leading-1.3 opacity-70 lg:mt-3 hidden"> Product was out of stock. </div>
<div class="product-info__unavailable mt-2 text-center text-sm leading-1.3 opacity-70 lg:mt-3 hidden"> Product is unavailable. </div>
</div>
</div>
<div class="plugin__buy_on_others empty-hidden"></div>
<input name="product_id" type="hidden" value="961033eb-6aec-4357-b736-a50129b135c0"><input name="variant_id" type="hidden" value="574de68c-cf74-4241-80d4-ab21998028a5"><input name="note" type="hidden">
</form>
<form>
<div class="quick-shop-content rounded-global-small">
<div class="quick-shop-inner-content">
<spz-variants name="quick-shop-variant" id="quick-shop-variants" class="pointer-events-none" layout="container" template="quick-shop-variant-template" spz-if="${product_options && product_options.length > 0}"
@mouseout="${mouse_out_event}" interact="hover" interference="" ${mouse_over_event}=""></spz-variants>
<button class="relative mt-5 lg:mt-6 button-primary flex items-center justify-center body-plus-2 type-text-font-family rounded-btn quick-shop_atc_btn" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart"
data-track-source="add_to_cart">
<span role="content">${statusLan}</span>
<spz-render id="quick-shop-btn-price" layout="container" template="quick-shop-button-price-template" manual=""></spz-render>
<div class="loading items-center justify-center absolute inset-0" role="loading" show="">
<div class="loading-bounce"></div>
</div>
</button>
</div>
</div>
</form>
Text Content
${(function(){ const get_random_six_digits = () => { return Math.random().toString().slice(-6) }; const wholesale_enabled = false; const setting_product_image_display = "natural"; const product_image = data.image; const secondary_image = data.secondImage; const image_width = product_image.width; let image_height = product_image.height; if(setting_product_image_display == '100%'){ image_height = image_width }else if(setting_product_image_display == '133.33%'){ image_height = image_width * 1.3333; }; const product_image_hover_on = true && !!secondary_image.src; const has_save_label = true && ((+data.compare_at_price) > (+data.price)); const is_single_variant = data.variants.length == 1; const min_price_variant_href = (data.min_price_variant && data.min_price_variant.available) ? data.min_price_variant.withinUrl : data.withinUrl; const retail_price_max = data.retail_price_max || data.compare_at_price_max; const THUMBNAILS_MAX_SIZE = 3; const thumbnails = data.thumbVariants.slice(0, THUMBNAILS_MAX_SIZE); const image_wrap_id = 'image_wrap_' + get_random_six_digits(); const image_carousel_id = 'image_carousel_' + get_random_six_digits(); const thumbnails_selector_id = 'thumbnails_selector_' + get_random_six_digits(); const form_id = 'form_' + get_random_six_digits(); const mixed_wholesale = data.mixed_wholesale; return ` ${ data.available ? `${ (+data.compare_at_price > +data.price) ? `Save ${ data.off_ratio }% ` : '' }` : "Sold out" } Mixed Lot ${DATA.TITLE} ${ data.price_min != data.price_max ? `from ` : ` ` } ` })()} Buy 4 Get 5th 80% Off, BUY 5 Get 6th FREE Buy 1 get 2nd 20% Off, Buy 2 get 3rd 50% Off Buy 4 Get 5th 80% Off, BUY 5 Get 6th FREE Buy 1 get 2nd 20% Off, Buy 2 get 3rd 50% Off Buy 1 get 2nd 20% Off, Buy 2 get 3rd 50% Off Buy 4 Get 5th 80% Off, BUY 5 Get 6th FREE * Log in * Create an account ${data.data && data.data.count} * SHOP ALL * Tops Short Sleeve Shirts Long Sleeve Shirts Hoodies & Sweatshirts Polo Shirts👕 V-Neck Suit Vest/Tuxedo Waistcoat And Tie 100% Cotton Tees Long Sleeved T-Shirt Shirt with Breast Pocket * Bottoms Men's Short Sets Shorts * Accessories Hats Scarf🧣 Sunglasses Belts & Suspenders Shoes * Chic Matching Set * Dresses 👗 * HOT SALE * HOLIDAY SHIRTS🎉 * Patriots' Day Shirts * Cute Costume Shirts 🤠 * Happy Father's Day🎁 * LGBT Pride Month 🌈 * Columbus Day ☠️ * Hippie Festival Shirts 🐙 * Halloween's Day Shirts 🎃 * Thanksgiving Day Tops 🦃 * Christmas Day Shirts 🎅 * New Year Shirts 🎉 * Mardi Gras Shirts 🤡 * Valentine's Day Shirts 💕 * St. Patrick's Day Shirts ☘ * Easter Day Shirts 🐇 * Cinco De Mayo 💃 * NEW ARRIVALS * SHOP BY CATRGORY New in Short Sleeve Shirts New in Hawaiian Shirts New in Polos New in Shorts * Short Sleeve Shirts * Shop By Category Short Sleeve Shirts Shirt with Breast Pocket Tees Polos Tuxedo Waistcoat And Tie * Shop By Features Funny Holiday 70's Style 🎵 50‘s Style🔥 Ukiyo-e 🌊 Cat 😸 Car 🏁🏎 Music 🎸 Flag Resort🏖️ Beauties Print Costume Shirts🦸♂ Mid Century Style Oriental Culture Inspired 🏮 Hawaiian Shirts 🏄 * LONG SLEEVE TOPS * Long Sleeve Shirts * Hoodies & Sweatshirts * Long Sleeve Polos * Long Sleeve T-Shirts * BOTTOMS & SETS * Summer Chic Set * Fashion Short Sets * Shorts * ⚡CLEARANCE * More links ${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 63006785, title: "SHOP ALL", url: "\/collections\/all", target: "", levels: 2, product0: { id: (null) }, children: [ { title: "Tops", url: "\/collections\/tops", target: "", levels: 1, children: [ { title: "Short Sleeve Shirts", url: "\/collections\/short-sleeve-shirts-new", target: "", levels: 0, }, { title: "Long Sleeve Shirts", url: "\/collections\/long-sleeve-shirts", target: "", levels: 0, }, { title: "Hoodies & Sweatshirts", url: "\/collections\/hoodies-sweatshirts", target: "", levels: 0, }, { title: "Polo Shirts\ud83d\udc55", url: "\/collections\/polo-shirts", target: "", levels: 0, }, { title: "V-Neck Suit Vest\/Tuxedo Waistcoat And Tie", url: "\/collections\/v-neck-suit-vest-tuxedo-waistcoat-and-tie", target: "", levels: 0, }, { title: "100% Cotton Tees", url: "\/collections\/new-in-100-cotton-tees", target: "", levels: 0, }, { title: "Long Sleeved T-Shirt", url: "\/collections\/long-sleeved-t-shirt", target: "", levels: 0, }, { title: "Shirt with Breast Pocket", url: "\/collections\/shirt-with-breast-pocket", target: "", levels: 0, }, ] }, { title: "Bottoms", url: "\/collections\/bottoms", target: "", levels: 1, children: [ { title: "Men's Short Sets", url: "\/collections\/short-sets", target: "", levels: 0, }, { title: "Shorts", url: "\/collections\/shorts-new", target: "", levels: 0, }, ] }, { title: "Accessories", url: "\/collections\/accessories", target: "", levels: 1, children: [ { title: "Hats", url: "\/collections\/hats", target: "", levels: 0, }, { title: "Scarf\ud83e\udde3", url: "\/collections\/scarf", target: "", levels: 0, }, { title: "Sunglasses", url: "\/collections\/sunglasses", target: "", levels: 0, }, { title: "Belts & Suspenders", url: "\/collections\/belts-suspenders", target: "", levels: 0, }, { title: "Shoes", url: "\/collections\/shoes", target: "", levels: 0, }, ] }, { title: "Chic Matching Set", url: "\/collections\/two-piece-set", target: "", levels: 0, children: [ ] }, { title: "Dresses \ud83d\udc57", url: "\/collections\/womens-dresses", target: "", levels: 0, children: [ ] }, ] }, { id: 63006827, title: "HOT SALE", url: "\/collections\/hot-sale-new", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 63006829, title: "HOLIDAY SHIRTS\ud83c\udf89", url: "\/collections\/holidays", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Patriots' Day Shirts", url: "\/collections\/nation", target: "", levels: 0, children: [ ] }, { title: "Cute Costume Shirts \ud83e\udd20", url: "\/collections\/cartoon-costume-shirts-new", target: "", levels: 0, children: [ ] }, { title: "Happy Father's Day\ud83c\udf81", url: "\/collections\/happy-fathers-day", target: "", levels: 0, children: [ ] }, { title: "LGBT Pride Month \ud83c\udf08", url: "\/collections\/rainbow-series-new", target: "", levels: 0, children: [ ] }, { title: "Columbus Day \u2620\ufe0f", url: "\/collections\/columbus-day", target: "", levels: 0, children: [ ] }, { title: "Hippie Festival Shirts \ud83d\udc19", url: "\/collections\/hippie-festival", target: "", levels: 0, children: [ ] }, { title: "Halloween's Day Shirts \ud83c\udf83", url: "\/collections\/halloween-day-shirts", target: "", levels: 0, children: [ ] }, { title: "Thanksgiving Day Tops \ud83e\udd83", url: "\/collections\/thanksgiving-tops", target: "", levels: 0, children: [ ] }, { title: "Christmas Day Shirts \ud83c\udf85", url: "\/collections\/christmas", target: "", levels: 0, children: [ ] }, { title: "New Year Shirts \ud83c\udf89", url: "\/collections\/new-year-shirts", target: "", levels: 0, children: [ ] }, { title: "Mardi Gras Shirts \ud83e\udd21", url: "\/collections\/mardi-gras-shirts-1", target: "", levels: 0, children: [ ] }, { title: "Valentine's Day Shirts \ud83d\udc95", url: "\/collections\/valentines-day-shirts", target: "", levels: 0, children: [ ] }, { title: "St. Patrick's Day Shirts \u2618", url: "\/collections\/st-patricks-day", target: "", levels: 0, children: [ ] }, { title: "Easter Day Shirts \ud83d\udc07", url: "\/collections\/easter-series", target: "", levels: 0, children: [ ] }, { title: "Cinco De Mayo \ud83d\udc83", url: "\/collections\/cinco-de-mayo", target: "", levels: 0, children: [ ] }, ] }, { id: 63006861, title: "NEW ARRIVALS", url: "\/collections\/new-arrivals", target: "", levels: 2, product0: { id: (null) }, children: [ { title: "SHOP BY CATRGORY", url: "", target: "", levels: 1, children: [ { title: "New in Short Sleeve Shirts", url: "\/collections\/new-in-short-sleeve-shirts", target: "", levels: 0, }, { title: "New in Hawaiian Shirts", url: "\/collections\/new-in-hawaiian-shirts", target: "", levels: 0, }, { title: "New in Polos", url: "\/collections\/new-in-polos", target: "", levels: 0, }, { title: "New in Shorts", url: "\/collections\/new-in-shorts", target: "", levels: 0, }, ] }, ] }, { id: 63006885, title: "Short Sleeve Shirts", url: "\/collections\/short-sleeve-shirts-new", target: "", levels: 2, product0: { id: (null) }, children: [ { title: "Shop By Category", url: "", target: "", levels: 1, children: [ { title: "Short Sleeve Shirts", url: "\/collections\/short-sleeve-shirts-new", target: "_blank", levels: 0, }, { title: "Shirt with Breast Pocket", url: "\/collections\/shirt-with-breast-pocket", target: "", levels: 0, }, { title: "Tees", url: "\/collections\/tees", target: "", levels: 0, }, { title: "Polos", url: "\/collections\/polos-new", target: "", levels: 0, }, { title: "Tuxedo Waistcoat And Tie", url: "\/collections\/v-neck-suit-vest-tuxedo-waistcoat-and-tie", target: "", levels: 0, }, ] }, { title: "Shop By Features", url: "", target: "", levels: 1, children: [ { title: "Funny Holiday ", url: "\/collections\/holidays", target: "", levels: 0, }, { title: "70's Style \ud83c\udfb5", url: "\/collections\/70s-style-shirts-new", target: "", levels: 0, }, { title: "50\u2018s Style\ud83d\udd25", url: "\/collections\/retro-style-shirts-new", target: "", levels: 0, }, { title: "Ukiyo-e \ud83c\udf0a", url: "\/collections\/art-style-ukiyo-e-printed-new", target: "", levels: 0, }, { title: "Cat \ud83d\ude38", url: "\/collections\/cat-series", target: "", levels: 0, }, { title: "Car \ud83c\udfc1\ud83c\udfce", url: "\/collections\/cars", target: "", levels: 0, }, { title: "Music \ud83c\udfb8", url: "\/collections\/musical-style", target: "", levels: 0, }, { title: "Flag ", url: "\/collections\/nation", target: "", levels: 0, }, { title: "Resort\ud83c\udfd6\ufe0f", url: "\/collections\/resort-shirts-new", target: "", levels: 0, }, { title: "Beauties Print", url: "\/collections\/beauties-print", target: "", levels: 0, }, { title: "Costume Shirts\ud83e\uddb8\u200d\u2642", url: "\/collections\/cartoon-costume-shirts-new", target: "", levels: 0, }, { title: "Mid Century Style", url: "\/collections\/mid-century-style", target: "", levels: 0, }, { title: "Oriental Culture Inspired \ud83c\udfee", url: "\/collections\/mysterious-oriental", target: "", levels: 0, }, { title: "Hawaiian Shirts \ud83c\udfc4", url: "\/collections\/hawaiian-style", target: "", levels: 0, }, ] }, ] }, { id: 63006957, title: "LONG SLEEVE TOPS", url: "\/collections\/long-sleeve", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Long Sleeve Shirts", url: "\/collections\/long-sleeve-shirts", target: "", levels: 0, children: [ ] }, { title: "Hoodies & Sweatshirts", url: "\/collections\/hoodies-sweatshirts", target: "", levels: 0, children: [ ] }, { title: "Long Sleeve Polos", url: "\/collections\/long-sleeve-polos", target: "", levels: 0, children: [ ] }, { title: "Long Sleeve T-Shirts", url: "\/collections\/long-sleeved-t-shirt", target: "", levels: 0, children: [ ] }, ] }, { id: 63006967, title: "BOTTOMS & SETS", url: "\/collections\/bottoms", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Summer Chic Set", url: "\/collections\/two-piece-set-new", target: "", levels: 0, children: [ ] }, { title: "Fashion Short Sets", url: "\/collections\/short-sets", target: "", levels: 0, children: [ ] }, { title: "Shorts", url: "\/collections\/shorts", target: "", levels: 0, children: [ ] }, ] }, { id: 63006975, title: "\u26a1CLEARANCE", url: "\/collections\/on-sale-items-1", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); return ` * ${link.title} ${link.tag.label} * ${second_link.title} ${second_link.tag.label} ${third_links.title} ${third_links.tag.label} * ${link.title} ${link.tag.label} ` })()} * SHOP ALL * Tops Short Sleeve Shirts Long Sleeve Shirts Hoodies & Sweatshirts Polo Shirts👕 V-Neck Suit Vest/Tuxedo Waistcoat And Tie 100% Cotton Tees Long Sleeved T-Shirt Shirt with Breast Pocket * Bottoms Men's Short Sets Shorts * Accessories Hats Scarf🧣 Sunglasses Belts & Suspenders Shoes * Chic Matching Set * Dresses 👗 * HOT SALE * HOLIDAY SHIRTS🎉 * Patriots' Day Shirts * Cute Costume Shirts 🤠 * Happy Father's Day🎁 * LGBT Pride Month 🌈 * Columbus Day ☠️ * Hippie Festival Shirts 🐙 * Halloween's Day Shirts 🎃 * Thanksgiving Day Tops 🦃 * Christmas Day Shirts 🎅 * New Year Shirts 🎉 * Mardi Gras Shirts 🤡 * Valentine's Day Shirts 💕 * St. Patrick's Day Shirts ☘ * Easter Day Shirts 🐇 * Cinco De Mayo 💃 * NEW ARRIVALS * SHOP BY CATRGORY New in Short Sleeve Shirts New in Hawaiian Shirts New in Polos New in Shorts * Short Sleeve Shirts * Shop By Category Short Sleeve Shirts Shirt with Breast Pocket Tees Polos Tuxedo Waistcoat And Tie * Shop By Features Funny Holiday 70's Style 🎵 50‘s Style🔥 Ukiyo-e 🌊 Cat 😸 Car 🏁🏎 Music 🎸 Flag Resort🏖️ Beauties Print Costume Shirts🦸♂ Mid Century Style Oriental Culture Inspired 🏮 Hawaiian Shirts 🏄 * LONG SLEEVE TOPS * Long Sleeve Shirts * Hoodies & Sweatshirts * Long Sleeve Polos * Long Sleeve T-Shirts * BOTTOMS & SETS * Summer Chic Set * Fashion Short Sets * Shorts * ⚡CLEARANCE * More links ${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 63006785, title: "SHOP ALL", url: "\/collections\/all", target: "", levels: 2, product0: { id: (null) }, children: [ { title: "Tops", url: "\/collections\/tops", target: "", levels: 1, children: [ { title: "Short Sleeve Shirts", url: "\/collections\/short-sleeve-shirts-new", target: "", levels: 0, }, { title: "Long Sleeve Shirts", url: "\/collections\/long-sleeve-shirts", target: "", levels: 0, }, { title: "Hoodies & Sweatshirts", url: "\/collections\/hoodies-sweatshirts", target: "", levels: 0, }, { title: "Polo Shirts\ud83d\udc55", url: "\/collections\/polo-shirts", target: "", levels: 0, }, { title: "V-Neck Suit Vest\/Tuxedo Waistcoat And Tie", url: "\/collections\/v-neck-suit-vest-tuxedo-waistcoat-and-tie", target: "", levels: 0, }, { title: "100% Cotton Tees", url: "\/collections\/new-in-100-cotton-tees", target: "", levels: 0, }, { title: "Long Sleeved T-Shirt", url: "\/collections\/long-sleeved-t-shirt", target: "", levels: 0, }, { title: "Shirt with Breast Pocket", url: "\/collections\/shirt-with-breast-pocket", target: "", levels: 0, }, ] }, { title: "Bottoms", url: "\/collections\/bottoms", target: "", levels: 1, children: [ { title: "Men's Short Sets", url: "\/collections\/short-sets", target: "", levels: 0, }, { title: "Shorts", url: "\/collections\/shorts-new", target: "", levels: 0, }, ] }, { title: "Accessories", url: "\/collections\/accessories", target: "", levels: 1, children: [ { title: "Hats", url: "\/collections\/hats", target: "", levels: 0, }, { title: "Scarf\ud83e\udde3", url: "\/collections\/scarf", target: "", levels: 0, }, { title: "Sunglasses", url: "\/collections\/sunglasses", target: "", levels: 0, }, { title: "Belts & Suspenders", url: "\/collections\/belts-suspenders", target: "", levels: 0, }, { title: "Shoes", url: "\/collections\/shoes", target: "", levels: 0, }, ] }, { title: "Chic Matching Set", url: "\/collections\/two-piece-set", target: "", levels: 0, children: [ ] }, { title: "Dresses \ud83d\udc57", url: "\/collections\/womens-dresses", target: "", levels: 0, children: [ ] }, ] }, { id: 63006827, title: "HOT SALE", url: "\/collections\/hot-sale-new", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, { id: 63006829, title: "HOLIDAY SHIRTS\ud83c\udf89", url: "\/collections\/holidays", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Patriots' Day Shirts", url: "\/collections\/nation", target: "", levels: 0, children: [ ] }, { title: "Cute Costume Shirts \ud83e\udd20", url: "\/collections\/cartoon-costume-shirts-new", target: "", levels: 0, children: [ ] }, { title: "Happy Father's Day\ud83c\udf81", url: "\/collections\/happy-fathers-day", target: "", levels: 0, children: [ ] }, { title: "LGBT Pride Month \ud83c\udf08", url: "\/collections\/rainbow-series-new", target: "", levels: 0, children: [ ] }, { title: "Columbus Day \u2620\ufe0f", url: "\/collections\/columbus-day", target: "", levels: 0, children: [ ] }, { title: "Hippie Festival Shirts \ud83d\udc19", url: "\/collections\/hippie-festival", target: "", levels: 0, children: [ ] }, { title: "Halloween's Day Shirts \ud83c\udf83", url: "\/collections\/halloween-day-shirts", target: "", levels: 0, children: [ ] }, { title: "Thanksgiving Day Tops \ud83e\udd83", url: "\/collections\/thanksgiving-tops", target: "", levels: 0, children: [ ] }, { title: "Christmas Day Shirts \ud83c\udf85", url: "\/collections\/christmas", target: "", levels: 0, children: [ ] }, { title: "New Year Shirts \ud83c\udf89", url: "\/collections\/new-year-shirts", target: "", levels: 0, children: [ ] }, { title: "Mardi Gras Shirts \ud83e\udd21", url: "\/collections\/mardi-gras-shirts-1", target: "", levels: 0, children: [ ] }, { title: "Valentine's Day Shirts \ud83d\udc95", url: "\/collections\/valentines-day-shirts", target: "", levels: 0, children: [ ] }, { title: "St. Patrick's Day Shirts \u2618", url: "\/collections\/st-patricks-day", target: "", levels: 0, children: [ ] }, { title: "Easter Day Shirts \ud83d\udc07", url: "\/collections\/easter-series", target: "", levels: 0, children: [ ] }, { title: "Cinco De Mayo \ud83d\udc83", url: "\/collections\/cinco-de-mayo", target: "", levels: 0, children: [ ] }, ] }, { id: 63006861, title: "NEW ARRIVALS", url: "\/collections\/new-arrivals", target: "", levels: 2, product0: { id: (null) }, children: [ { title: "SHOP BY CATRGORY", url: "", target: "", levels: 1, children: [ { title: "New in Short Sleeve Shirts", url: "\/collections\/new-in-short-sleeve-shirts", target: "", levels: 0, }, { title: "New in Hawaiian Shirts", url: "\/collections\/new-in-hawaiian-shirts", target: "", levels: 0, }, { title: "New in Polos", url: "\/collections\/new-in-polos", target: "", levels: 0, }, { title: "New in Shorts", url: "\/collections\/new-in-shorts", target: "", levels: 0, }, ] }, ] }, { id: 63006885, title: "Short Sleeve Shirts", url: "\/collections\/short-sleeve-shirts-new", target: "", levels: 2, product0: { id: (null) }, children: [ { title: "Shop By Category", url: "", target: "", levels: 1, children: [ { title: "Short Sleeve Shirts", url: "\/collections\/short-sleeve-shirts-new", target: "_blank", levels: 0, }, { title: "Shirt with Breast Pocket", url: "\/collections\/shirt-with-breast-pocket", target: "", levels: 0, }, { title: "Tees", url: "\/collections\/tees", target: "", levels: 0, }, { title: "Polos", url: "\/collections\/polos-new", target: "", levels: 0, }, { title: "Tuxedo Waistcoat And Tie", url: "\/collections\/v-neck-suit-vest-tuxedo-waistcoat-and-tie", target: "", levels: 0, }, ] }, { title: "Shop By Features", url: "", target: "", levels: 1, children: [ { title: "Funny Holiday ", url: "\/collections\/holidays", target: "", levels: 0, }, { title: "70's Style \ud83c\udfb5", url: "\/collections\/70s-style-shirts-new", target: "", levels: 0, }, { title: "50\u2018s Style\ud83d\udd25", url: "\/collections\/retro-style-shirts-new", target: "", levels: 0, }, { title: "Ukiyo-e \ud83c\udf0a", url: "\/collections\/art-style-ukiyo-e-printed-new", target: "", levels: 0, }, { title: "Cat \ud83d\ude38", url: "\/collections\/cat-series", target: "", levels: 0, }, { title: "Car \ud83c\udfc1\ud83c\udfce", url: "\/collections\/cars", target: "", levels: 0, }, { title: "Music \ud83c\udfb8", url: "\/collections\/musical-style", target: "", levels: 0, }, { title: "Flag ", url: "\/collections\/nation", target: "", levels: 0, }, { title: "Resort\ud83c\udfd6\ufe0f", url: "\/collections\/resort-shirts-new", target: "", levels: 0, }, { title: "Beauties Print", url: "\/collections\/beauties-print", target: "", levels: 0, }, { title: "Costume Shirts\ud83e\uddb8\u200d\u2642", url: "\/collections\/cartoon-costume-shirts-new", target: "", levels: 0, }, { title: "Mid Century Style", url: "\/collections\/mid-century-style", target: "", levels: 0, }, { title: "Oriental Culture Inspired \ud83c\udfee", url: "\/collections\/mysterious-oriental", target: "", levels: 0, }, { title: "Hawaiian Shirts \ud83c\udfc4", url: "\/collections\/hawaiian-style", target: "", levels: 0, }, ] }, ] }, { id: 63006957, title: "LONG SLEEVE TOPS", url: "\/collections\/long-sleeve", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Long Sleeve Shirts", url: "\/collections\/long-sleeve-shirts", target: "", levels: 0, children: [ ] }, { title: "Hoodies & Sweatshirts", url: "\/collections\/hoodies-sweatshirts", target: "", levels: 0, children: [ ] }, { title: "Long Sleeve Polos", url: "\/collections\/long-sleeve-polos", target: "", levels: 0, children: [ ] }, { title: "Long Sleeve T-Shirts", url: "\/collections\/long-sleeved-t-shirt", target: "", levels: 0, children: [ ] }, ] }, { id: 63006967, title: "BOTTOMS & SETS", url: "\/collections\/bottoms", target: "", levels: 1, product0: { id: (null) }, children: [ { title: "Summer Chic Set", url: "\/collections\/two-piece-set-new", target: "", levels: 0, children: [ ] }, { title: "Fashion Short Sets", url: "\/collections\/short-sets", target: "", levels: 0, children: [ ] }, { title: "Shorts", url: "\/collections\/shorts", target: "", levels: 0, children: [ ] }, ] }, { id: 63006975, title: "\u26a1CLEARANCE", url: "\/collections\/on-sale-items-1", target: "", levels: 0, product0: { id: (null) }, children: [ ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); return ` * ${link.title} ${link.tag.label} * ${second_link.title} ${second_link.tag.label} ${third_links.title} ${third_links.tag.label} * ${link.title} ${link.tag.label} ` })()} * Log in * Create an account ${data.data && data.data.count} ${(function(){ if (data === undefined || typeof data !== 'string' || data == '') return ''; const keyword = encodeURIComponent(data); return ` View more Your search for '${data}' did not yield any results. ` })()} ${item} Search Recently searched * ${item} Hot searches * ${item.word} Results ${item.highlightHtml} * SHOP ALL * SHOP ALL * Tops * Tops * Short Sleeve Shirts * Long Sleeve Shirts * Hoodies & Sweatshirts * Polo Shirts👕 * V-Neck Suit Vest/Tuxedo Waistcoat And Tie * 100% Cotton Tees * Long Sleeved T-Shirt * Shirt with Breast Pocket * Bottoms * Bottoms * Men's Short Sets * Shorts * Accessories * Accessories * Hats * Scarf🧣 * Sunglasses * Belts & Suspenders * Shoes * Chic Matching Set * Dresses 👗 * HOT SALE * HOLIDAY SHIRTS🎉 * HOLIDAY SHIRTS🎉 * Patriots' Day Shirts * Cute Costume Shirts 🤠 * Happy Father's Day🎁 * LGBT Pride Month 🌈 * Columbus Day ☠️ * Hippie Festival Shirts 🐙 * Halloween's Day Shirts 🎃 * Thanksgiving Day Tops 🦃 * Christmas Day Shirts 🎅 * New Year Shirts 🎉 * Mardi Gras Shirts 🤡 * Valentine's Day Shirts 💕 * St. Patrick's Day Shirts ☘ * Easter Day Shirts 🐇 * Cinco De Mayo 💃 * NEW ARRIVALS * NEW ARRIVALS * SHOP BY CATRGORY * SHOP BY CATRGORY * New in Short Sleeve Shirts * New in Hawaiian Shirts * New in Polos * New in Shorts * Short Sleeve Shirts * Short Sleeve Shirts * Shop By Category * Shop By Category * Short Sleeve Shirts * Shirt with Breast Pocket * Tees * Polos * Tuxedo Waistcoat And Tie * Shop By Features * Shop By Features * Funny Holiday * 70's Style 🎵 * 50‘s Style🔥 * Ukiyo-e 🌊 * Cat 😸 * Car 🏁🏎 * Music 🎸 * Flag * Resort🏖️ * Beauties Print * Costume Shirts🦸♂ * Mid Century Style * Oriental Culture Inspired 🏮 * Hawaiian Shirts 🏄 * LONG SLEEVE TOPS * LONG SLEEVE TOPS * Long Sleeve Shirts * Hoodies & Sweatshirts * Long Sleeve Polos * Long Sleeve T-Shirts * BOTTOMS & SETS * BOTTOMS & SETS * Summer Chic Set * Fashion Short Sets * Shorts * ⚡CLEARANCE Log in (function(){ let w = window.innerWidth; function setHeaderCssVar() { const headerEle = document.getElementById('shoplaza-section-header'); if(!headerEle){ return }; document.body.style.setProperty('--window-height', `${window.innerHeight}px`); document.body.style.setProperty('--header-height', `${headerEle.clientHeight}px`); const mdScorllHideEle = headerEle.querySelector('.header__mobile .header__scroll_hide'); if (mdScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-md', `${mdScorllHideEle.clientHeight}px`); } const pcScorllHideEle = headerEle.querySelector('.header__desktop .header__scroll_hide'); if (pcScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-pc', `${pcScorllHideEle.clientHeight}px`); } } function handlResize() { if(w == window.innerWidth){return}; w = window.innerWidth; setHeaderCssVar(); }; function init(){ setHeaderCssVar(); window.removeEventListener('resize', window._theme_header_listener) window._theme_header_listener = handlResize; window.addEventListener('resize', window._theme_header_listener); } init(); })(); Home / Desert Camel And Pyramids Printing Short Sleeve Shirt 1/3 ${data.index + 1}/${data.total} * * * ${Array(data.total).fill(0).map((num, index) => ` * `).join('')} Summer Sale🔥 DESERT CAMEL AND PYRAMIDS PRINTING SHORT SLEEVE SHIRT ${function() { const variantData = data.variant || {"id":"574de68c-cf74-4241-80d4-ab21998028a5","product_id":"961033eb-6aec-4357-b736-a50129b135c0","title":"XS-Multicolor","weight_unit":"kg","inventory_quantity":9998,"sku":"cSMDF230828-3yH-XS","barcode":"cSMDF230828-3yH","position":1,"option1":"XS","option2":"Multicolor","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/01f5bb3dfdcdae4086ad763f605b6eba.jpeg","path":"01f5bb3dfdcdae4086ad763f605b6eba.jpeg","width":750,"height":1000,"alt":"","aspect_ratio":0.75},"wholesale_price":[{"price":23.95,"min_quantity":1}],"weight":"200","compare_at_price":"27.95","price":"23.95","retail_price":"27.95","available":true,"url":"\/products\/csmdf230828-3yh?variant=574de68c-cf74-4241-80d4-ab21998028a5","available_quantity":9998,"options":[{"name":"Size","value":"XS"},{"name":"Color","value":"Multicolor"}],"off_ratio":14,"flashsale_info":[],"sales":8}; const saveType = "percentage"; const productLabelDiscountOn = true; return ` - ${saveType == 'percentage' ? `-${variantData.off_ratio}%` : `-` } `; }()} €23.95 €27.95 -14% Size Guide We strongly suggest you to take measurements before placing an order. And then please use the “Size Guide” instructions and chart on every product page to help select the size that best fits you. How to measure: Shoulder: Stand up straight and relax your shoulders, measure from the tip of one shoulder to the other. Chest: Measure 1" under you armholes around the fullest part of your chest including your shoulder blades. Waist: Measure around your natural waistline, keeping the tape a bit loose. Hip: Measure around the fullest part of the hips (about 7" down from your natural waistline), keeping tape taut. Length: This is the length of the clothing from where your neck/shoulders/waist meet to the bottom of the clothing. *The measurements chart shown on product pages are measurements for each garment, by size. Please use the guides and reference and compare them to your own body measurements to determine the best size. If your body measurements close to the maximum of the size, please choose one size up. Notes: a. Please choose a corresponding size according to your measurements. b. The size chart listed is based on international sizing system. c. 1-3cm / 1-1.2 inches is allowed in manual measurements error, the size chart is for reference only. If your body measurements close to the maximum of the size, please choose one size up. d. The precise color of the items may vary depending on the specific monitor, the settings and lighting conditions. We wish you a pleasant shopping with HOO! Size: ${function(){ const optName = "Size"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (optionValue) : ''; return `${optionValueText}`; }()} XS XS S M L XL 2XL 3XL 4XL 4XLT 5XL 5XLT ${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return ` ${tipText} ` }()} Color: ${function(){ const optName = "Color"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (optionValue) : ''; return `${optionValueText}`; }()} Multicolor ${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return ` ${tipText} ` }()} Quantity Add to cart €23.95 ${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const productVariant = {"id":"574de68c-cf74-4241-80d4-ab21998028a5","product_id":"961033eb-6aec-4357-b736-a50129b135c0","title":"XS-Multicolor","weight_unit":"kg","inventory_quantity":9998,"sku":"cSMDF230828-3yH-XS","barcode":"cSMDF230828-3yH","position":1,"option1":"XS","option2":"Multicolor","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/01f5bb3dfdcdae4086ad763f605b6eba.jpeg","path":"01f5bb3dfdcdae4086ad763f605b6eba.jpeg","width":750,"height":1000,"alt":"","aspect_ratio":0.75},"wholesale_price":[{"price":23.95,"min_quantity":1}],"weight":"200","compare_at_price":"27.95","price":"23.95","retail_price":"27.95","available":true,"url":"\/products\/csmdf230828-3yh?variant=574de68c-cf74-4241-80d4-ab21998028a5","available_quantity":9998,"options":[{"name":"Size","value":"XS"},{"name":"Color","value":"Multicolor"}],"off_ratio":14,"flashsale_info":[],"sales":8}; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex = wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return ` ` }else { const price = variantData && variantData.price; return price != undefined ? ` ` : ''; } }()} Buy now Product was out of stock. Product is unavailable. DESCRIPTION SPU: cSMDF230828-3yH Pattern Type: Printed Sleeve Type: Short Sleeve Elasticity: Slightly stretchy Thickness: Lightweight Weight: 200g Material: 100%Polyester Neckline: Turndown Collar Occasion: Daily Style: Casual Theme: Summer Size: XS,S,M,L,XL,2XL,3XL,4XL,4XLT,5XL,5XLT Machine wash cold without fabric softener, tumble dry low or line dry, remove promptly, press with cool iron, as needed. Size Chart: Shirt Chest/Waist Shoulder Length Sleeve Length cm inch cm inch cm inch cm inch XS 88 34.6 45.5 17.9 68 26.7 24 9.5 S 100 39.4 48.5 19.1 72 28.3 25 9.8 M 110 43.3 50.5 19.9 76 29.9 25.5 10 L 118 46.5 52.5 20.7 78 30.7 26 10.2 XL 126 49.6 54.5 21.5 80 31.5 26.5 10.4 2XL 134 52.8 56.5 22.2 82 32.3 27 10.6 3XL 142 55.9 58.5 23 84 33.1 27.5 10.8 4XL 151 59.4 60.5 23.8 86 33.9 28 11 4XLT 151 59.4 60.5 23.8 92 36.2 30.5 12 5XL 160 63 62.5 24.6 88 34.6 28.5 11.2 5XLT 160 63 62.5 24.6 94 37 31 12.2 WORLDWIDE SHIPPING Total Delivery Time = Processing Time + Shipping Time 1.Processing Time: The amount of time it takes for us to prepare your order for shipment. Our normal processing time for orders is 7-9 business days. This involves the securing of stocks, in some cases, and the checking of product quality. Orders can be cancelled or modified within 8 hours after being placed. 2.Shipping Time: The amount of time it takes to receive your order after your order has shipped. Shipping times can vary depending on your location and shipping methods. Standard Shipping: 12-20 business days Express Shipping: 7-12 bussiness days *For items which have stock in warehouse, items will be shipped in 24 hours. *For some remote areas, it may take up to 20 business days to deliver the parcel. Delay Note Due to Holidays: Due to the Chinese New Year holiday, order processing and shipping times may be 10-15 days longer than usual. We'll work extra hard right after the holiday to get orders out to you! We sincerely apologize for any inconvenience this may cause and appreciate your understanding. SHIPPING FEE Free shipping on orders US$89+ *The actual shipping cost differs depend on the shipping country and the weight of the item. NOTE FOR TAXES: For most of the countries, our customers do not need to pay for importing fees, duties or VAT (Valued Additional Tax). However, for some limited countries (especially for some European countries such as Germany, Italy, UK, etc.) may need to pay duties or VAT according to your countries’ levying rules. For more 👉Shipping Policy HASSLE-FREE RETURNS We're bummed if you're not 100% satisfied with the items you received, and we gladly accept returns within 7 days of receipt for regular items in new condition. Step 1: Email us for the authorization Step 2: Process the exchange/return Step 3: Get your refund / exchange in 3-10 working days Contact us: service@hooshops.com For more 👉Exchange / Return / Refund Policy NOTE: Gifts, blind boxes or clearance items are not available for exchange or return. Customer Reviews Here are what our customers say. Write a Review Write a Review Reviews With Photos Newest Newest Most liked Highest ratings Lowest ratings No reviews yet, why don't you leave the first review? Write a Review Customer Reviews Reviews With Photos Newest Most liked Highest ratings Lowest ratings × ${function(){ const limit = typeof data === 'number' ? data : 0; return ` Pictures/Videos (${limit || 0}/5) ` }()} ${(function(){ const closeIcon = ' '; if (item.type === 'image') { return ` ${closeIcon} ` } return ` ${closeIcon} ` })()} Submit Comments Anonymously 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. YOU MAY ALSO LIKE Save 11% Save 11% HOO® RETRO CYAN POSTER SPACE WARS SCIENCE FICTION SPACESHIPS AND SNOWFIELDS PRINTING SHORT SLEEVE SHIRT from €24.95 €27.95 Save 11% Save 11% HOO® SCI-FI SPACE WAR SPACESHIPS AND SOLDIER PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €24.95 €27.95 HOO® RETRO BLUE POSTER SCIENCE FICTION SPACESHIP DIAGRAM PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €24.95 HOO® BLUE AND GREEN COLOR MATCHING HIPPIE BUS FLOWER PATTERN CARTOON COSTUMES BREAST POCKET SHORT SLEEVE SHIRT from €25.95 HOO® HAWAIIAN YELLOW DUCK PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €24.95 HOO® NAVY CARTOON RUBBER DUCKS VACATION PATTERN PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €25.95 HOO® BLUE CARTOON SUMMER HOT DOG PATTERN PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €25.95 HOO® COLOR BLOCK DESIGN SHOW SUPERVISOR SHORT SLEEVE SHIRT from €23.95 HOO® PINK WHITE STRIPES CONTRASTING COLOR AND FLAMINGO PRINTING FUNNY SUMMER HAWAIIAN SHORT SLEEVE SHIRT from €24.95 HOO® VINTAGE BLUE 53 NUMBER RED AND BLUE STRIPES PRINTING SHORT SLEEVE SHIRT from €25.95 HOO® RETRO COLOR BLOCK DESIGN I'M NOT OLD I'M CLASSIC FUNNY CAR PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €24.95 Save 14% Save 14% HOO® EYE-CATCHING PSYCHEDELIC HIPPIE FUNNY OCTOPUS PRINTING CUBAN COLLAR HAWAIIAN SHORT SLEEVE SHIRT from €24.95 €28.95 HOO® EYE-CATCHING PSYCHEDELIC HIPPIE GREEN FIRE FLAME PATTERN PRINTING CUBAN COLLAR HAWAIIAN SHORT SLEEVE SHIRT from €24.95 HOO® EYE-CATCHING COOL FASHION HAWAIIAN CUBAN COLLAR SHORT SLEEVE SHIRT from €26.95 Save 14% Save 14% HOO® EYE-CATCHING MEN'S HAWAIIAN FLAMINGO PRINT CASUAL CUBAN COLLAR SHORT SLEEVE SHIRT from €24.95 €28.95 HOO® GAME ELEMENTS CARTOON COLORFUL JELLYFISH AND YELLOW MOUTH MONSTER MAZE PRINTING SHORT SLEEVE SHIRT from €24.95 HOO® CARTOON GAMING ELEMENTS GAME CONSOLES AND MONSTER PATTERNS PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €25.95 HOO® 4TH OF JULY STARS AND STRIPES ELEMENTS PATTERN PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €25.95 HOO® COLORFUL CARTOON ABSTRACT GEOMETRIC DUCK AND FRUIT PATTERN PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €25.95 HOO® YELLOW YOU CAN'T SPELL SAUSAGE WITHOUT USA FUNNY PRINTING SHORT SLEEVE SHIRT from €23.95 Save 11% Save 11% HOO® RETRO CYAN POSTER SPACE WARS SCIENCE FICTION SPACESHIPS AND SNOWFIELDS PRINTING SHORT SLEEVE SHIRT from €24.95 €27.95 Save 11% Save 11% HOO® SCI-FI SPACE WAR SPACESHIPS AND SOLDIER PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €24.95 €27.95 HOO® RETRO BLUE POSTER SCIENCE FICTION SPACESHIP DIAGRAM PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €24.95 HOO® BLUE AND GREEN COLOR MATCHING HIPPIE BUS FLOWER PATTERN CARTOON COSTUMES BREAST POCKET SHORT SLEEVE SHIRT from €25.95 HOO® HAWAIIAN YELLOW DUCK PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €24.95 HOO® NAVY CARTOON RUBBER DUCKS VACATION PATTERN PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €25.95 HOO® BLUE CARTOON SUMMER HOT DOG PATTERN PRINTING BREAST POCKET SHORT SLEEVE SHIRT from €25.95 HOO® COLOR BLOCK DESIGN SHOW SUPERVISOR SHORT SLEEVE SHIRT from €23.95 HOO® PINK WHITE STRIPES CONTRASTING COLOR AND FLAMINGO PRINTING FUNNY SUMMER HAWAIIAN SHORT SLEEVE SHIRT from €24.95 HOO® VINTAGE BLUE 53 NUMBER RED AND BLUE STRIPES PRINTING SHORT SLEEVE SHIRT from €25.95 View more RECENTLY VIEWED INFORMATION * Our Story * Privacy Policy * Terms of Service * Affiliate Program * Influencer Program * Uniforms, Mass Customization and B2B Service * Intellectual Property Rights INFORMATION * Our Story * Privacy Policy * Terms of Service * Affiliate Program * Influencer Program * Uniforms, Mass Customization and B2B Service * Intellectual Property Rights CUSTOMER SERVICES * Size Guide * Payment Methods * Shipping Policy * Exchange / Return / Refund Policy * Order Tracking * Do Not Sell My Personal Information * FAQs CUSTOMER SERVICES * Size Guide * Payment Methods * Shipping Policy * Exchange / Return / Refund Policy * Order Tracking * Do Not Sell My Personal Information * FAQs GET IN TOUCH Contact Us Leave FB Message GET IN TOUCH Contact Us Leave FB Message Follow us * * * * * Follow us * * * * * WE ACCEPT * PayPal * American Express * Diners Club * Discover * Mastercard * Visa * Apple Pay * Google Pay WE ACCEPT * PayPal * American Express * Diners Club * Discover * Mastercard * Visa * Apple Pay * Google Pay © 2024 HOO® Size Guide Payment Methods Shipping Policy Exchange / Return / Refund Policy Order Tracking Do Not Sell My Personal Information FAQs CART Your shopping bag is empty Continue shopping * ${item.product_title} * ${item.options.map(option => option.value).join('/')} * ${propertie.name}/${propertie.isImage ? `View image` : propertie.value} Free gift Mixed Lot *${item.quantity} ${item.item_text} ${discount_item.title} (-) ${(function(){ var total_price = data.total_price; var postageFreeAmount = 82.87947; var freeAmount = postageFreeAmount - total_price; var isFreeShipping = freeAmount <= 0; var rate = Math.min(total_price / postageFreeAmount * 100, 100).toFixed(2); const textArray = ("Spend {{ amount }} more and get free shipping!").split(/\{\{\s*amount\s*\}\}/); const textArrayHtml = textArray.map((text, index) => { if (index == 0) { return `${text}`; } return `${text}`; }).join(''); return ` ${textArrayHtml} You've got free shipping ${rate}% ` })()} Total: ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} * ${discount_application.title}: - ${data.invalid_msg} Check out Taxes and shipping calculated at checkout ${(function(){ var total_price = data.total_price; var postageFreeAmount = 82.87947; var freeAmount = postageFreeAmount - total_price; var isFreeShipping = freeAmount <= 0; var rate = Math.min(total_price / postageFreeAmount * 100, 100).toFixed(2); const textArray = ("Spend {{ amount }} more and get free shipping!").split(/\{\{\s*amount\s*\}\}/); const textArrayHtml = textArray.map((text, index) => { if (index == 0) { return `${text}`; } return `${text}`; }).join(''); return ` ${textArrayHtml} You've got free shipping ${rate}% ` })()} ${data.invalid_msg} Total: ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} ${function() { const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/); if (textArray.length > 0 && textArray.length < 2) { textArray.push(''); } return textArray.map((text, index) => { if (index == 0) { return `${text}`; } return ` ${text} `; }).join(''); }()} * ${discount_application.title}: - Check out ${data.invalid_msg} Check out Taxes and shipping calculated at checkout * Subtotal: * ${discount_application.title}: - Total: Check out Taxes and shipping calculated at checkout const summaryStickyRender = document.querySelector('#cart-drawer-summary-sticky-render'); if (summaryStickyRender) { document.body.style.setProperty('--cart-drawer-summary-sticky-height', summaryStickyRender.clientHeight + 'px'); } View Cart ${function(){ const productData = data.product; let product_change_event = '', mouse_over_event = ' '; mouse_out_event = ''; const product_options = productData.options.filter(Boolean) || []; for (let opt of product_options) { const nameEscape = opt.name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, '') product_change_event = product_change_event + `quick-shop-selected-variant-${opt.id}.rerender(data=event.selectedValues.${opt.name});`; mouse_out_event = mouse_out_event + `quick-shop-selected-variant-${opt.id}.rerender(data=event.selectData.${opt.name});`; mouse_over_event = mouse_over_event + `@${nameEscape}Mouseover="quick-shop-selected-variant-${opt.id}.rerender(data=event);"`; } const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0]; const statusLan = ((selectedVariant && !selectedVariant.available) || (!selectedVariant && !productData.available)) ? "Sold out" : "Add to cart"; return ` ${statusLan} ` }()} ${function(){ const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const variantData = currentSelectVariant || defaultVariant || data; const retail_price = variantData.retail_price || 0; return ` Retail ` }()} ${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const productVariant = {"id":"574de68c-cf74-4241-80d4-ab21998028a5","product_id":"961033eb-6aec-4357-b736-a50129b135c0","title":"XS-Multicolor","weight_unit":"kg","inventory_quantity":9998,"sku":"cSMDF230828-3yH-XS","barcode":"cSMDF230828-3yH","position":1,"option1":"XS","option2":"Multicolor","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/01f5bb3dfdcdae4086ad763f605b6eba.jpeg","path":"01f5bb3dfdcdae4086ad763f605b6eba.jpeg","width":750,"height":1000,"alt":"","aspect_ratio":0.75},"wholesale_price":[{"price":23.95,"min_quantity":1}],"weight":"200","compare_at_price":"27.95","price":"23.95","retail_price":"27.95","available":true,"url":"\/products\/csmdf230828-3yh?variant=574de68c-cf74-4241-80d4-ab21998028a5","available_quantity":9998,"options":[{"name":"Size","value":"XS"},{"name":"Color","value":"Multicolor"}],"off_ratio":14,"flashsale_info":[],"sales":8}; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex = wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return ` ` }else { const price = variantData && variantData.price; return price != undefined ? ` ` : ''; } }()} ${function() { let variantImageShowed = false; const currentProduct = data.product; return (currentProduct.options || []).map((option, index) => { const optionName = option.name || ''; const optionId = option.id || ''; const position = `option${index + 1}`; let isThumbImage = false; if (currentProduct.need_variant_image && !variantImageShowed) { const variantNames = ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) { const name = variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) { isThumbImage = true; variantImageShowed = true; } } } const variantType = "button"; const thumbStyle = "image"; return ` ${optionName}: ${option.values.map((value, idx) => { const selected = data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage = null; if (isThumbImage) { const variants = currentProduct.variants; for (let i = 0, len = variants.length; i < len; i++) { const variant = variants[i]; if (variant[position] == value && thumbImage == null) { thumbImage = variant.image; break; } } } return ` ${value} ` }).join('')} ${optionName} ${option.values.map(value => { const selected = data.selectedValues[optionName] == value ? 'selected' : ''; return `${value}` }).join('')} ` }).join(''); }()} ${data.originData && data.originData.value || data.value} 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);