www.godflora.com
Open in
urlscan Pro
104.17.246.119
Public Scan
Submitted URL: http://www.godflora.com/products/unisex-vintage-spanish-football-print-t-shirt?variant=aa3996d1-a7d7-418e-baff-cb159320529d
Effective URL: https://www.godflora.com/products/unisex-vintage-spanish-football-print-t-shirt?variant=aa3996d1-a7d7-418e-baff-cb159320529d
Submission: On June 28 via api from US — Scanned from DE
Effective URL: https://www.godflora.com/products/unisex-vintage-spanish-football-print-t-shirt?variant=aa3996d1-a7d7-418e-baff-cb159320529d
Submission: On June 28 via api from US — Scanned from DE
Form analysis
11 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 id="header_search_form_pc" class="header__search-form relative flex" action="/search" method="get">
<div class="md:flex-1 relative">
<input @input-debounced="header_search_lightbox.open();header_search_predictive_render.rerender(data=event.value, redo=true);" class="header__search-input m-0 w-full type-text-font-family" autocomplete="off" type="text" name="q"
placeholder="Search products">
<button type="submit" class="header__search-icon absolute m-0 p-0 text-0 type-text-font-family cursor-pointer" tabindex="-1"><svg class="" 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></button>
<span onclick="header_search_form_pc.reset()" @tap="header_search_lightbox.close();" class="header__search-icon-close hidden items-center justify-center absolute m-0 p-0 type-text-font-family text-0 rounded-full cursor-pointer" tabindex="-2"><svg
class="" 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></span>
</div>
<button type="submit" class="header__search-submit-btn lg:hidden m-0 type-text-font-family">Search</button>
</form>
GET /search
<form id="header_search_form_md" class="header__search-form relative flex" action="/search" method="get">
<div class="md:flex-1 relative">
<input @input-debounced="header_search_lightbox.open();header_search_predictive_render.rerender(data=event.value, redo=true);" class="header__search-input m-0 w-full type-text-font-family" autocomplete="off" type="text" name="q"
placeholder="Search products">
<button type="submit" class="header__search-icon absolute m-0 p-0 text-0 type-text-font-family cursor-pointer" tabindex="-1"><svg class="" 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></button>
<span onclick="header_search_form_md.reset()" @tap="header_search_lightbox.close();" class="header__search-icon-close hidden items-center justify-center absolute m-0 p-0 type-text-font-family text-0 rounded-full cursor-pointer" tabindex="-2"><svg
class="" 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></span>
</div>
<button type="submit" class="header__search-submit-btn lg:hidden m-0 type-text-font-family">Search</button>
</form>
<form role="spz-product-forma5262d71-b695-464c-b031-e5edcac0bfa4">
<div class="product-info-body-inner product-info-body-z-index" id="product-info-body-inner-container">
<h1 class="product-info__header_title m-0 type-heading-font-family text-base lg:text-xl leading-1.3 lg:leading-1.2 break-words product-title-color ">Unisex Vintage Spanish National Football Print T-Shirt</h1>
<spz-render id="product-info-prices" layout="container" manual="" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container" style="height: auto;">
<template> ${function() { const variantData = data.variant ||
{"id":"aa3996d1-a7d7-418e-baff-cb159320529d","product_id":"a5262d71-b695-464c-b031-e5edcac0bfa4","title":"Red-S","weight_unit":"g","inventory_quantity":999,"sku":"1793221626931073026","barcode":"","position":1,"option1":"Red","option2":"S","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/af4c86b12177d0ae43ff832f716f26c3.jpeg","path":"af4c86b12177d0ae43ff832f716f26c3.jpeg","width":1250,"height":1250,"alt":"e96b297313222dee85f05e8a712f9d5e","aspect_ratio":1},"wholesale_price":[{"price":20.89,"min_quantity":1}],"weight":"230","compare_at_price":"34.89","price":"20.89","retail_price":"34.89","available":true,"url":"\/products\/unisex-vintage-spanish-football-print-t-shirt?variant=aa3996d1-a7d7-418e-baff-cb159320529d","available_quantity":999999999,"options":[{"name":"Color","value":"Red"},{"name":"Size","value":"S"}],"off_ratio":40,"flashsale_info":[],"sales":1};
const saveType = "amount"; const saveText = "Save {{saved_amount}}"; const productLabelDiscountOn = false; return ` <div class="flex items-center justify-between mt-3">
<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 text-2xl leading-1.2 font-semibold color-price" 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 text-2xl leading-1.2 font-semibold color-price" 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 text-2xl leading-1.2 font-semibold color-price" container-class="product-info__header_price" value="${variantData.price}" layout="container"></spz-currency>
<spz-currency class="body-plus-2 leading-1.1 color-compare-price line-through mr-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="inline-block color-save-price whitespace-nowrap"> ${saveText.replace('\{\{saved_amount\}\}', saveType == 'percentage' ? variantData.off_ratio + '%' :
`<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 mt-3">
<div class="flex items-center flex-wrap" spz-else="">
<spz-currency class="mr-2 text-2xl leading-1.2 font-semibold color-price i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" container-class="product-info__header_price" value="20.89" layout="container"
i-spzhtml-layout="container">
<div class="money product-info__header_price notranslate">€19.50</div>
</spz-currency><spz-currency class="body-plus-2 leading-1.1 color-compare-price line-through mr-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="34.89" spz-if="true" i-spzhtml-layout="container">
<div class="money product-info__header_compare-at-price notranslate">€32.58</div>
</spz-currency>
</div>
</div>
</spz-render>
<div class="plugin-discount-wrap empty-hidden" role="[theme-seat-for-plugin]">
<div class="bootstrap">
<div class="plugin__wrappers d-flex flex-column">
<div class="plugin_modals position-relative plugin_modals-rebate" id="Modal735848" style="order: 8">
<style>
#Modal735848 {
--modal_background: linear-gradient(0deg, #ebc19e, #fff3e8 100%);
--modal_caret_background: #fff2e9;
--modal_title_color: #B83D07;
--modal_close_color: #FFFFFF;
--modal_close_background_color: #F03010;
--list_border_color: #dddddd;
}
@media (max-width: 767.98px) {
#Modal735848 .coupon_plugin__coupon:last-child {
padding-bottom: 0;
}
}
#Modal735848 .modal-footer {
position: relative;
margin-top: -30px;
}
#Modal735848 .modal-footer::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 150%;
background-image: url(//img.fantaskycdn.com/oss/operation/e8ebb03dbb710457ca3b4b6a70898ab2.svg);
background-repeat: no-repeat;
background-size: 100%;
pointer-events: none;
}
@media (max-width: 767.98px) {
#Modal735848 .discount-present-item:last-child {
padding-bottom: 40px;
}
#Modal735848 .plugin_modals__wrapper-list>a:last-child {
padding-bottom: 14px;
}
}
</style>
<!-- 弹窗 -->
<div class="fade plugin_modals__modal" data-backdrop="false" role="dialog" id="target_Modal735848">
<div class="plugin_modals__modal-mask" data-dismiss="modal" aria-label="Close"></div>
<div class="modal-dialog m-0" role="document">
<div class="modal-content">
<div class="modal-header justify-content-center p-1">
<h5 class="modal-title p-1">SPECIAL OFFER</h5>
<i type="button" class="modal_close" data-dismiss="modal" aria-label="Close"><svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><defs><style></style></defs><path d="M512 1024C229.805 1024 0 794.195 0 512S229.805 0 512 0s512 229.805 512 512-229.805 512-512 512zm0-47.628C768 976.372 976.372 768 976.372 512S768 47.628 512 47.628 47.628 256 47.628 512 256 976.372 512 976.372z" fill="currentColor"></path><path d="M540.577 507.237l167.888 167.889c9.526 9.525 9.526 23.814 0 33.34s-23.814 9.525-33.34 0l-167.888-167.89-169.079 167.89c-9.525 9.525-23.814 9.525-33.34 0-9.525-9.526-9.525-23.815 0-33.34l167.889-167.889-167.888-169.079c-9.526-9.525-9.526-23.814 0-33.34 9.525-9.525 23.814-9.525 33.34 0l167.888 167.889 167.888-167.888c9.525-9.526 23.814-9.526 33.34 0 9.525 9.525 9.525 23.814 0 33.34L540.576 507.236z" fill="currentColor"></path></svg></i>
</div>
<div class="modal-body">
<div class="plugin_modals__wrapper">
<!-- modal头部 -->
<img alt="product rebate" class="plugin_modals__wrapper-top w-100"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAAyCAYAAAB1ROw8AAAID0lEQVR4Xu3dsY7URhgAYBvlXoE3CBQUkajoiQQFSgG55iLyDEjkAehowiPQBInmQoqkoeB6qgiKQwLeIG26nBRnzHqP3LF3O157PLO+75pIMDvj//t/536bWbu+9eBOlfvn15tXm9zHELP+9wfv65hxY4/J5SPesTO5ej75ncZZPU/jrJ6ncVbP0zir52mcY1bJVfNnHdulmIM2ZiHw27dXvp7aIseayxhzrJ1jTfFOV9XyO29r+ZXfVAI5aivHmhf191FM3eTMx6rjy95AlwZyXhKbproRk+Qxx+RYc3n8OdbOsaZ4x6zY8+eS33lby6/8phLIUVs51ryov49S1U3KebM30CmDG3vupqpvjz3nuvlyrHl8Aot3XXoG/738DiaMniCHdY41nb/RJTF4oPwOJoyeIId1jjUv6vkbXQgFDczeQOe8wtsgD7tT3jHv1trd4DjH+oh4x5JcMY/8JsRdPbV6TkiunhPiqudWwPmbsMQKOH/XRldav5i9ga6q+vJatXIG7Pzb1I+mOpxurZ2p1luxjngT4stvQtzVU6vnhOTqOSGuem4FnL8JS6yA8zciurL6xewNdHj8xvUItZKG7L24efVh6gN6cfPK/bDGXup1IuYXbwRS3yHy21dstPHqeTTKzxOp5wSocVOq5zinXqPUcy+uyQaX1i9mb6DDc+GuTaY/0kIhiY+7E2ykGU9O084d9l49TTL5BpOKdwO0cz4iv+N69p1NPfcVO3+8eh7Xs+9s6rmvmHr+v0Bp5+952SmtX8zaQLd7bsLJ/8245T/JbDuhwf0lxZ3ods527hBFzq0bpxHFO1JZye9IkMOmUc/D/I4/rZ5Hghw2jXoe5qeey+o3zsxm2y9O+T20dWVV53yRSnfl0zaL2/pzFK6I3tV1s3v31YePQ4L4dDHR1PuFX1CId8Mky++GcGk/pp439FXPG8Kl/Zh63tBXPW8Il+FjddX8eO/gw7MMS3+xZOYG+uqbwhvGmBwddYP2L9XNo76NdHvidpv326dtlHTX+azYxRtTFd0Y+e2BlWeoeu7hrp57YOUZqp57uKvnHljlDH0e3kj4QwmHk62B7gr3cEuaxuhchTvSb8NFwWG4SnpZ19Xr0w314kq3utE+X7Ldz7PtFxDiPfkvD/K7lVuyjs9v9aye/f85+tddcQOdv/M+f7uCOwo3K6/1vVmZolizNdCLvXPVzymCKmDO9i7AurvJMWMKCCXqEGJiiRkTtVgBg2JiiRlTQChRhxATS8yYqMUKGBQTS8yYAkKJOoSYWGLGRC1WwKCYWGLGFBBK1CHExBIzJmqxAgbFxBIzpoBQog4hJpaYMVGLlTAoXCj9dO/g/ZPcx5LzS4TtY9rm+rOueW7jjhmzLT4xscSMEW+ZAjG5ixlTZnRfHlVMLDFjxFumQEzuYsaUGZ16jsldzBj5LVegiP4xSwO9+PLgdv9Tb7l15cgIECBAgAABAvMUaPvHlI8SjlXL0kCHtw8mfxFJLIBxBAgQIECAAAEC2ySQv4+cvIHu9j5v47Oft6myHCsBAgQIECBAYJYCi7vQ6d8KfR7epA109+KUx7PMpqAIECBAgAABAgSmEDhq38KZ88UqkzbQ3fOO57R5f4oisQYBAgQIECBAgMBngU+9ZNdXZnGZrIHuNnzvZYnSogQIECBAgAABAnMSaJvovVxfKJykgV5s3aifzilrYiFAgAABAgQIEMgr0PaXObZyJG+gl++YD7y2buStMasTIECAAAECBOYmsNM09f7UTXTyBroNyjOf51ar4iFAgAABAgQIlCHQ9pltvznl0SRtoMMjRt5onqdMp7UIECBAgAABAhdPoHu03ZupIv8qxULLbRua5xS65iRAgAABAgQIEDgtsGyi67rZvfvqw8eUQqPfgdY8p0yXuQkQIECAAAECBM4SWG7nSL0netQGun2USHgm36E7zwqbAAECBAgQIEAgh0Dbh7b9aMpH3NW3HtwZHFvb5XcPs/ac58GaJiBAgAABAgQIEBhJ4Pmlunk09paOwXegl3edQ5Ca55EybRoCBAgQIECAAIFRBPZS3I3e+A704rZ4/bDbrnEUQvSc51HybBICBAgQIECAAIGRBNoetf3ZqavqbVU1T+4dfHg2dO5eDXT3BcHvwqL37XMeSu/zBAgQIECAAAECUwssGunqWXhax++bbu1Y20AvmubqRnhV4u2w2K47zVOn2XoECBAgQIAAAQIjCyzvTO/XVfOyrqvXfZrp4wZ6+biPtlkOWzMuhzvM10OHfs2d5pHTZToCBAgQIECAAIHSBI5C3/su9L2H4b9/hq0ef53XVNd///Hwn1N3lY/3ipQWmeMhQIAAAQIECBAgkFhgVS984s/aNxGe/vKfLwMmzorpCRAgQIAAAQIEihVY1Quf+LPBj7ErNnQHRoAAAQIECBAgQCCBgAY6AaopCRAgQIAAAQIE5iuggZ5vbkVGgAABAgQIECCQQEADnQDVlAQIECBAgAABAvMV0EDPN7ciI0CAAAECBAgQSCCggU6AakoCBAgQIECAAIH5Cmig55tbkREgQIAAAQIECCQQ0EAnQDUlAQIECBAgQIDAfAU00PPNrcgIECBAgAABAgQSCGigE6CakgABAgQIECBAYL4CGuj55lZkBAgQIECAAAECCQQ00AlQTUmAAAECBAgQIDBfAQ30fHMrMgIECBAgQIAAgQQCGugEqKYkQIAAAQIECBCYr4AGer65FRkBAgQIECBAgEACgf8ADWHGqni73L8AAAAASUVORK5CYII=">
<div class="plugin_modals__wrapper-bg">
<div class="plugin_modals__wrapper-list">
<style>
a.product_detail_rebate_list {
display: inline-flex;
align-items: start;
color: #EB391B;
}
a.product_detail_rebate_list:hover {
color: #EB391B;
}
.plugin_modals__modal .rebate-icon {
display: none;
}
.rebate-icon {
margin-right: 4px;
padding-top: 4px;
}
</style>
<a class="product_detail_rebate_list" impr="1" imprevt="1" href="/promotions/rebate/a0c1b7bf-4202-4cab-81ee-1d9863ee55ab">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="24" fill="none" class="rebate-icon">
<g clip-path="url(#a)">
<path fill="#EB391B" fill-rule="evenodd" d="M9.127 1.275a1.576 1.576 0 0 0-2.255 0l-.693.709a1.576 1.576 0 0 1-1.146.475l-.991-.012a1.576 1.576 0 0 0-1.595 1.595l.011.991a1.576 1.576 0 0 1-.475 1.146l-.708.693a1.576 1.576 0 0 0 0 2.255l.709.693c.308.3.48.716.475 1.146l-.012.992a1.576 1.576 0 0 0 1.595 1.594l.991-.011a1.577 1.577 0 0 1 1.146.475l.693.709a1.575 1.575 0 0 0 2.255 0l.693-.71a1.576 1.576 0 0 1 1.146-.475l.992.012a1.575 1.575 0 0 0 1.594-1.594l-.011-.992a1.577 1.577 0 0 1 .475-1.146l.709-.693a1.575 1.575 0 0 0 0-2.255l-.71-.693a1.576 1.576 0 0 1-.475-1.146l.012-.991a1.576 1.576 0 0 0-1.594-1.595l-.992.011a1.576 1.576 0 0 1-1.146-.475l-.693-.708ZM5.84 6.92a1.08 1.08 0 1 0 0-2.16 1.08 1.08 0 0 0 0 2.16Zm4.32 4.32a1.08 1.08 0 1 0 0-2.161 1.08 1.08 0 0 0 0 2.16Zm.56-5.96a.793.793 0 0 1 0 1.12L6.4 10.72A.792.792 0 0 1 5.28 9.6L9.6 5.28a.792.792 0 0 1 1.12 0Z" clip-rule="evenodd"></path>
</g>
<defs>
<clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath>
</defs>
</svg>
<div style="flex:1;">
<li id="pdr__rule" class="pdr__rule">
<b>10%</b> OFF FOR 2nd item
</li>
<li id="pdr__rule" class="pdr__rule">
<b>10%</b> OFF FOR 3rd item
</li>
<li id="pdr__rule" class="pdr__rule">
<b>15%</b> OFF FOR 4th item
</li>
<li id="pdr__rule" class="pdr__rule">
<b>20%</b> OFF FOR 5th item
</li>
</div>
</a>
</div>
</div>
<!-- modal底部 -->
<img alt="product rebate" class="plugin_modals__wrapper-bottom w-100"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAAyCAYAAAB1ROw8AAAHlUlEQVR4Xu3dz2pdRRgA8HOk9Ql8hSZFt10LJYEKbcHSItSNDyCVQsGtdCu4UfoAroTSYEACXbQWXHetvekrdOcyi+PMTaLXkOSefzNzevK7ILU6Z76Z33yHfpnOPaf++7dHTeVDgAABAgQIECBAgEArgQ9atdKIAAECBAgQIECAAIGlgAJaIhAgQIAAAQIECBDoIKCA7oClKQECBAgQIECAAAEFtBwgQIAAAQIECBAg0EFAAd0BS1MCBAgQIECAAAECCmg5QIAAAQIECBAgQKCDgAK6A5amBAgQIECAAAECBBTQcoAAAQIECBAgQIBABwEFdAcsTQkQIECAAAECBAgooOUAAQIECBAgQIAAgQ4CCugOWJoSIECAAAECBAgQUEDLAQIECBAgQIAAAQIdBBTQHbA0JUCAAAECBAgQIKCAlgMECBAgQIAAAQIEOggooDtgaUqAAAECBAgQIEAgFtAHGAgQIECAAAECBAgQOFMg1sv/1syX7r1cfBib7mxvXFle0lTXqrr+qGmaj6uqvh7+yyZMAgQIECBAgAABAjMXWIRC+FVd139WTfOuqqvXcb53X+y/PTnv+sbDW+daLAvrUFQ3Vf1FaHgz/HN55nimR4AAAQIECBAgMH+BuKO8V1fN01gsn1Yon0WwtoBevfBwl7r+rGmqr+1Mzz+rzJAAAQIECBAgMEOBRV1XT8Ju8/MuRfOqQ6cC+n/F9NbG/bAr/Z1CeoZpZUoECBAgQIAAgfkJLMJu8+O7L/d/GTq13gX0ceCd7c0HYUf6h/B7RzuGrobrCRAgQIAAAQIExhRYfvEv7Dg/uvti8dNYHQ9+jF0czNEXEXfHGpR+CBAgQIAAAQIECIwgsFfXzSdjFs9xTIML6OOJhSL6TtgW/zL83mPxRlhtXRAgQIAAAQIECPQWOIh1aaxP+55zPi/yaAV0DBLPlMQqP/xreAyIDwECBAgQIECAAIHsAuFLgmHXeYSzzmeNfNQCellEh2flhUHfVkRnTxYBCRAgQIAAAQIXWSCegojF8+0Uu86rsIO/RHjeKj3b2nwT/r8XsVzkVDZ3AgQIECBAgEAegd14ZCNHqNF3oFcHHSZx1U50jmUUgwABAgQIECBwoQUWuYrnqJy0gI4BHOe40Mls8gQIECBAgACB1ALLYxupg6z2n7yAXjkT7ekcOVdWLAIECBAgQIDA/AUOcpx5PsmYvICOAQ+L6OrR/NfQDAkQIECAAAECBHIJHL4gZf9trnjHcbIU0IdF9PLtL7u5JygeAQIECBAgQIDALAV2x35BSlulbAV0HFDYYv82/OIoR9vV0Y4AAQIECBAgQOA0gXh0I9aVRT5ZC2hHOYqssaAECBAgQIAAgVkJlDq6cYyYtYCOQY+22r2pcFZpbDIECBAgQIAAgWwCi1JHN4oV0DFweDf542zEAhEgQIAAAQIECMxGYAp1ZPYd6OUu9OG7ye1CzyaVTYQAAQIECBAgkEVgcVRHZgl2VpAiBfRyF7qunhSdueAECBAgQIAAAQLvlcBU6sdL5dSa56GMjk/kuFxuDEkih5315lVdVX+EsyqvTz6bcGd740rVVNeaqvo0zP96GMFmklHk69R8V6ytr3zOd+uNEsn96/7159Eot1KRTi7a/RuRQ90Y68fyn/rGw1vFRvFsa/PXEPzzYgMYL3D8QWAvPk6l68O8Y8HVNPX34fqb79EPE+bbMnesb0uoss3kc0t/+dwSqmwz+dzSXz63hJpWs917Lxd3pjCkogX0zvbmg6apfpwCxIAx7PYpnE/GW7mRp/4Dhfn2SBbr2wMtzyXyuYezfO6BlucS+dzDWT73QCt0STi+8U3pp28cT71wAb3cfd0vtA6Dw6ZYyCn/UGG+g1Omsr7DDcfqQT4Pl5TPww3H6kE+D5eUz8MNU/cQNiw3uv5Nf6oxFS2g46TCMY434Zf37RzwQXiEylepvgW6s7Vxv6nqn4PLVM6Hm++Id6D1HRGzX1fyuZ/bqVfJ5xEx+3Uln/u5yecgMMH797zVXITjG1dHXO5BXRV7CsfKqP8aNIMCFy/ffnP4KL4kn9h3jJGk8x6dmm8PtHMusb7jenbtTT53FTu/vXwe17Nrb/K5q5h8XhWY2v27ZjUnVS8WL6DDzf/7uOmfvLfdHOdvjmLsJp/N+gDmu96ocwvr25lsrAvk81iSK/3I5wSo7bqUz+2cOrWSz524sjWeWr1YvICumuZdNv3hgQ7iFwaHd9Ouh6NY8RvVpT7mm1De+ibEPb1r+ZyQXD4nxJXPUcD9mzDFJnD/rp/dxOrF8gV0eFbyerXJtNjLeXj9KNZewdmbb0J865sQ9/Su5XNCcvmcEFc+RwH3b8IUm8D9u352E6sXyxfQ68km0yJ8cfBp7sGUiHk8xxKxS8Q033xZbX3nbW19rW8qgRK5VSLmRf3zKFXepOy3eAGdc0d3MGSJn35KxPzvDs7/twPmOzhNW3dQwrpETPncOiUGN7S+gwlbd1DCukRM92/rlBjcsOT6Dh58/g6KP8YuTjk8yi682Xr6n/D4lPCG7vyfUj7mm2etrW8eZ/mcx1k+53GWz3mc5XMe5zZRSuX8WWP7Bxil8XEJz7ZOAAAAAElFTkSuQmCC">
</div>
</div>
<div class="modal-footer d-md-none">
<a type="button" class="footer_close" style="border-radius: 100px;" data-dismiss="modal">CLOSE</a>
</div>
</div>
</div>
</div>
<!-- 入口 -->
<div class="plugin_modals__list" data-toggle="modal" data-target="#target_Modal735848" impr="1" imprevt="1" imprsd="true">
<div class="plugin_modals__list-name">
<style>
a.product_detail_rebate_list {
display: inline-flex;
align-items: start;
color: #EB391B;
}
a.product_detail_rebate_list:hover {
color: #EB391B;
}
.plugin_modals__modal .rebate-icon {
display: none;
}
.rebate-icon {
margin-right: 4px;
padding-top: 4px;
}
</style>
<a class="product_detail_rebate_list" impr="1" imprevt="1" href="/promotions/rebate/a0c1b7bf-4202-4cab-81ee-1d9863ee55ab" imprsd="true">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="24" fill="none" class="rebate-icon">
<g clip-path="url(#a)">
<path fill="#EB391B" fill-rule="evenodd" d="M9.127 1.275a1.576 1.576 0 0 0-2.255 0l-.693.709a1.576 1.576 0 0 1-1.146.475l-.991-.012a1.576 1.576 0 0 0-1.595 1.595l.011.991a1.576 1.576 0 0 1-.475 1.146l-.708.693a1.576 1.576 0 0 0 0 2.255l.709.693c.308.3.48.716.475 1.146l-.012.992a1.576 1.576 0 0 0 1.595 1.594l.991-.011a1.577 1.577 0 0 1 1.146.475l.693.709a1.575 1.575 0 0 0 2.255 0l.693-.71a1.576 1.576 0 0 1 1.146-.475l.992.012a1.575 1.575 0 0 0 1.594-1.594l-.011-.992a1.577 1.577 0 0 1 .475-1.146l.709-.693a1.575 1.575 0 0 0 0-2.255l-.71-.693a1.576 1.576 0 0 1-.475-1.146l.012-.991a1.576 1.576 0 0 0-1.594-1.595l-.992.011a1.576 1.576 0 0 1-1.146-.475l-.693-.708ZM5.84 6.92a1.08 1.08 0 1 0 0-2.16 1.08 1.08 0 0 0 0 2.16Zm4.32 4.32a1.08 1.08 0 1 0 0-2.161 1.08 1.08 0 0 0 0 2.16Zm.56-5.96a.793.793 0 0 1 0 1.12L6.4 10.72A.792.792 0 0 1 5.28 9.6L9.6 5.28a.792.792 0 0 1 1.12 0Z" clip-rule="evenodd"></path>
</g>
<defs>
<clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath>
</defs>
</svg>
<div style="flex:1;">
<li id="pdr__rule" class="pdr__rule">
<b>10%</b> OFF FOR 2nd item
</li>
<li id="pdr__rule" class="pdr__rule">
<b>10%</b> OFF FOR 3rd item
</li>
<li id="pdr__rule" class="pdr__rule">
<b>15%</b> OFF FOR 4th item
</li>
<li id="pdr__rule" class="pdr__rule">
<b>20%</b> OFF FOR 5th item
</li>
</div>
</a>
</div>
<div class="plugin_modals__list-labels text-right"></div>
<i class="plugin_modals__list-icon">
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="18" height="18"><defs><style></style></defs><path d="M636.48 512.32l-366.4 366.4a48 48 0 0067.84 67.872l384.672-384.64a48 48 0 0011.456-49.6 48 48 0 00-11.456-49.6L337.952 78.016a48 48 0 00-67.904 67.904l366.4 366.4z"></path></svg>
</i>
</div>
</div>
<div class="coupon_plugin__single plugin_modals-coupon " impr="1" imprevt="1" imprsd="true">
<div class="coupon_plugin__coupon">
<div class="rules__line" style="background: linear-gradient(90deg, #F8A056, #F93E37)">
<div class="rules__first-line" style="color: #ffffff">
<span class="condition">Extra</span><span class="off">5% OFF</span>
<div class="coupon_plugin__coupon-divider"></div>
</div>
<div class="rules__second-line align-items-center justify-content-center">
<button data-code="NICE5" data-id="7d3b52aa-a19f-44a3-8dd9-a3017b6392f2" class="code_btn " type="button" data-activetype="percentage" style="background: #FEE7CD; color: #F94339">
<span>GET</span>
<span class="notranslate"> NICE5 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 2v.5H4.5v-1a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1V11h.5V2H6zM3 14V5h7v9H3zM1.5 4.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-10z"
fill="currentColor"></path>
</svg>
</span>
<textarea class="coupon_code_value notranslate" style="position:absolute;left:-99999px;">NICE5</textarea>
</button>
<div class="coupon__copied notranslate" style="color: #ffffff">Copy code</div>
</div>
</div>
<svg class="app-coupon-triangle app-coupon-triangle-0" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
<path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
</svg>
<svg class="app-coupon-triangle app-coupon-triangle-1" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
<path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
</svg>
<svg class="app-coupon-triangle app-coupon-triangle-2" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
<path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
</svg>
</div>
</div>
<div class="plugin_modals position-relative plugin_modals-discount_gifts" id="Modal897136" style="order: 9">
<style>
#Modal897136 {
--modal_background: linear-gradient(135deg, #ff4848, #ff0d7d);
--modal_caret_background: #ff0d7d;
--modal_title_color: #fff;
--modal_close_color: #D30808;
--modal_close_background_color: #FFE6D0;
--list_border_color: #ddd;
}
@media (max-width: 767.98px) {
#Modal897136 .coupon_plugin__coupon:last-child {
padding-bottom: 0;
}
}
#Modal897136 .modal-footer {
position: relative;
margin-top: -30px;
}
#Modal897136 .modal-footer::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 150%;
background-image: url(//img.fantaskycdn.com/oss/operation/1eb91360306015b21548cd2f1747bc0e.svg);
background-repeat: no-repeat;
background-size: 100%;
pointer-events: none;
}
@media (max-width: 767.98px) {
#Modal897136 .discount-present-item:last-child {
padding-bottom: 40px;
}
#Modal897136 .plugin_modals__wrapper-list>a:last-child {
padding-bottom: 14px;
}
}
</style>
<!-- 弹窗 -->
<div class="fade plugin_modals__modal" data-backdrop="false" role="dialog" id="target_Modal897136">
<div class="plugin_modals__modal-mask" data-dismiss="modal" aria-label="Close"></div>
<div class="modal-dialog m-0" role="document">
<div class="modal-content">
<div class="modal-header justify-content-center p-1">
<h5 class="modal-title p-1">GIFT OFFER</h5>
<i type="button" class="modal_close" data-dismiss="modal" aria-label="Close"><svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><defs><style></style></defs><path d="M512 1024C229.805 1024 0 794.195 0 512S229.805 0 512 0s512 229.805 512 512-229.805 512-512 512zm0-47.628C768 976.372 976.372 768 976.372 512S768 47.628 512 47.628 47.628 256 47.628 512 256 976.372 512 976.372z" fill="currentColor"></path><path d="M540.577 507.237l167.888 167.889c9.526 9.525 9.526 23.814 0 33.34s-23.814 9.525-33.34 0l-167.888-167.89-169.079 167.89c-9.525 9.525-23.814 9.525-33.34 0-9.525-9.526-9.525-23.815 0-33.34l167.889-167.889-167.888-169.079c-9.526-9.525-9.526-23.814 0-33.34 9.525-9.525 23.814-9.525 33.34 0l167.888 167.889 167.888-167.888c9.525-9.526 23.814-9.526 33.34 0 9.525 9.525 9.525 23.814 0 33.34L540.576 507.236z" fill="currentColor"></path></svg></i>
</div>
<div class="modal-body">
<div class="discount-present">
<div class="gift-offer-entry position-relative d-flex flex-row discount-present-item" data-id="c30f6553-9723-4f8d-a058-b40f17455b37">
<div class="activity-rules d-flex align-items-center" data-toggle="modal" data-target="#gift-offer-modal">
<!-- view the gift svg图标 -->
<img alt="plugin discount gift" class="lazyload" loading="lazy" src="//img.fantaskycdn.com/oss/operation/287876a2c3f514fadb32ecfa592ce1f7.png">
<div class="activity-rules-contennt"> View the <span class="gift_offer">GIFT OFFER</span>
</div>
</div>
</div>
<div class="discount-present-item position-relative d-flex flex-row">
<a href="/promotions/discount/c30f6553-9723-4f8d-a058-b40f17455b37" class="rules w-100">
<div class="activity-rules-contennt">
<li>Purchase <span>4</span> to get <span>1</span> free gift(s)</li>
</div>
</a>
</div>
</div>
</div>
<div class="modal-footer d-md-none">
<a type="button" class="footer_close" style="border-radius: 21px;" data-dismiss="modal">CLOSE</a>
</div>
</div>
</div>
</div>
<!-- 入口 -->
<div class="plugin_modals__list" data-toggle="modal" data-target="#target_Modal897136" impr="1" imprevt="1" imprsd="true">
<div class="plugin_modals__list-name"><a href="/promotions/discount/c30f6553-9723-4f8d-a058-b40f17455b37" class="rules w-100">
<i>
<svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.31421 2.57895C4.31421 2.03589 4.82263 1.47368 5.61842 1.47368C6.39063 1.47368 7.26158 2.11474 7.26158 3.19274V3.68421H6.63821C6.04505 3.68421 5.418 3.6761 4.93905 3.5C4.71653 3.41747 4.57211 3.31358 4.48148 3.19568C4.39674 3.08516 4.31421 2.90316 4.31421 2.57895ZM9.35863 3.68421H8.73526V3.19274C8.73526 2.11474 9.60547 1.47368 10.3784 1.47368C11.1742 1.47368 11.6826 2.03589 11.6826 2.57895C11.6826 2.90316 11.6001 3.08442 11.5154 3.19568C11.4247 3.31358 11.2803 3.41674 11.0578 3.49926C10.5788 3.6761 9.95252 3.68421 9.35863 3.68421ZM13.1563 2.57895C13.1563 2.9901 13.0804 3.36 12.9308 3.68421H14.2616C14.5547 3.68421 14.8358 3.80066 15.0431 4.00793C15.2504 4.21521 15.3668 4.49634 15.3668 4.78947V6.63158H0.630005V4.78947C0.630005 4.49634 0.746452 4.21521 0.953729 4.00793C1.16101 3.80066 1.44213 3.68421 1.73527 3.68421H3.066C2.91128 3.3366 2.83434 2.95939 2.84053 2.57895C2.84053 1.08316 4.15432 0 5.61842 0C6.47684 0 7.38537 0.402317 7.99842 1.12663C8.61147 0.402317 9.52 0 10.3784 0C11.8433 0 13.1563 1.08316 13.1563 2.57895ZM7.26158 14V8.10526H1.36685V12.8947C1.36685 13.5063 1.86053 14 2.47211 14H7.26158ZM8.73526 14V8.10526H14.63V12.8947C14.63 13.5063 14.1363 14 13.5247 14H8.73526Z" fill="#EB391B"></path>
</svg>
</i>
<div class="activity-rules-contennt">
<li>Purchase <span>4</span> to get <span>1</span> free gift(s)</li>
</div>
</a></div>
<div class="plugin_modals__list-labels text-right"></div>
<i class="plugin_modals__list-icon">
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="18" height="18"><defs><style></style></defs><path d="M636.48 512.32l-366.4 366.4a48 48 0 0067.84 67.872l384.672-384.64a48 48 0 0011.456-49.6 48 48 0 00-11.456-49.6L337.952 78.016a48 48 0 00-67.904 67.904l366.4 366.4z"></path></svg>
</i>
</div>
</div>
</div>
</div>
</div>
<div class="product-info__current-viewer flex items-center mt-6 lg:mt-8">
<svg class="flex-shrink-0" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M12.052 6.4h-.002c-4.31 0-7.95 2.395-9.107 5.675a.377.377 0 0 0 0 .25C4.1 15.605 7.739 18 12.05 18c4.337 0 7.996-2.425 9.128-5.737a.194.194 0 0 0 0-.126c-1.132-3.311-4.79-5.736-9.126-5.737zm-8.026 5.947a.372.372 0 0 1 0-.293c.782-1.831 2.517-3.366 4.782-4.13a4.218 4.218 0 1 0 6.494.004c2.26.765 3.99 2.298 4.772 4.126.04.093.04.199 0 .293-1.125 2.631-4.22 4.651-8.024 4.651-3.806 0-6.9-2.02-8.024-4.652zm7.918-4.945a1.582 1.582 0 1 1-3.052.493 10.126 10.126 0 0 1 3.052-.493z"
fill="currentColor"></path>
</svg>
<span class="current__viewer-text ml-2 break-all body-plus-2">
<spz-rng class="inline-block i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" layout="container" max="100" min="20" change-range="7" interval-seconds="3" i-spzhtml-layout="container"><span>35</span></spz-rng>
people are viewing right now.</span>
</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-main-images;" manual="" interference="" select-soldout-suffix=" - Sold out" interact="hover" inherit-url-variant=""
@mouseout="product-info-selected-variant-Color.rerender(data=event);product-info-selected-variant-Size.rerender(data=event);" @colormouseover="product-info-selected-variant-Color.rerender(data=event);" i-spzhtml-layout="container">
<fieldset class="product-info__variants_content mt-6 lg:mt-8 mx-0" name="Color">
<legend class="w-full">
<span class="lg:body-plus-2 leading-1.3 product-info__variants_title">Color</span>
<spz-render class="inline-block opacity-60 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="product-info-selected-variant-Color" 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> : Red </span></spz-render>
</legend>
<div class="flex flex-wrap ">
<div class="relative mt-3 mr-3">
<input type="radio" option="Red" id="product-info-variant-Red-0" class="pointer-events-auto" name="product-info-variant-Color" value="Red" form="product-info-body"
@input-debounced="product-info-selected-variant-color.rerender(data=event);" checked="">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-[1px]
" data-type="image-with-text">
<spz-img class="ml-1 i-spzhtml-layout-responsive i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-built i-spzhtml-layout" src="//img.fantaskycdn.com/af4c86b12177d0ae43ff832f716f26c3_48x.jpeg" layout="responsive" width="42"
height="42" alt="e96b297313222dee85f05e8a712f9d5e" object-fit="cover" auto-fit="" i-spzhtml-layout="responsive" complete=""><i-spzhtml-sizer style="padding-top:100%;"></i-spzhtml-sizer><img decoding="async"
alt="e96b297313222dee85f05e8a712f9d5e" src="//img.fantaskycdn.com/af4c86b12177d0ae43ff832f716f26c3_48x.jpeg" class="i-spzhtml-fill-content i-spzhtml-replaced-content" style="object-fit: cover;"></spz-img>
<span class="break-words py-2 px-3">Red</span>
</label>
</div>
</div>
</fieldset>
<spz-render id="Color-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 mt-6 lg:mt-8 mx-0" name="Size">
<legend class="w-full">
<span class="lg:body-plus-2 leading-1.3 product-info__variants_title">Size</span>
<spz-render class="inline-block opacity-60 i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="product-info-selected-variant-Size" 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> : S </span></spz-render>
</legend>
<div class="flex flex-wrap mt-1 product-info-variant-container ">
<div class="relative mt-3 mr-3">
<input type="radio" option="S" id="product-info-variant-S-0" class="pointer-events-auto" name="product-info-variant-Size" value="S" form="product-info-body" @input-debounced="product-info-selected-variant-size.rerender(data=event);"
checked="">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-[1px]
" data-type="text">
<span class="break-words py-3 px-4 text-center">S</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="M" id="product-info-variant-M-1" class="pointer-events-auto" name="product-info-variant-Size" value="M" form="product-info-body" @input-debounced="product-info-selected-variant-size.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-[1px]
" data-type="text">
<span class="break-words py-3 px-4 text-center">M</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="L" id="product-info-variant-L-2" class="pointer-events-auto" name="product-info-variant-Size" value="L" form="product-info-body" @input-debounced="product-info-selected-variant-size.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-[1px]
" data-type="text">
<span class="break-words py-3 px-4 text-center">L</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="XL" id="product-info-variant-XL-3" class="pointer-events-auto" name="product-info-variant-Size" value="XL" form="product-info-body" @input-debounced="product-info-selected-variant-size.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-[1px]
" data-type="text">
<span class="break-words py-3 px-4 text-center">XL</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="3XL" id="product-info-variant-3XL-4" class="pointer-events-auto" name="product-info-variant-Size" value="3XL" form="product-info-body"
@input-debounced="product-info-selected-variant-size.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-[1px]
" data-type="text">
<span class="break-words py-3 px-4 text-center">3XL</span>
</label>
</div>
<div class="relative mt-3 mr-3">
<input type="radio" option="XXL" id="product-info-variant-XXL-5" class="pointer-events-auto" name="product-info-variant-Size" value="XXL" form="product-info-body"
@input-debounced="product-info-selected-variant-size.rerender(data=event);">
<label class="product-info-variant-option relative flex items-center break-words flex-shrink-0 overflow-hidden
rounded-[1px]
" data-type="text">
<span class="break-words py-3 px-4 text-center">XXL</span>
</label>
</div>
</div>
</fieldset>
<spz-render id="Size-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-5 lg:mt-6">
<div class="lg:body-plus-2 leading-1.3">Quantity</div>
<spz-quantity class="product-info-qty 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="999999999"
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="999999999" 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>
<style>
.product-info-free__shipping-progress-bar {
background: linear-gradient(to right, #D1A643, #D39B17);
transition: width 1.2s ease;
}
</style>
<spz-event target-id="product-info-free-shipping-render" target-api="render" event-name="dj.addToCart" layout="logic" class="i-spzhtml-layout-logic i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="logic"></spz-event>
<spz-render id="product-info-free-shipping-render" src="/api/cart" items="cart" layout="container" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container" finish="">
<template>
<div class="product-info-free-shipping mt-3 md:body-minus-1 text-center"> ${function() { const postageFreeAmount = 89; const custom_text = "Buy {amount} more to get FREE Shipping"; const totalPrice = +data.total_price; const diffPrice =
postageFreeAmount - totalPrice; const percentDiff = (diffPrice > 0 ? (totalPrice / postageFreeAmount * 100) : 100) + '%'; let tipText = "Your order is free delivery"; if (diffPrice > 0) { tipText = custom_text.replace('{amount}',
`<spz-currency class="inline-block" value="${diffPrice}" layout="container"></spz-currency>`); } return ` <div class="product-info-free__shipping relative mt-6 rounded-sm overflow-hidden">
<div class="product-info-free__shipping-progress-bar absolute top-0 left-0 h-full w-0" style="width: ${percentDiff};"></div>
<div class="flex items-center justify-center px-6 py-1 relative z-10">
<svg class="flex-shrink-0" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M14.698 7.522V5.631A.633.633 0 0 0 14.063 5H2.635A.633.633 0 0 0 2 5.63v10.721c0 .349.284.63.635.63H4.59A2.536 2.536 0 0 0 7.08 19a2.536 2.536 0 0 0 2.488-2.018h5.816A2.536 2.536 0 0 0 17.873 19a2.536 2.536 0 0 0 2.489-2.018h1.003c.35 0 .635-.282.635-.63v-3.62a.628.628 0 0 0-.081-.308l-2.594-4.58a.636.636 0 0 0-.553-.322h-4.074zm-.952-1.26a.316.316 0 0 0-.317-.316H3.269a.316.316 0 0 0-.317.315v9.46c0 .174.143.315.318.315h1.308a2.536 2.536 0 0 1 2.501-2.081c1.251 0 2.291.898 2.501 2.08h4.166V6.262zm.952 2.206v7.568h.674l-.004.026a2.535 2.535 0 0 1 2.505-2.107c1.251 0 2.29.898 2.5 2.081h.357a.316.316 0 0 0 .318-.315v-2.744h-3.27a.316.316 0 0 1-.318-.315V9.95c0-.174.142-.315.318-.315h1.469l-.661-1.167h-3.888zm-6.031 8.01c0 .87-.711 1.576-1.588 1.576a1.582 1.582 0 0 1-1.587-1.576c0-.871.71-1.577 1.587-1.577s1.588.706 1.588 1.576zm9.206 1.576c.877 0 1.587-.706 1.587-1.576 0-.871-.71-1.577-1.587-1.577s-1.587.706-1.587 1.576c0 .871.71 1.577 1.587 1.577zm.413-7.399c0-.11.09-.2.2-.2h1.225l.964 1.703h-2.19a.2.2 0 0 1-.2-.2v-1.303z"
fill-opacity="1" fill="currentColor"></path>
</svg>
<span class="product-info-free__shipping-text ml-2 text-xs leading-5 font-bold">${tipText}</span>
</div>
</div> `; }()} </div>
</template>
<div class="product-info-free-shipping mt-3 md:body-minus-1 text-center">
<div class="product-info-free__shipping relative mt-6 rounded-sm overflow-hidden">
<div class="product-info-free__shipping-progress-bar absolute top-0 left-0 h-full w-0" style="width: 0%;"></div>
<div class="flex items-center justify-center px-6 py-1 relative z-10"> <svg class="flex-shrink-0" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M14.698 7.522V5.631A.633.633 0 0 0 14.063 5H2.635A.633.633 0 0 0 2 5.63v10.721c0 .349.284.63.635.63H4.59A2.536 2.536 0 0 0 7.08 19a2.536 2.536 0 0 0 2.488-2.018h5.816A2.536 2.536 0 0 0 17.873 19a2.536 2.536 0 0 0 2.489-2.018h1.003c.35 0 .635-.282.635-.63v-3.62a.628.628 0 0 0-.081-.308l-2.594-4.58a.636.636 0 0 0-.553-.322h-4.074zm-.952-1.26a.316.316 0 0 0-.317-.316H3.269a.316.316 0 0 0-.317.315v9.46c0 .174.143.315.318.315h1.308a2.536 2.536 0 0 1 2.501-2.081c1.251 0 2.291.898 2.501 2.08h4.166V6.262zm.952 2.206v7.568h.674l-.004.026a2.535 2.535 0 0 1 2.505-2.107c1.251 0 2.29.898 2.5 2.081h.357a.316.316 0 0 0 .318-.315v-2.744h-3.27a.316.316 0 0 1-.318-.315V9.95c0-.174.142-.315.318-.315h1.469l-.661-1.167h-3.888zm-6.031 8.01c0 .87-.711 1.576-1.588 1.576a1.582 1.582 0 0 1-1.587-1.576c0-.871.71-1.577 1.587-1.577s1.588.706 1.588 1.576zm9.206 1.576c.877 0 1.587-.706 1.587-1.576 0-.871-.71-1.577-1.587-1.577s-1.587.706-1.587 1.576c0 .871.71 1.577 1.587 1.577zm.413-7.399c0-.11.09-.2.2-.2h1.225l.964 1.703h-2.19a.2.2 0 0 1-.2-.2v-1.303z"
fill-opacity="1" fill="currentColor"></path>
</svg> <span class="product-info-free__shipping-text ml-2 text-xs leading-5 font-bold">Buy <spz-currency class="inline-block i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" value="89" layout="container"
i-spzhtml-layout="container">
<div class="money notranslate">€83.11</div>
</spz-currency> more to get FREE Shipping</span> </div>
</div>
</div>
</spz-render>
<div class="mt-5 lg:mt-6">
<button class="relative button-primary flex items-center justify-center body-plus-2 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>
<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 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="a5262d71-b695-464c-b031-e5edcac0bfa4" variant-id="aa3996d1-a7d7-418e-baff-cb159320529d" 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=USD&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_5a4a5d3b4f_mda6ndi6ndi" class="paypal-buttons paypal-buttons-context-iframe paypal-buttons-label-unknown paypal-buttons-layout-horizontal" data-paypal-smart-button-version="5.0.448"
style="height: 52px; transition: all 0.2s ease-in-out 0s;">
<style nonce="">
#zoid-paypal-buttons-uid_5a4a5d3b4f_mda6ndi6ndi {
position: relative;
display: inline-block;
width: 100%;
min-height: 25px;
min-width: 150px;
font-size: 0;
}
#zoid-paypal-buttons-uid_5a4a5d3b4f_mda6ndi6ndi>iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#zoid-paypal-buttons-uid_5a4a5d3b4f_mda6ndi6ndi>iframe.component-frame {
z-index: 100;
}
#zoid-paypal-buttons-uid_5a4a5d3b4f_mda6ndi6ndi>iframe.prerender-frame {
transition: opacity .2s linear;
z-index: 200;
}
#zoid-paypal-buttons-uid_5a4a5d3b4f_mda6ndi6ndi>iframe.visible {
opacity: 1;
}
#zoid-paypal-buttons-uid_5a4a5d3b4f_mda6ndi6ndi>iframe.invisible {
opacity: 0;
pointer-events: none;
}
#zoid-paypal-buttons-uid_5a4a5d3b4f_mda6ndi6ndi>.smart-menu {
position: absolute;
z-index: 300;
top: 0;
left: 0;
width: 100%;
}
</style><iframe allowtransparency="true"
name="__zoid__paypal_buttons__eyJzZW5kZXIiOnsiZG9tYWluIjoiaHR0cHM6Ly93d3cuZ29kZmxvcmEuY29tIn0sIm1ldGFEYXRhIjp7IndpbmRvd1JlZiI6eyJ0eXBlIjoicGFyZW50IiwiZGlzdGFuY2UiOjB9fSwicmVmZXJlbmNlIjp7InR5cGUiOiJyYXciLCJ2YWwiOiJ7XCJ1aWRcIjpcInpvaWQtcGF5cGFsLWJ1dHRvbnMtdWlkXzVhNGE1ZDNiNGZfbWRhNm5kaTZuZGlcIixcImNvbnRleHRcIjpcImlmcmFtZVwiLFwidGFnXCI6XCJwYXlwYWwtYnV0dG9uc1wiLFwiY2hpbGREb21haW5NYXRjaFwiOntcIl9fdHlwZV9fXCI6XCJyZWdleFwiLFwiX192YWxfX1wiOlwiXFxcXC5wYXlwYWxcXFxcLihjb218Y24pKDpcXFxcZCspPyRcIn0sXCJ2ZXJzaW9uXCI6XCIxMF8zXzNcIixcInByb3BzXCI6e1wiZW52XCI6XCJwcm9kdWN0aW9uXCIsXCJjb21taXRcIjp0cnVlLFwic3R5bGVcIjp7XCJsYWJlbFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJsYXlvdXRcIjpcImhvcml6b250YWxcIixcImNvbG9yXCI6XCJnb2xkXCIsXCJzaGFwZVwiOlwicmVjdFwiLFwidGFnbGluZVwiOmZhbHNlLFwiaGVpZ2h0XCI6NTIsXCJwZXJpb2RcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwibWVudVBsYWNlbWVudFwiOlwiYmVsb3dcIixcImRpc2FibGVNYXhXaWR0aFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJkaXNhYmxlTWF4SGVpZ2h0XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImJvcmRlclJhZGl1c1wiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn19LFwiZnVuZGluZ1wiOntcImRpc2FsbG93ZWRcIjpbXCJjcmVkaXRcIl19LFwib25BcHByb3ZlXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfZGExNGYxNzBlMF9tZGE2bmRpNm5kaVwiLFwibmFtZVwiOlwiYm91bmQgdmFsdWVcIn19LFwiY3JlYXRlT3JkZXJcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF9hYjM2MWE2NDBjX21kYTZuZGk2bmRpXCIsXCJuYW1lXCI6XCJib3VuZCB2YWx1ZVwifX0sXCJjc3BOb25jZVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJhbGxvd0JpbGxpbmdQYXltZW50c1wiOnRydWUsXCJhbW91bnRcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiYXBpU3RhZ2VIb3N0XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImFwcGxlUGF5XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImFwcGxlUGF5U3VwcG9ydFwiOmZhbHNlLFwiYnJhbmRlZFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJidXR0b25Mb2NhdGlvblwiOlwid3d3LmdvZGZsb3JhLmNvbVwiLFwiYnV0dG9uU2Vzc2lvbklEXCI6XCJ1aWRfMzQ5MWFlMGU2OV9tZGE2bmRpNm5kaVwiLFwiYnV0dG9uU2l6ZVwiOlwiaHVnZVwiLFwiYnV5ZXJDb3VudHJ5XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImNsaWVudEFjY2Vzc1Rva2VuXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImN1c3RvbWVySWRcIjpcIlwiLFwiY2xpZW50SURcIjpcIkFVd29SbHYzaVozanQzbzNoaGNmdF90WjVnNnR2ZWZFcGpDZjlZTkdlSDdxOHBfV3JhbGVpdGtLZkxuV0lzOEhMcHphbGdSQTVBTVQwQllPXCIsXCJjbGllbnRNZXRhZGF0YUlEXCI6XCJ1aWRfNjhhMTIyZGQ3Nl9tZGE2bmRpNm5kaVwiLFwiY29tcG9uZW50c1wiOltcImJ1dHRvbnNcIl0sXCJjcmVhdGVCaWxsaW5nQWdyZWVtZW50XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcImNyZWF0ZVN1YnNjcmlwdGlvblwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJjcmVhdGVWYXVsdFNldHVwVG9rZW5cIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiY3NwXCI6e1wibm9uY2VcIjpcIlwifSxcImN1cnJlbmN5XCI6XCJVU0RcIixcImRlYnVnXCI6ZmFsc2UsXCJkaXNhYmxlQ2FyZFwiOltdLFwiZGlzYWJsZUZ1bmRpbmdcIjpbXCJjYXJkXCIsXCJiYW5jb250YWN0XCIsXCJibGlrXCIsXCJlcHNcIixcImdpcm9wYXlcIixcImlkZWFsXCIsXCJtZXJjYWRvcGFnb1wiLFwibXliYW5rXCIsXCJwMjRcIixcInNlcGFcIixcInNvZm9ydFwiLFwidmVubW9cIl0sXCJkaXNhYmxlU2V0Q29va2llXCI6dHJ1ZSxcImRpc3BsYXlPbmx5XCI6W10sXCJlbmFibGVGdW5kaW5nXCI6W1wicGF5bGF0ZXJcIl0sXCJlbmFibGVUaHJlZURvbWFpblNlY3VyZVwiOmZhbHNlLFwiZW5hYmxlVmF1bHRcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiZXhwZXJpbWVudFwiOntcImVuYWJsZVZlbm1vXCI6ZmFsc2UsXCJ2ZW5tb1ZhdWx0V2l0aG91dFB1cmNoYXNlXCI6ZmFsc2V9LFwiZXhwZXJpbWVudGF0aW9uXCI6e30sXCJmbG93XCI6XCJwdXJjaGFzZVwiLFwiZnVuZGluZ0VsaWdpYmlsaXR5XCI6e1wicGF5cGFsXCI6e1wiZWxpZ2libGVcIjp0cnVlLFwidmF1bHRhYmxlXCI6ZmFsc2V9LFwicGF5bGF0ZXJcIjp7XCJlbGlnaWJsZVwiOmZhbHNlLFwidmF1bHRhYmxlXCI6ZmFsc2UsXCJwcm9kdWN0c1wiOntcInBheUluM1wiOntcImVsaWdpYmxlXCI6ZmFsc2UsXCJ2YXJpYW50XCI6bnVsbH0sXCJwYXlJbjRcIjp7XCJlbGlnaWJsZVwiOmZhbHNlLFwidmFyaWFudFwiOm51bGx9LFwicGF5bGF0ZXJcIjp7XCJlbGlnaWJsZVwiOmZhbHNlLFwidmFyaWFudFwiOm51bGx9fX0sXCJjYXJkXCI6e1wiZWxpZ2libGVcIjpmYWxzZSxcImJyYW5kZWRcIjp0cnVlLFwiaW5zdGFsbG1lbnRzXCI6ZmFsc2UsXCJ2ZW5kb3JzXCI6e1widmlzYVwiOntcImVsaWdpYmxlXCI6dHJ1ZSxcInZhdWx0YWJsZVwiOnRydWV9LFwibWFzdGVyY2FyZFwiOntcImVsaWdpYmxlXCI6dHJ1ZSxcInZhdWx0YWJsZVwiOnRydWV9LFwiYW1leFwiOntcImVsaWdpYmxlXCI6dHJ1ZSxcInZhdWx0YWJsZVwiOnRydWV9LFwiZGlzY292ZXJcIjp7XCJlbGlnaWJsZVwiOmZhbHNlLFwidmF1bHRhYmxlXCI6dHJ1ZX0sXCJoaXBlclwiOntcImVsaWdpYmxlXCI6ZmFsc2UsXCJ2YXVsdGFibGVcIjpmYWxzZX0sXCJlbG9cIjp7XCJlbGlnaWJsZVwiOmZhbHNlLFwidmF1bHRhYmxlXCI6dHJ1ZX0sXCJqY2JcIjp7XCJlbGlnaWJsZVwiOmZhbHNlLFwidmF1bHRhYmxlXCI6dHJ1ZX0sXCJtYWVzdHJvXCI6e1wiZWxpZ2libGVcIjp0cnVlLFwidmF1bHRhYmxlXCI6dHJ1ZX0sXCJkaW5lcnNcIjp7XCJlbGlnaWJsZVwiOnRydWUsXCJ2YXVsdGFibGVcIjp0cnVlfSxcImN1cFwiOntcImVsaWdpYmxlXCI6dHJ1ZSxcInZhdWx0YWJsZVwiOnRydWV9fSxcImd1ZXN0RW5hYmxlZFwiOmZhbHNlfSxcInZlbm1vXCI6e1wiZWxpZ2libGVcIjpmYWxzZSxcInZhdWx0YWJsZVwiOmZhbHNlfSxcIml0YXVcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcImNyZWRpdFwiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwiYXBwbGVwYXlcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcInNlcGFcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcImlkZWFsXCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJiYW5jb250YWN0XCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJnaXJvcGF5XCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJlcHNcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcInNvZm9ydFwiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwibXliYW5rXCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJwMjRcIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcIndlY2hhdHBheVwiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwicGF5dVwiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwiYmxpa1wiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwidHJ1c3RseVwiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwib3h4b1wiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwiYm9sZXRvXCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJib2xldG9iYW5jYXJpb1wiOntcImVsaWdpYmxlXCI6ZmFsc2V9LFwibWVyY2Fkb3BhZ29cIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcIm11bHRpYmFuY29cIjp7XCJlbGlnaWJsZVwiOmZhbHNlfSxcInNhdGlzcGF5XCI6e1wiZWxpZ2libGVcIjpmYWxzZX0sXCJwYWlkeVwiOntcImVsaWdpYmxlXCI6ZmFsc2V9fSxcImZ1bmRpbmdTb3VyY2VcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwiZ2V0UGFnZVVybFwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzM2MDFjNTI2NThfbWRhNm5kaTZuZGlcIixcIm5hbWVcIjpcImdldFBhZ2VVcmxcIn19LFwiZ2V0UG9wdXBCcmlkZ2VcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF9kYTc4NmEwMDkyX21kYTZuZGk2bmRpXCIsXCJuYW1lXCI6XCJnZXRQb3B1cEJyaWRnZVwifX0sXCJnZXRQcmVyZW5kZXJEZXRhaWxzXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfOTY1ZTUyMTM1NF9tZGE2bmRpNm5kaVwiLFwibmFtZVwiOlwiZ2V0UHJlcmVuZGVyRGV0YWlsc1wifX0sXCJnZXRRdWVyaWVkRWxpZ2libGVGdW5kaW5nXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfYmI4ZDUwMzkyOF9tZGE2bmRpNm5kaVwiLFwibmFtZVwiOlwiZ2V0UXVlcmllZEVsaWdpYmxlRnVuZGluZ1wifX0sXCJob3N0ZWRCdXR0b25JZFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJpbnRlbnRcIjpcImNhcHR1cmVcIixcImpzU2RrTGlicmFyeVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJsb2NhbGVcIjp7XCJjb3VudHJ5XCI6XCJVU1wiLFwibGFuZ1wiOlwiZW5cIn0sXCJtZXJjaGFudElEXCI6W10sXCJtZXJjaGFudFJlcXVlc3RlZFBvcHVwc0Rpc2FibGVkXCI6ZmFsc2UsXCJtZXNzYWdlXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcIm5vbmNlXCI6XCJcIixcIm9uQ2FuY2VsXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcIm9uQ2xpY2tcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwib25Db21wbGV0ZVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJvbkluaXRcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF8zODdlZmUyMzFhX21kYTZuZGk2bmRpXCIsXCJuYW1lXCI6XCJvbkluaXRcIn19LFwib25NZXNzYWdlQ2xpY2tcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF9iZTc4NWIzNjMxX21kYTZuZGk2bmRpXCIsXCJuYW1lXCI6XCJvbk1lc3NhZ2VDbGlja1wifX0sXCJvbk1lc3NhZ2VIb3ZlclwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzYxZGEyMTlhNmZfbWRhNm5kaTZuZGlcIixcIm5hbWVcIjpcIm9uTWVzc2FnZUhvdmVyXCJ9fSxcIm9uTWVzc2FnZVJlYWR5XCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfNzk1N2M3NDA1OF9tZGE2bmRpNm5kaVwiLFwibmFtZVwiOlwib25NZXNzYWdlUmVhZHlcIn19LFwib25TaGlwcGluZ0FkZHJlc3NDaGFuZ2VcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwib25TaGlwcGluZ0NoYW5nZVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJvblNoaXBwaW5nT3B0aW9uc0NoYW5nZVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJoYXNTaGlwcGluZ0NhbGxiYWNrXCI6ZmFsc2UsXCJwYWdlVHlwZVwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJwYXJ0bmVyQXR0cmlidXRpb25JRFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJwYXltZW50TWV0aG9kTm9uY2VcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwicGF5bWVudE1ldGhvZFRva2VuXCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInBheW1lbnRSZXF1ZXN0XCI6e1wiX190eXBlX19cIjpcInVuZGVmaW5lZFwifSxcInBsYXRmb3JtXCI6XCJkZXNrdG9wXCIsXCJyZWZlcnJlckRvbWFpblwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn0sXCJyZW1lbWJlclwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzRmZDZhYmQ2MTdfbWRhNm5kaTZuZGlcIixcIm5hbWVcIjpcInJlbWVtYmVyXCJ9fSxcInJlbWVtYmVyZWRcIjpbXSxcInJlbmRlcmVkQnV0dG9uc1wiOltcInBheXBhbFwiXSxcInNlc3Npb25JRFwiOlwidWlkXzY4YTEyMmRkNzZfbWRhNm5kaTZuZGlcIixcInNka0NvcnJlbGF0aW9uSURcIjpcImY4NjUwMDQ1MGViOTlcIixcInNlc3Npb25TdGF0ZVwiOntcImdldFwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkX2E4NTk0NDFlY2JfbWRhNm5kaTZuZGlcIixcIm5hbWVcIjpcImdldFwifX0sXCJzZXRcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF9iMTgxZDljN2Q2X21kYTZuZGk2bmRpXCIsXCJuYW1lXCI6XCJzZXRcIn19fSxcImdldFNob3BwZXJJbnNpZ2h0c1VzZWRcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF8zZTY3MDNjYzBkX21kYTZuZGk2bmRpXCIsXCJuYW1lXCI6XCJDclwifX0sXCJzdGFnZUhvc3RcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwic3RvcmFnZUlEXCI6XCJ1aWRfOTg0ZGZkZDQ4MV9tZGE2bmRpNm5kaVwiLFwic3RvcmFnZVN0YXRlXCI6e1wiZ2V0XCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfNzMwYTY5MjI0MF9tZGE2bmRpNm5kaVwiLFwibmFtZVwiOlwiZ2V0XCJ9fSxcInNldFwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkX2IxYWE0NjQ2YWZfbWRhNm5kaTZuZGlcIixcIm5hbWVcIjpcInNldFwifX19LFwic3VwcG9ydGVkTmF0aXZlQnJvd3NlclwiOmZhbHNlLFwic3VwcG9ydHNQb3B1cHNcIjp0cnVlLFwidGVzdFwiOntcImFjdGlvblwiOlwiY2hlY2tvdXRcIn0sXCJ1c2VyRXhwZXJpZW5jZUZsb3dcIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwidXNlcklEVG9rZW5cIjp7XCJfX3R5cGVfX1wiOlwidW5kZWZpbmVkXCJ9LFwidmF1bHRcIjpmYWxzZSxcIndhbGxldFwiOntcIl9fdHlwZV9fXCI6XCJ1bmRlZmluZWRcIn19LFwiZXhwb3J0c1wiOntcImluaXRcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF8yZDM2YWYyYzVmX21kYTZuZGk2bmRpXCIsXCJuYW1lXCI6XCJpbml0XCJ9fSxcImNsb3NlXCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfMmYyYzFjOTU2Zl9tZGE2bmRpNm5kaVwiLFwibmFtZVwiOlwiY2xvc2U6Om1lbW9pemVkXCJ9fSxcImNoZWNrQ2xvc2VcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF83M2FlYmI0ZTA4X21kYTZuZGk2bmRpXCIsXCJuYW1lXCI6XCJjaGVja0Nsb3NlXCJ9fSxcInJlc2l6ZVwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkX2U4NDMyOGUyYjNfbWRhNm5kaTZuZGlcIixcIm5hbWVcIjpcIl9uXCJ9fSxcIm9uRXJyb3JcIjp7XCJfX3R5cGVfX1wiOlwiY3Jvc3NfZG9tYWluX2Z1bmN0aW9uXCIsXCJfX3ZhbF9fXCI6e1wiaWRcIjpcInVpZF8zYTA3MjFiOWE1X21kYTZuZGk2bmRpXCIsXCJuYW1lXCI6XCJxblwifX0sXCJzaG93XCI6e1wiX190eXBlX19cIjpcImNyb3NzX2RvbWFpbl9mdW5jdGlvblwiLFwiX192YWxfX1wiOntcImlkXCI6XCJ1aWRfNTBmZmY4ZTczNl9tZGE2bmRpNm5kaVwiLFwibmFtZVwiOlwiZ25cIn19LFwiaGlkZVwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzU4NTE2YmFlNzlfbWRhNm5kaTZuZGlcIixcIm5hbWVcIjpcInZuXCJ9fSxcImV4cG9ydFwiOntcIl9fdHlwZV9fXCI6XCJjcm9zc19kb21haW5fZnVuY3Rpb25cIixcIl9fdmFsX19cIjp7XCJpZFwiOlwidWlkXzJmMDE3MjEzNjRfbWRhNm5kaTZuZGlcIixcIm5hbWVcIjpcIlduXCJ9fX19In19__"
title="PayPal" allowpaymentrequest="allowpaymentrequest" scrolling="no" id="jsx-iframe-7a4df2da6e" 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_d810cbaa2a_mda6ndi6ndi__" 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 class="product-info__social-sharing mt-8 notranslate">
<div class="text-xs leading-[1.7] ">Share the love</div>
<div class="product-info__social-sharing-wrapper flex items-center">
<a target="_blank" data-track="social_share" href="//www.facebook.com/sharer.php?u=https://www.godflora.com/products/unisex-vintage-spanish-football-print-t-shirt" class="text-current no-underline flex justify-center items-center dj_skin_text share-facebook ">
<svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M17.268 6.005h-1.917c-1.503 0-1.794.714-1.794 1.764v2.313h3.588l-.468 3.621h-3.12V23H9.816v-9.294H6.687v-3.624h3.129v-2.67c0-3.099 1.893-4.788 4.659-4.788 1.326 0 2.463.099 2.796.144v3.237h-.003z" fill="currentColor"></path></svg>
</a>
<a target="_blank" data-track="social_share" href="//twitter.com/share?text=Unisex%20Vintage%20Spanish%20National%20Football%20Print%20T-Shirt&url=https://www.godflora.com/products/unisex-vintage-spanish-football-print-t-shirt" class="text-current no-underline flex justify-center items-center dj_skin_text share-twitter">
<svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path d="M21.072 8.24c0 7.929-5.146 13.637-12.715 13.888-3.201.25-5.394-.734-7.357-2.22 2.193.251 5.146-.483 6.596-1.986-2.192 0-3.43-1.252-4.155-2.952h1.963c-1.963-.752-3.449-2.237-3.449-4.707.477.25.973.483 1.963.483C2.203 9.762 1.23 6.541 2.45 4.554c2.193 2.47 4.881 4.707 9.32 4.94-1.238-4.94 5.146-7.445 7.835-4.206 1.237-.25 1.962-.734 2.918-1.253-.248 1.253-.973 1.987-1.963 2.47.972 0 1.715-.25 2.44-.734-.23.985-1.203 1.987-1.928 2.47z" fill="currentColor"></path></svg>
</a>
<a target="_blank" data-track="social_share" href="//pinterest.com/pin/create/button/?url=https://www.godflora.com/products/unisex-vintage-spanish-football-print-t-shirt&media=//img.fantaskycdn.com/af4c86b12177d0ae43ff832f716f26c3_1024x1024.jpeg&description=Unisex%20Vintage%20Spanish%20National%20Football%20Print%20T-Shirt" class="text-current no-underline flex justify-center items-center dj_skin_text share-pinterest">
<svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.5 17.971a3.409 3.409 0 0 1-2.88-1.415l-.783 2.923c-.373 1.14-.9 2.226-1.565 3.23-.055.164-.513.491-.513.491a2.166 2.166 0 0 1-.308-.816 11.62 11.62 0 0 1 .043-3.53c.228-.961 1.468-6.114 1.468-6.114a4.393 4.393 0 0 1-.374-1.828c0-1.709 1.01-2.989 2.264-2.989.869-.012 1.584.669 1.597 1.523.002.07-.002.14-.01.21a24.3 24.3 0 0 1-1.037 4.098c-.246.956.343 1.927 1.316 2.169.174.043.354.061.532.052 2.225 0 3.937-2.304 3.937-5.632.082-2.68-2.062-4.918-4.79-5a4.645 4.645 0 0 0-.447.006c-2.99-.125-5.519 2.155-5.646 5.093a4.734 4.734 0 0 0 .92 3.057c.089.095.122.228.089.353-.095.386-.309 1.232-.35 1.4-.056.232-.179.279-.42.17a5.476 5.476 0 0 1-2.54-4.769c0-3.877 2.87-7.444 8.274-7.444 4.055-.2 7.509 2.867 7.714 6.851.005.088.008.175.009.262.012 4.234-2.71 7.65-6.5 7.65z" fill="currentColor"></path></svg>
</a>
</div>
</div>
<spz-render layout="container" id="product-detail-featured" manual="" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
<template> ${function(){ const variantData = data.variant ||
{"id":"aa3996d1-a7d7-418e-baff-cb159320529d","product_id":"a5262d71-b695-464c-b031-e5edcac0bfa4","title":"Red-S","weight_unit":"g","inventory_quantity":999,"sku":"1793221626931073026","barcode":"","position":1,"option1":"Red","option2":"S","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/af4c86b12177d0ae43ff832f716f26c3.jpeg","path":"af4c86b12177d0ae43ff832f716f26c3.jpeg","width":1250,"height":1250,"alt":"e96b297313222dee85f05e8a712f9d5e","aspect_ratio":1},"wholesale_price":[{"price":20.89,"min_quantity":1}],"weight":"230","compare_at_price":"34.89","price":"20.89","retail_price":"34.89","available":true,"url":"\/products\/unisex-vintage-spanish-football-print-t-shirt?variant=aa3996d1-a7d7-418e-baff-cb159320529d","available_quantity":999999999,"options":[{"name":"Color","value":"Red"},{"name":"Size","value":"S"}],"off_ratio":40,"flashsale_info":[],"sales":1};
return ` <div class="mt-5 body-minus-2">
</div> ` }()} </template>
<div class="mt-5 body-minus-2">
</div>
</spz-render>
<div class="product-info-desc mt-9 lg:mt-6">
<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 lg:body-plus-3">Shipping Infomation</div>
<svg class="flex-shrink-0 rotate-180" width="22" height="22" xmlns="http://www.w3.org/2000/svg">
<path d="M14.576 10.573a.6.6 0 0 1 0 .849L8.99 17.008a.3.3 0 0 1-.424 0l-.51-.51a.3.3 0 0 1 0-.424l5.078-5.077L8.057 5.92a.3.3 0 0 1 0-.424l.509-.509a.3.3 0 0 1 .424 0l5.586 5.586z" fill="currentColor"></path>
</svg>
</div>
<div class="product-info-desc-item-content mce-content i-spzhtml-accordion-content">
<p><span>1. Worldwide shipping.</span><br><span>2. Estimated delivery time is </span><strong><span>10-20</span></strong><span> days.</span><br><span>3. Standard Shipping:</span><span><br>order over $89 -
</span><span><strong>Free</strong></span><br><span>order $0-$88.99 - $13.99</span><br><span><br><br><br></span></p>
</div>
</section>
</spz-accordion>
</div>
<div class="product-info-desc mt-9 lg:mt-6">
<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 lg:body-plus-3">Return & Exchange </div>
<svg class="flex-shrink-0 rotate-180" width="22" height="22" xmlns="http://www.w3.org/2000/svg">
<path d="M14.576 10.573a.6.6 0 0 1 0 .849L8.99 17.008a.3.3 0 0 1-.424 0l-.51-.51a.3.3 0 0 1 0-.424l5.078-5.077L8.057 5.92a.3.3 0 0 1 0-.424l.509-.509a.3.3 0 0 1 .424 0l5.586 5.586z" fill="currentColor"></path>
</svg>
</div>
<div class="product-info-desc-item-content mce-content i-spzhtml-accordion-content">
<p>If you are not happy with your purchase, we are ready to help!</p>
<p></p>
<p>Requirement:</p>
<ol>
<li>The item is in its original packaging.</li>
<li>The item isn't used or damaged.</li>
<li>The item should be returned or exchanged within 30 days.</li>
</ol>
<p>Click <a href="https://www.slatenew.com/pages/return-exchange?st=">here</a> for more details.</p>
</div>
</section>
</spz-accordion>
</div>
</div>
<div class="plugin__buy_on_others empty-hidden"></div>
<input name="product_id" type="hidden" value="a5262d71-b695-464c-b031-e5edcac0bfa4"><input name="variant_id" type="hidden" value="aa3996d1-a7d7-418e-baff-cb159320529d"><input name="note" type="hidden">
</form>
<form class="zb-flex zb-flex-col zb-relative zb-w-full">
<div class="zb-overflow-y-auto zb-pb-[100px]">
<div class="zb-flex zb-items-center zb-pb-4 zb-border-b zb-border-t-0 zb-border-l-0 zb-border-r-0 zb-border-solid zb-border-[#eee] md:zb-border-none">
<ljs-render layout="container" class="zb-flex-shrink-0 zb-w-[66px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0 zb-h-[70px] md:zb-hidden" id="smart_recommend_product_image" manual="" template="smart_recommend_product_image_template"></ljs-render>
<div class="zb-w-full">
<div class="zb-line-clamp-2 zb-mb-2 zb-text-sm md:zb-text-base">${product.title}</div>
<div class="zb-flex zb-justify-between zb-items-center">
<spz-render layout="container" template="smart_recommend_price_template" id="smart_recommend_modal_price" manual="">
<div class="zb-flex zb-items-center">
<ljs-currency class="zb-font-semibold zb-text-[22px] zb-text-[#CD201A] zb-mr-2" layout="container" value="${product.min_price_variant.price}"></ljs-currency>
<ljs-currency class="zb-text-[#93989D] zb-text-xs zb-line-through" layout="container" value="${product.min_price_variant.compare_at_price}"
spz-if="${product.min_price_variant.compare_at_price > product.min_price_variant.price ? true : false}"></ljs-currency>
</div>
</spz-render>
<a class="zb-flex zb-items-center zb-cursor-pointer zb-text-[#212B36] zb-no-underline" href="${product.url}?${toQuery({ aid: 'smart_recommend.' + data.show_type + '.' + data.rule_id, ifb: product.ifb || '', cfb: product.cfb || '', scm: data.scm || '', ssp: data.ssp || '' })}">
<span class="zb-text-[13px]">See detail</span>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path d="M13.1714 12.0007L8.22168 7.05093L9.63589 5.63672L15.9999 12.0007L9.63589 18.3646L8.22168 16.9504L13.1714 12.0007Z" fill="#93989D"></path></svg>
</a>
</div>
</div>
</div>
<ljs-variants id="smart_recommend_product_variants" layout="container" template="smart_recommend_product_variant_template" slide="smart_recommend_carousel" disabled-dj-event="" interference="">
</ljs-variants>
<div class="zb-text-sm zb-mb-2">Quantity</div>
<ljs-quantity disabled-dj-event="" layout="fixed" width="150" height="52" min="1" max="999999" value="1" input-class="!zb-text-base" icon-class="!zb-p-3"></ljs-quantity>
</div>
<div class="zb-absolute zb-bottom-0 zb-flex md:zb-flex-col zb-w-full zb-bg-white">
<button class="zb-flex zb-items-center zb-mr-2 rtl:zb-ml-2 rtl:zb-mr-0 md:zb-mb-2 zb-justify-center zb-cursor-pointer zb-w-full zb-border zb-border-solid zb-border-[#313131] zb-bg-white zb-rounded zb-h-[42px]" role="addToCart" type="button"
@tap="smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');">
<span>Add To Cart</span>
</button>
<button class="zb-flex zb-items-center zb-justify-center zb-cursor-pointer zb-w-full zb-bg-[#292929] zb-text-white zb-rounded zb-h-[42px] zb-border-none" type="button" role="buyNow"
@tap="smart_recommend_loading.showLoading;smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');">
<span>Buy Now</span>
</button>
</div>
</form>
POST
<form id="footer__newsletter__form" class="footer__newsletter__form type-text-font-family relative flex items-center md:w-full text-base" action-xhr="/api/customers/newsletters" method="POST" custom-validation="show-first-on-submit"
@submiterror="footer__newsletter__error-ajax.rerender(data=event);footer__newsletter__error-ajax.toggleClass(class='hidden', force=false);">
<input class="footer__newsletter__input clear flex-1 block lg:w-full px-4 lg:px-3" id="footer__newsletter__input" type="text" name="email" placeholder="Enter your email" required="" pattern="([A-Za-z0-9_\-.])+@([A-Za-z0-9_\-.])+\.([A-Za-z]{2,4})"
@input-debounced="footer__newsletter__error-ajax.toggleClass(class='hidden', force=true);">
<button class="footer__newsletter__btn type-text-font-family m-0 flex items-center border-none leading-none" type="submit">
<span class="md:hidden">Subscribe</span>
<svg class="lg:hidden" width="20" height="6" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path opacity=".01" fill="currentColor" d="M0 0h20v6H0z"></path>
<path fill="currentColor" d="M0 2h14v2H0z"></path>
<path fill-rule="evenodd" clip-rule="evenodd" d="m20 3-6 3V0l6 3Z" fill="currentColor"></path>
</svg>
</button>
<div class="footer__newsletter__error-tip" validation-for="footer__newsletter__input" visible-when-invalid="patternMismatch" hidden=""> Please enter a valid email address. </div>
<div class="footer__newsletter__error-tip" validation-for="footer__newsletter__input" visible-when-invalid="valueMissing" hidden=""> Please enter your email address. </div>
<spz-render id="footer__newsletter__error-ajax" class="footer__newsletter__error-tip hidden i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" layout="container" manual=""
i-spzhtml-layout="container">
<template>
<div spz-if="${data.errors && data.errors.length > 0}"> ${data.errors && data.errors[0]} </div>
</template>
</spz-render>
<div class="footer__newsletter__success-tip flex-shrink-0 body-plus-2"> Thanks for subscribing </div>
</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>
<div class="loading items-center justify-center absolute inset-0" role="loading" show="">
<div class="loading-bounce"></div>
</div>
</button>
</div>
</div>
</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>
<div class="loading items-center justify-center absolute inset-0" role="loading" show="">
<div class="loading-bounce"></div>
</div>
</button>
</div>
</div>
</form>
<form class="">
<div class="zb-flex">
<a href="${product.url}?${toQuery({ aid: 'smart_recommend.2.' + data.id, ifb: product.ifb || '', cfb: product.cfb || '', scm: product.scm || data.scm || '', ssp: data.ssp || '' })}" impr="1" imprevt="1" class="zb-w-[132px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0" data-prdct="${product.id}" data-ifb="${product.ifb || ''}" data-cfb="${product.cfb || ''}" data-scm="${product.scm || data.scm || ''}" data-spm="${productIndex}"> <ljs-render layout="container" id="smart_cart_pop_image_${product.id}" template="smart_cart_pop_image_template" manual=""></ljs-render> </a>
<div class="zb-flex zb-flex-col zb-flex-grow zb-justify-between">
<div>
<div class="zb-line-clamp-2 zb-text-sm zb-mb-2">${product.title}</div> <ljs-render layout="container" id="smart_cart_pop_price_${product.id}" template="smart_cart_pop_price_template" manual=""></ljs-render>
</div>
<div>
<div class="zb-relative zb-w-full zb-cursor-pointer">
<div class="zb-border zb-border-solid zb-border-[#eee] zb-px-3 zb-py-[10px] zb-flex zb-items-center zb-justify-between zb-font-semibold zb-text-sm zb-rounded-sm"
@tap="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);smart_cart_pop_variant_${product.id}_mobile.toggleClass(class=zb-hidden);smart_cart_pop_variant_${product.id}_pc.toggleClass(class=smart_cart_pop_variant_pc_show,force=true);smart_cart_pop_variant_modal_${product.id}.open"
spz-if="${!!(product.options && product.options.length && product.options.length > 0) && data.config.variant_select_visible}"> <ljs-render manual="" layout="container" id="smart_cart_pop_variant_text_${product.id}"
template="smart_cart_pop_variant_text_template"></ljs-render> <svg id="smart_pop_variant-select-${product.id}" width="12" height="8" class="zb-ml-2" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M6.00002 7.06738C6.19244 7.06775 6.38498 6.99453 6.5318 6.84772C6.54504 6.83447 6.55769 6.82086 6.56973 6.8069L11.1251 2.25152C11.418 1.95863 11.418 1.48375 11.1251 1.19086C10.8322 0.897968 10.3573 0.897968 10.0645 1.19086L6.00003 5.25529L1.9356 1.19086C1.64271 0.897968 1.16784 0.897968 0.874943 1.19086C0.58205 1.48375 0.58205 1.95863 0.874943 2.25152L5.43033 6.8069C5.44237 6.82086 5.45502 6.83447 5.46826 6.84772C5.61507 6.99453 5.8076 7.06775 6.00002 7.06738Z"
fill="#0A1533"></path>
</svg> </div> <ljs-lightbox layout="nodisplay" disable-unmount="" class="smart_cart_pop_lightbox_pc" id="smart_cart_pop_variant_modal_${product.id}" @close="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);">
<div id="smart_cart_pop_variant_${product.id}_pc" class="zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template"
onclick="event.stopPropagation()" disabled-dj-event="" interference=""> </ljs-variants></div>
</ljs-lightbox>
</div>
<div class="zb-mt-3"> <button product-id="${product.id}" id="smart_cart_pop_atc_btn_${product.id}"
class="zb-flex zb-items-center zb-justify-center zb-w-full zb-text-white zb-py-[10px] zb-h-9 zb-text-xs zb-font-normal zb-border-none zb-rounded-[4px] smart_cart_pop_atc_btn_bg" type="button" role="addToCart"
@tap="smart_cart_pop_loading_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_btn_${product.id}.toggleClass(class=zb-pointer-events-none);custom-func.addATCHook(activity_id='${data.id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${product.scm || data.scm}',ssp='${data.ssp}',spm='${data.spmBase}.${productIndex}')">
<ljs-render layout="container" id="smart_cart_pop_atc_${product.id}" template="smart_cart_pop_atc_template" mamual="" class="notranslate"> </ljs-render>
<div id="smart_cart_pop_added_${product.id}" class="zb-hidden"><span class="zb-flex zb-justify-center zb-gap-1"><svg width="14" height="15" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M8 16.5006C3.58171 16.5006 0 12.9183 0 8.5C0 4.08171 3.58171 0.5 8 0.5C12.4183 0.5 16 4.08171 16 8.5C16 12.9183 12.4183 16.5006 8 16.5006ZM8 2.04344C4.21314 2.04344 1.54287 4.71371 1.54287 8.50057C1.54287 12.2874 4.21314 14.9577 8 14.9577C11.7869 14.9577 14.4571 12.2874 14.4571 8.50057C14.4571 4.71371 11.7869 2.04344 8 2.04344ZM7.26057 11.1909L7.12229 11.3286L7.09543 11.3017C7.02286 11.336 6.94286 11.3577 6.85714 11.3577C6.73543 11.3577 6.62857 11.3109 6.536 11.2463L6.52229 11.2594L6.45371 11.1909C6.45314 11.1903 6.45314 11.1903 6.45257 11.1897L4.09771 8.83486L4.90629 8.02686L6.85714 9.97771L11.1629 5.67143L11.9714 6.48L7.26171 11.1897C7.26114 11.1903 7.26114 11.1903 7.26057 11.1909Z"
fill="white"></path>
</svg>Added</span></div>
<div id="smart_cart_pop_loading_${product.id}" class="zb-hidden">
<div class="smart_cart_pop_loading"></div>
</div>
</button> </div>
</div>
</div>
</div>
<div id="smart_cart_pop_variant_${product.id}_mobile" class="zb-hidden md:zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template" onclick="event.stopPropagation()"
disabled-dj-event="" interference=""> </ljs-variants></div>
</form>
<form class="modal__form-style_template7" id="modal__form" style="background: rgba(255,255,255,1) none no-repeat scroll center center/cover; width: 726px; ">
<div class="modal__image-wrapper" style="background: rgba(255,255,255,1) url(https://cdn.shoplazza.com/a101b38d740e6690f763cb7a15cbe2f7.gif) no-repeat scroll center center/contain; "></div>
<div class="modal__content">
<div class="modal__title">
<p><span style="font-size: 28px;"><span style="font-family: 'arial black', 'avant garde';">GIFTS FOR YOU</span>🎁</span></p>
<p><span style="font-size: 20px;"><span style="color: #ff0000; font-family: arial, helvetica, sans-serif;"><strong> 💰</strong></span><strong style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;">BUY 2 ITEMS -
10% OFF </span></strong><strong style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;"> </span></strong></span></p>
<p><span style="font-size: 20px;">💰<strong style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;">BUY 4 ITEMS - 15% OFF</span></strong></span></p>
<p><span style="font-size: 20px;"><span style="font-family: arial, helvetica, sans-serif;"><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">💰</span><strong style="color: #ff0000;"><span
style="font-family: arial, helvetica, sans-serif;">BUY 5 ITEMS - 20% OFF</span></strong></span></span></p>
<p><span style="font-size: 20px;"><strong style="color: #ff0000;"><span style="font-family: arial, helvetica, sans-serif;">...</span></strong></span></p>
<p><strong style="color: #ff6600; font-size: 20px;"><span style="font-family: arial, helvetica, sans-serif;">EXTRA 5% DISCOUNT OFF</span></strong></p>
<p><strong style="color: #ff6600; font-size: 20px;"><span style="font-family: arial, helvetica, sans-serif;">(only first order)</span></strong></p>
</div>
<div class="notranslate modal__copy-btn modal__coupon_value " style="color: rgba(208,2,27,1); border-color: rgba(208,2,27,1); ">NICE5</div>
<textarea id="modal__coupon_value" style="position: absolute; left: -99999px;">NICE5</textarea>
<div class="modal__copy-tips modal__copy-btn" style="color: rgba(208,2,27,1); border-color: rgba(208,2,27,1); ">Click to copy</div>
<div id="modal__close-btn" class="d-flex align-items-center justify-content-center modal__button " style="background-color: rgba(0,0,0,1); border-color: rgba(0,0,0,1); "><span style="color: rgb(255, 255, 255); font-size: 16px; font-weight: bold;"
data-mce-style="color: #ffffff; font-size: 16px; font-weight: bold;">SHOP NOW</span></div>
<div class="modal__close-icon notranslate">×</div>
</div>
</form>
POST //translate.googleapis.com/translate_voting?client=te
<form id="goog-gt-votingForm" action="//translate.googleapis.com/translate_voting?client=te" method="post" target="votingFrame" class="VIpgJd-yAWNEb-hvhgNd-aXYTce"><input type="text" name="sl" id="goog-gt-votingInputSrcLang"><input type="text"
name="tl" id="goog-gt-votingInputTrgLang"><input type="text" name="query" id="goog-gt-votingInputSrcText"><input type="text" name="gtrans" id="goog-gt-votingInputTrgText"><input type="text" name="vote" id="goog-gt-votingInputVote"></form>
Text Content
${(function(){ const get_random_six_digits = () => { return Math.random().toString().slice(-6) }; const wholesale_enabled = false; const setting_product_image_display = "100%"; 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 = false && ((+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.url : data.url; 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 ? `` : "Sold out" } Mixed Lot ${DATA.TITLE} ${ data.price_min != data.price_max ? `From ` : ` ` } +${data.remainInvisibleThumbCount} ` })()} 5% Discount on 1st Order! 🌍 - Code: NEW5 🚚 FREE Worldwide Shipping over $89! 🚚 5% Discount on 1st Order! 🌍 - Code: NEW5 🚚 FREE Worldwide Shipping over $89! 🚚 🚚 FREE Worldwide Shipping over $89! 🚚 5% Discount on 1st Order! 🌍 - Code: NEW5 Search Powered by Google Übersetzer English,Deutsch,Français,Русский,Italiano,Español,Português,Hrvatski jezik,dansk,Ελληνικά,Lietuvis,norsk,Nederlands,svenska,Polski,Suomalainen,العربية,繁體中文,čeština,Latvietis,Eestlane,Magyar,日本語,한국어 EUR * United States Dollars (USD) * Euro (EUR) * United Kingdom Pounds (GBP) * Canadian Dollars (CAD) * United Arab Emirates Dirham (AED) * Saudi Riyal (SAR) * Qatari Rial (QAR) * Kuwaiti Dinar (KWD) * Belarusian Ruble (BYN) * Croatian Kuna (HRK) * Hungarian Forint (HUF) * Icelandic Kronur (ISK) * Japanese Yen (JPY) * Macedonia Denar (MKD) * Netherlands Antillean Guilder (ANG) * New Zealand Dollars (NZD) * Norwegian Kroner (NOK) * Polish Zlotych (PLN) * Romanian Lei (RON) * Singapore Dollars (SGD) * South Korean Won (KRW) * Swedish Kronor (SEK) * Swiss Francs (CHF) * Australian Dollars (AUD) * Ukrainian Hryvnia (UAH) * Bahraini Dinar (BHD) * Omani Rial (OMR) * Log in * Create an account ${data.data && data.data.count} * Home * Hot Sales * New Arrivals * #2024-Collection Style * #2024-Racing Design🏎️ * #2024-Football League⚽ * #2024-Hooper style🏀 * #2024-Anime style🌀 * #2024-Street style😎 * #2024-Couple style💕 * #2024-Old Money💰 * T-Shirts * Oversized T-Shirts * Short Sleeve T-shirts * Long Sleeve T-shirts * Hoodies & Sweatshirts * Hoodies * Sweatshirts * Jackets * Cardigan * Vests/Tanks * Pants * Shorts * SweatPants * Phone Cases * 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: 63898929, title: "Home", url: "\/", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898931, title: "Hot Sales", url: "\/collections\/hot-sales", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898933, title: "New Arrivals", url: "\/collections\/new-arrivals-rf8u", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898935, title: "#2024-Collection Style", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "#2024-Racing Design\ud83c\udfce\ufe0f", url: "\/collections\/2024-racing-design", target: "", levels: 0, children: [ ] }, { title: "#2024-Football League\u26bd", url: "\/collections\/2024-football-league", target: "", levels: 0, children: [ ] }, { title: "#2024-Hooper style\ud83c\udfc0", url: "", target: "", levels: 0, children: [ ] }, { title: "#2024-Anime style\ud83c\udf00", url: "\/collections\/2024-anime-style", target: "", levels: 0, children: [ ] }, { title: "#2024-Street style\ud83d\ude0e", url: "\/collections\/2024-street-style", target: "", levels: 0, children: [ ] }, { title: "#2024-Couple style\ud83d\udc95", url: "\/collections\/2024-couple-street-style", target: "", levels: 0, children: [ ] }, { title: "#2024-Old Money\ud83d\udcb0", url: "\/collections\/2024-throwback-style", target: "", levels: 0, children: [ ] }, ] }, { id: 63898955, title: "T-Shirts", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "Oversized T-Shirts", url: "\/collections\/oversized-t-shirts", target: "", levels: 0, children: [ ] }, { title: "Short Sleeve T-shirts", url: "\/collections\/t-shirts", target: "", levels: 0, children: [ ] }, { title: "Long Sleeve T-shirts", url: "\/collections\/long-sleeve-t-shirts", target: "", levels: 0, children: [ ] }, ] }, { id: 63898963, title: "Hoodies & Sweatshirts", url: "\/collections\/hoodies-sweatshirts-b0j3", target: "", levels: 1, product0: null || {}, children: [ { title: "Hoodies", url: "\/collections\/hoodies-atqd", target: "", levels: 0, children: [ ] }, { title: "Sweatshirts", url: "\/collections\/sweatshirts-ogqs", target: "", levels: 0, children: [ ] }, { title: "Jackets", url: "\/collections\/jackets", target: "", levels: 0, children: [ ] }, ] }, { id: 63898973, title: "Cardigan", url: "\/collections\/original-cardigan", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898975, title: "Vests\/Tanks", url: "\/collections\/vests-tanks", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898977, title: "Pants", url: "\/collections\/pants", target: "", levels: 1, product0: null || {}, children: [ { title: "Shorts", url: "\/collections\/shorts", target: "", levels: 0, children: [ ] }, { title: "SweatPants", url: "\/collections\/sweatpants", target: "", levels: 0, children: [ ] }, ] }, { id: 63898983, title: "Phone Cases", url: "\/collections\/phone-cases", target: "", levels: 0, product0: 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} ` })()} * Home * Hot Sales * New Arrivals * #2024-Collection Style * #2024-Racing Design🏎️ * #2024-Football League⚽ * #2024-Hooper style🏀 * #2024-Anime style🌀 * #2024-Street style😎 * #2024-Couple style💕 * #2024-Old Money💰 * T-Shirts * Oversized T-Shirts * Short Sleeve T-shirts * Long Sleeve T-shirts * Hoodies & Sweatshirts * Hoodies * Sweatshirts * Jackets * Cardigan * Vests/Tanks * Pants * Shorts * SweatPants * Phone Cases * 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: 63898929, title: "Home", url: "\/", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898931, title: "Hot Sales", url: "\/collections\/hot-sales", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898933, title: "New Arrivals", url: "\/collections\/new-arrivals-rf8u", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898935, title: "#2024-Collection Style", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "#2024-Racing Design\ud83c\udfce\ufe0f", url: "\/collections\/2024-racing-design", target: "", levels: 0, children: [ ] }, { title: "#2024-Football League\u26bd", url: "\/collections\/2024-football-league", target: "", levels: 0, children: [ ] }, { title: "#2024-Hooper style\ud83c\udfc0", url: "", target: "", levels: 0, children: [ ] }, { title: "#2024-Anime style\ud83c\udf00", url: "\/collections\/2024-anime-style", target: "", levels: 0, children: [ ] }, { title: "#2024-Street style\ud83d\ude0e", url: "\/collections\/2024-street-style", target: "", levels: 0, children: [ ] }, { title: "#2024-Couple style\ud83d\udc95", url: "\/collections\/2024-couple-street-style", target: "", levels: 0, children: [ ] }, { title: "#2024-Old Money\ud83d\udcb0", url: "\/collections\/2024-throwback-style", target: "", levels: 0, children: [ ] }, ] }, { id: 63898955, title: "T-Shirts", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "Oversized T-Shirts", url: "\/collections\/oversized-t-shirts", target: "", levels: 0, children: [ ] }, { title: "Short Sleeve T-shirts", url: "\/collections\/t-shirts", target: "", levels: 0, children: [ ] }, { title: "Long Sleeve T-shirts", url: "\/collections\/long-sleeve-t-shirts", target: "", levels: 0, children: [ ] }, ] }, { id: 63898963, title: "Hoodies & Sweatshirts", url: "\/collections\/hoodies-sweatshirts-b0j3", target: "", levels: 1, product0: null || {}, children: [ { title: "Hoodies", url: "\/collections\/hoodies-atqd", target: "", levels: 0, children: [ ] }, { title: "Sweatshirts", url: "\/collections\/sweatshirts-ogqs", target: "", levels: 0, children: [ ] }, { title: "Jackets", url: "\/collections\/jackets", target: "", levels: 0, children: [ ] }, ] }, { id: 63898973, title: "Cardigan", url: "\/collections\/original-cardigan", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898975, title: "Vests\/Tanks", url: "\/collections\/vests-tanks", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 63898977, title: "Pants", url: "\/collections\/pants", target: "", levels: 1, product0: null || {}, children: [ { title: "Shorts", url: "\/collections\/shorts", target: "", levels: 0, children: [ ] }, { title: "SweatPants", url: "\/collections\/sweatpants", target: "", levels: 0, children: [ ] }, ] }, { id: 63898983, title: "Phone Cases", url: "\/collections\/phone-cases", target: "", levels: 0, product0: 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} ` })()} * Pants * Phone Cases * Shorts * SweatPants English,Deutsch,Français,Русский,Italiano,Español,Português,Hrvatski jezik,dansk,Ελληνικά,Lietuvis,norsk,Nederlands,svenska,Polski,Suomalainen,العربية,繁體中文,čeština,Latvietis,Eestlane,Magyar,日本語,한국어 EUR * United States Dollars (USD) * Euro (EUR) * United Kingdom Pounds (GBP) * Canadian Dollars (CAD) * United Arab Emirates Dirham (AED) * Saudi Riyal (SAR) * Qatari Rial (QAR) * Kuwaiti Dinar (KWD) * Belarusian Ruble (BYN) * Croatian Kuna (HRK) * Hungarian Forint (HUF) * Icelandic Kronur (ISK) * Japanese Yen (JPY) * Macedonia Denar (MKD) * Netherlands Antillean Guilder (ANG) * New Zealand Dollars (NZD) * Norwegian Kroner (NOK) * Polish Zlotych (PLN) * Romanian Lei (RON) * Singapore Dollars (SGD) * South Korean Won (KRW) * Swedish Kronor (SEK) * Swiss Francs (CHF) * Australian Dollars (AUD) * Ukrainian Hryvnia (UAH) * Bahraini Dinar (BHD) * Omani Rial (OMR) * Log in * Create an account ${data.data && data.data.count} Search ${(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. ` })()} * Home * Hot Sales * New Arrivals * #2024-Collection Style * #2024-Collection Style * #2024-Racing Design🏎️ * #2024-Football League⚽ * #2024-Hooper style🏀 * #2024-Anime style🌀 * #2024-Street style😎 * #2024-Couple style💕 * #2024-Old Money💰 * T-Shirts * T-Shirts * Oversized T-Shirts * Short Sleeve T-shirts * Long Sleeve T-shirts * Hoodies & Sweatshirts * Hoodies & Sweatshirts * Hoodies * Sweatshirts * Jackets * Cardigan * Vests/Tanks * Pants * Pants * Shorts * SweatPants * Phone Cases English,Deutsch,Français,Русский,Italiano,Español,Português,Hrvatski jezik,dansk,Ελληνικά,Lietuvis,norsk,Nederlands,svenska,Polski,Suomalainen,العربية,繁體中文,čeština,Latvietis,Eestlane,Magyar,日本語,한국어 EUR * United States Dollars (USD) * Euro (EUR) * United Kingdom Pounds (GBP) * Canadian Dollars (CAD) * United Arab Emirates Dirham (AED) * Saudi Riyal (SAR) * Qatari Rial (QAR) * Kuwaiti Dinar (KWD) * Belarusian Ruble (BYN) * Croatian Kuna (HRK) * Hungarian Forint (HUF) * Icelandic Kronur (ISK) * Japanese Yen (JPY) * Macedonia Denar (MKD) * Netherlands Antillean Guilder (ANG) * New Zealand Dollars (NZD) * Norwegian Kroner (NOK) * Polish Zlotych (PLN) * Romanian Lei (RON) * Singapore Dollars (SGD) * South Korean Won (KRW) * Swedish Kronor (SEK) * Swiss Francs (CHF) * Australian Dollars (AUD) * Ukrainian Hryvnia (UAH) * Bahraini Dinar (BHD) * Omani Rial (OMR) 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(); })(); UNISEX VINTAGE SPANISH NATIONAL FOOTBALL PRINT T-SHIRT ${function() { const variantData = data.variant || {"id":"aa3996d1-a7d7-418e-baff-cb159320529d","product_id":"a5262d71-b695-464c-b031-e5edcac0bfa4","title":"Red-S","weight_unit":"g","inventory_quantity":999,"sku":"1793221626931073026","barcode":"","position":1,"option1":"Red","option2":"S","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/af4c86b12177d0ae43ff832f716f26c3.jpeg","path":"af4c86b12177d0ae43ff832f716f26c3.jpeg","width":1250,"height":1250,"alt":"e96b297313222dee85f05e8a712f9d5e","aspect_ratio":1},"wholesale_price":[{"price":20.89,"min_quantity":1}],"weight":"230","compare_at_price":"34.89","price":"20.89","retail_price":"34.89","available":true,"url":"\/products\/unisex-vintage-spanish-football-print-t-shirt?variant=aa3996d1-a7d7-418e-baff-cb159320529d","available_quantity":999999999,"options":[{"name":"Color","value":"Red"},{"name":"Size","value":"S"}],"off_ratio":40,"flashsale_info":[],"sales":1}; const saveType = "amount"; const saveText = "Save {{saved_amount}}"; const productLabelDiscountOn = false; return ` - ${saveText.replace('\{\{saved_amount\}\}', saveType == 'percentage' ? variantData.off_ratio + '%' : `` )} `; }()} €19.50 €32.58 SPECIAL OFFER 10% OFF FOR 2nd item 10% OFF FOR 3rd item 15% OFF FOR 4th item 20% OFF FOR 5th item CLOSE 10% OFF FOR 2nd item 10% OFF FOR 3rd item 15% OFF FOR 4th item 20% OFF FOR 5th item Extra5% OFF GET NICE5 NICE5 Copy code GIFT OFFER View the GIFT OFFER Purchase 4 to get 1 free gift(s) CLOSE Purchase 4 to get 1 free gift(s) 35 people are viewing right now. Color ${function(){ const optName = "Color"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (': ' + optionValue) : ''; return ` ${optionValueText} ` }()} : Red Red ${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return ` ${tipText} ` }()} Size ${function(){ const optName = "Size"; const optionValue = data.originData.selectData ? data.originData.selectData[optName].value : data.originData.value; const optionValueText = optionValue ? (': ' + optionValue) : ''; return ` ${optionValueText} ` }()} : S S M L XL 3XL XXL ${function(){ const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data); return ` ${tipText} ` }()} Quantity ${function() { const postageFreeAmount = 89; const custom_text = "Buy {amount} more to get FREE Shipping"; const totalPrice = +data.total_price; const diffPrice = postageFreeAmount - totalPrice; const percentDiff = (diffPrice > 0 ? (totalPrice / postageFreeAmount * 100) : 100) + '%'; let tipText = "Your order is free delivery"; if (diffPrice > 0) { tipText = custom_text.replace('{amount}', ``); } return ` ${tipText} `; }()} Buy €83.11 more to get FREE Shipping Add to cart Product was out of stock. Product is unavailable. Share the love ${function(){ const variantData = data.variant || {"id":"aa3996d1-a7d7-418e-baff-cb159320529d","product_id":"a5262d71-b695-464c-b031-e5edcac0bfa4","title":"Red-S","weight_unit":"g","inventory_quantity":999,"sku":"1793221626931073026","barcode":"","position":1,"option1":"Red","option2":"S","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/af4c86b12177d0ae43ff832f716f26c3.jpeg","path":"af4c86b12177d0ae43ff832f716f26c3.jpeg","width":1250,"height":1250,"alt":"e96b297313222dee85f05e8a712f9d5e","aspect_ratio":1},"wholesale_price":[{"price":20.89,"min_quantity":1}],"weight":"230","compare_at_price":"34.89","price":"20.89","retail_price":"34.89","available":true,"url":"\/products\/unisex-vintage-spanish-football-print-t-shirt?variant=aa3996d1-a7d7-418e-baff-cb159320529d","available_quantity":999999999,"options":[{"name":"Color","value":"Red"},{"name":"Size","value":"S"}],"off_ratio":40,"flashsale_info":[],"sales":1}; return ` ` }()} Shipping Infomation 1. Worldwide shipping. 2. Estimated delivery time is 10-20 days. 3. Standard Shipping: order over $89 - Free order $0-$88.99 - $13.99 Return & Exchange If you are not happy with your purchase, we are ready to help! Requirement: 1. The item is in its original packaging. 2. The item isn't used or damaged. 3. The item should be returned or exchanged within 30 days. Click here for more details. Description Product IDSP240522OTP5Sleeve LengthShort SleeveCollar/NecklineRound CollarMaterialCotton BlendPlacket TypePulloversDesign ElementsNoFitLooseWashing ModeMachine WashOccasionLeisure,DailySeasonAll SeasonStyleCasual Yards (cm)SMLXL2XL3XLUK8/1012/1416182022US4/68/1012141618EU36/3840/4244464850Tops& Outwear Length677073767982bust94100106112118124Sleeve Length202021212122Shoulder width444750535659Weight-kg50-6060-7070-8080-9090-100100-110 RECENTLY VIEWED ${function(){ const rules = data.data.rules; return ` ` }()} What's Hot * Vintage Unisex Monaco Monte Carlo Yachting Polo Neck Sweatshirt Zipper Half Open Collar Pullover Sweatshirt Quick Shop * Oversize Disappear Hoodie Quick Shop * Real Madrid Casual Football Printed Jersey T-shirt White Quick Shop * Vintage Unisex Monaco Monte Carlo Yacht Club Hoodie Quick Shop * Men's Ace Of Spades Shorts Performance Shorts Quick Shop * Men's Vintage Print Oversized T-Shirt Quick Shop * Oversized Unisex Contrast Polos Zip Sweatshirt Quick Shop * Vintage Casual Monaco Monte Carlo Yacht Club Hoodie Quick Shop * Unisex Vintage Brazil National Football Oversized T-Shirt Quick Shop * Oversize Teddy Bear Hoodie Quick Shop * Unisex Vintage Brazil National Football Oversized T-Shirt Quick Shop * Teddy Bear Oversized Men's Sweatshirt Quick Shop * Unisex Vintage Oversized Italy National Football Team T-shirt Quick Shop * Oversize Sun Moon Star Ocean Hoodie Quick Shop * Vintage Unisex Monaco Monte Carlo Yacht Club T-Shirt Quick Shop * Vintage Unisex Monte Carlo Country Club Hoodie Sweatshirt Quick Shop * Unisex Vintage Oversized Italy National Football Team T-shirt Quick Shop * Men's Retro Smiley Teddy Bear Print Casual Sports Shorts Quick Shop * Men's Clean "California" Print Oakland Fleece Sweatpants Quick Shop * Men's Oversized Printed Vintage Hoodie Quick Shop * Monaco Monte Carlo Yacht Club Print Unisex Track Pants Casual Sweatpants Quick Shop * Oversize Sun Moon Stars Tee Quick Shop * Vintage style Men's Oversized "CALIFORNIA" Print Sweatshirt Quick Shop * Vintage Unisex California Print Hoodie Sweatshirt Quick Shop * Vintage Unisex Monaco Monte Carlo Yacht Club Sweatshirt Unisex Vintage Sweatshirt Quick Shop * Retro Men's COLORADO Print Oversized T-shirt Quick Shop * Oversize Sun Moon Stars Hoodie Quick Shop * Oversize Parrot Hoodie Quick Shop * Men's Vintage Alphabet Print T-Shirt Quick Shop * Men's Smiley Shorts Performance Shorts Quick Shop * Unisex Vintage Colombian National Football Y2K T-Shirt Quick Shop * Men's Vintage California Print Oversized T-Shirt Quick Shop * Oversize Crow Hoodie Quick Shop * Fashion Smiley Print Casual Men's Sweatpants Quick Shop * Men's Simple Contrast Color Polar Fleece Skateboard Sweatshirt Quick Shop * Men's Smiley Print Casual Vintage T-Shirt Quick Shop * Oversize Sun Moon Stars Hoodie Quick Shop * Men's Casual Print Oversized Vintage Short Sleeve T-Shirt Quick Shop * Oversize Unique Printed Tee Quick Shop * Oversized Chicago Hoodie Quick Shop * Oversize 404 Hoodie Quick Shop * Men's Plain Sleeveless Vest Quick Shop * Unisex Vintage Brazil National Football Print T-Shirt Quick Shop * Sun Moon Star Ocean Oversize Tee Quick Shop * Oversized 'Compass' Tee Quick Shop * Smiley T-Shirt Oversized Casual Men's Short Sleeve T-Shirt Quick Shop * Oversize Made In Hell Hoodie Quick Shop * Retro Casual Men's Sailing Club Sweatshirt Quick Shop * Men's Faith 'HEAVEN' Print Casual Pullover Sweatshirt Quick Shop * Oversize Flying Horse Hoodie Quick Shop * Men's Printed Hoodie Quick Shop * Oversize Smiley Hoodie Quick Shop * Men's Streetwear Graphic Printed Toy Bear Crew Neck Tee Quick Shop * Oversize Parrot Hoodie Quick Shop * Unisex Oversized Street Print Casual T-shirt Dark Purple Quick Shop * Men's Street Casual Anchor Print T-Shirt Quick Shop * Inter Miami CF Oversized Football Printed Jersey T-shirt Quick Shop * Oversize Parrot Tee Quick Shop * Vintage Unisex Zip Half Open Collar Pullover Sweatshirt Quick Shop * OVERSIZE PURE ANGEL TEE Quick Shop * Simple "BELIEVER," Printed Men's Crew Tee Quick Shop * Vintage style Monte Rosa Quarter-zip Sweatshirt Quick Shop * Men's Oversized Vintage Michigan USA Casual Hooded Sweatshirt Quick Shop * Men's Retro California Oversized Sweatshirt Quick Shop * Sun And Moon Print Oversized Men's T-Shirt Quick Shop * Unisex Retro Brazil National Football Print T-Shirt Quick Shop * Tai Chi Snake Design Oversized T-shirt Quick Shop * Oversize Palm Paradise Tee Quick Shop * Men's Vintage Print Relaxed Oversized T-Shirt Quick Shop * Unisex Oversized Vintage Monaco Monte Carlo Track Polo Zip Sweatshirt Quick Shop * Oversize Parrot Hoodie Quick Shop * Retro Oversized MAUI Men's T-shirt Quick Shop * Vintage style Mente Carlo Half Zip Sweatshirt Quick Shop * Intage Unisex Monaco Monte Carlo Yacht Club Hoodie Zipped Cardigan Hoodie Quick Shop * Men's Oversized Fashion Print T-Shirt Quick Shop * Men's Summer Loose Lace-Up Five-Point Pants Solid Color Linen Shorts Quick Shop * Degrade Oversize Tee Quick Shop * Oversize Chicago Tee Quick Shop * Unisex Oversize Casual 404 Print T-shirt Quick Shop * Oversize Made In Hell Tee Quick Shop * Unisex Vintage Oversized Italy National Football Team T-shirt Quick Shop * Oversized Parrot Print T-Shirt Quick Shop * Summer Retro Surf Marine Life Printed Casual Tee Quick Shop * Men's Smiley Print Cotton T-shirt Quick Shop * Smile Print Casual Sports Surf Shorts Quick Shop * Oversized Vintage 'Yellowstone' T-Shirt Quick Shop * Oversize Money On My Mind Hoodie Quick Shop * Men's Vintage Yellowstone Print Oversized T-Shirt Quick Shop * Men's Casual Letter Design T-shirt Quick Shop * Money Shorts Quick Shop * Men's Oversized Poker Print T-Shirt Quick Shop * Oversize Parrot Hoodie Quick Shop * Bear Graffiti Print Casual T-shirt Quick Shop * Oversize Monaco Racing Club Hoodie Quick Shop * Vintage Anchor Hoodie Quick Shop * Men's California Casual Athletic Comfort T-Shirt Quick Shop * Oversized Cotton T-Shirt Solid Color Street Casual T-Shirt Quick Shop * Retro Surf Stitching Polos Zipper Sweatshirt Quick Shop * Men's Casual Tennis Letter Print Vintage Style T-Shirt Quick Shop * Men's Linen Holiday Plain Breathing Pants Quick Shop ${function(){ const isCart = data.data.isCart; const isCollection = data.data.isCollection; const isProduct = data.data.isProduct; const isIndex = data.data.isIndex; return ` ${isCart ? 'The items in the shopping cart do not participate in any recommendation rule. Add the participating items to your shopping cart to check the design.' : ''} ${isProduct ? 'This product did not participated in any recommendation rule. Switch to another product to check the design.' : ''} ${isCollection ? 'The items in this collection do not participate in any recommendation rule. Switch the participating items to check the design.' : ''} ${isIndex ? 'The home page do not participate in any recommendation rule.' : ''} (This prompt would not display on client-side) Recommended Products ` }()} ${function(){ const rule = data.data; const getImageHeight = function(image){ const image_size = rule.config.image_size || 0; const imageWidth = image.width || 600; const imageHeight = image.height || 800; let ratio = 0; if(image_size == 0){ ratio = (imageHeight / imageWidth).toFixed(2); }else if(image_size == 1){ ratio = 1.5; }else if(image_size == 2){ ratio = 1; }else if(image_size == 3){ ratio = 0.75; } return imageWidth * ratio; }; const toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v => `${k}[]=${encodeURIComponent(v)}`).join('&') : `${k}=${encodeURIComponent(obj[k])}` ) .join('&'); return ` ${rule.config.title} * ${product.title} ${rule.config.quick_shop_button_text} ` }()} class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent); ${(function(){ const product = data.product; const toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v => `${k}[]=${encodeURIComponent(v)}`).join('&') : `${k}=${encodeURIComponent(obj[k])}` ) .join('&'); return ` ${product.images.map((image) => { return `` }).join('')} ${product.title} See detail Quantity Add To Cart Buy Now `; })()} ${(function(){ const product = data.product; const avail_variants = product.variants.filter(function(variant){ return variant.available; }); const selected_variant = product.min_price_variant.available ? product.min_price_variant : avail_variants.length && avail_variants[0]; return ` ${option.name} ${ option.values.map(function(value, index){ const checked = selected_variant["option"+option.position] == value ? "checked": ""; return ` ${value} ` }).join("") } ` })()} Subscribe to get out latest fashions Subscribe Please enter a valid email address. Please enter your email address. ${data.errors && data.errors[0]} Thanks for subscribing about us * About Us * Terms & Conditions * Privacy Policy about us * About Us * Terms & Conditions * Privacy Policy help center * Q&A * About COVID-19 * Payment Methods * Shipping Policy * Return & Exchange help center * Q&A * About COVID-19 * Payment Methods * Shipping Policy * Return & Exchange customer service * Order Tracking * Order Cancellation * Edit Shipping Address * Contact US customer service * Order Tracking * Order Cancellation * Edit Shipping Address * Contact US © 2024 godflora About Us Terms & Conditions Privacy Policy 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) { product_change_event = product_change_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectedValues.${opt.name});`; mouse_out_event = mouse_out_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectData.${opt.name});`; mouse_over_event = mouse_over_event + `@${opt.name}Mouseover="quick-shop-selected-variant-${opt.name}.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":"aa3996d1-a7d7-418e-baff-cb159320529d","product_id":"a5262d71-b695-464c-b031-e5edcac0bfa4","title":"Red-S","weight_unit":"g","inventory_quantity":999,"sku":"1793221626931073026","barcode":"","position":1,"option1":"Red","option2":"S","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/af4c86b12177d0ae43ff832f716f26c3.jpeg","path":"af4c86b12177d0ae43ff832f716f26c3.jpeg","width":1250,"height":1250,"alt":"e96b297313222dee85f05e8a712f9d5e","aspect_ratio":1},"wholesale_price":[{"price":20.89,"min_quantity":1}],"weight":"230","compare_at_price":"34.89","price":"20.89","retail_price":"34.89","available":true,"url":"\/products\/unisex-vintage-spanish-football-print-t-shirt?variant=aa3996d1-a7d7-418e-baff-cb159320529d","available_quantity":999999999,"options":[{"name":"Color","value":"Red"},{"name":"Size","value":"S"}],"off_ratio":40,"flashsale_info":[],"sales":1}; 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 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_with_text"; 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} 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) { product_change_event = product_change_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectedValues.${opt.name});`; mouse_out_event = mouse_out_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectData.${opt.name});`; mouse_over_event = mouse_over_event + `@${opt.name}Mouseover="quick-shop-selected-variant-${opt.name}.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":"aa3996d1-a7d7-418e-baff-cb159320529d","product_id":"a5262d71-b695-464c-b031-e5edcac0bfa4","title":"Red-S","weight_unit":"g","inventory_quantity":999,"sku":"1793221626931073026","barcode":"","position":1,"option1":"Red","option2":"S","option3":"","note":"","image":{"src":"\/\/img.fantaskycdn.com\/af4c86b12177d0ae43ff832f716f26c3.jpeg","path":"af4c86b12177d0ae43ff832f716f26c3.jpeg","width":1250,"height":1250,"alt":"e96b297313222dee85f05e8a712f9d5e","aspect_ratio":1},"wholesale_price":[{"price":20.89,"min_quantity":1}],"weight":"230","compare_at_price":"34.89","price":"20.89","retail_price":"34.89","available":true,"url":"\/products\/unisex-vintage-spanish-football-print-t-shirt?variant=aa3996d1-a7d7-418e-baff-cb159320529d","available_quantity":999999999,"options":[{"name":"Color","value":"Red"},{"name":"Size","value":"S"}],"off_ratio":40,"flashsale_info":[],"sales":1}; 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 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_with_text"; 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} 111 111 Item has been added ${(function(){ const products = data.products; const getDefaultVariant = function(product){ if (product.min_price_variant.available){ return product.min_price_variant; }else { const avail_variants = product.variants.filter(function(variant){ return variant.available; }); if (avail_variants.length) { return avail_variants[0]; } } }; const toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v => `${k}[]=${encodeURIComponent(v)}`).join('&') : `${k}=${encodeURIComponent(obj[k])}` ) .join('&'); const getDefaultTrackParams = function(product, index){ const variant = getDefaultVariant(product); const params = { aid: 'smart_recommend.2.' + data.id, scm: product.scm || data.scm || '', spm: data.spmBase + '.' + index, ssp: data.ssp || '', }; const trackParams = Object.keys(params).map(function(key){ return params[key]; }).join('__'); return trackParams; }; const hasMore = (data.products.length - data.target_top_product_num - data.page * data.limit) === 0; return ` ${(function(){ return ` ${data.config.pop_title} ${data.rebate_tips || ''} `; })()} ${product.title} Added `; })()} class SpzCustomComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this._atcLineItem = {}; this.cart_ = {}; this.top_product_ids_ = []; this.products_ = []; this.activityId_ = null; this.rendered_ = false; this.myInterceptor_ = null; this.i18n_ = {}; this.config_ = {}; this.page_ = 1; this.limit_ = 10; this.loading_ = false; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('pop mounted'); this.i18n_ = window.smartRecommendI18n && window.smartRecommendI18n[document.documentElement.lang || 'en-US'] || {}; const cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const modalEl = document.getElementById("smart_cart_pop_modal"); const spmBase = `smart_recommend_2`; const extra = { spmBase: spmBase, i18n: this.i18n_, }; const that = this; document.addEventListener('dj.addToCart', (event) => { try { const e = event.detail; if (e.source === 'buy_now' || window.__upsell_block || this.rendered_) return; that.fetchActivityData({product_id: e.product_id, variant_id: e.variant_id}).then(data => { if (!data || !data.products || !data.products.length) return; that.config_ = data.config; const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` #plugin_recommend_atc_pop { display: none !important; } `; document.head.appendChild(recommendStyle); if (data.config.pop_frequency === 'once' && window.sessionStorage.getItem('smart_pop_times') > 0) return; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){ api.render(Object.assign({}, data, extra), true).then(function() { that.rendered_ = true; if (data.products.length) { const headEl = document.getElementById("smart_cart_pop_head_render"); if (headEl) { SPZ.whenApiDefined(headEl).then(function(head){ head.render({ data: data }); }); } SPZ.whenApiDefined(modalEl).then(function(api){ that.impressListen('#smart_cart_pop_activity', function(){ that.trackPluginImpression_(data); }); api.open(); const intersectionObserver = new IntersectionObserver( function (entries) { if (entries[0].intersectionRatio > 0){ !that.loading_ && (that.products_.length - that.target_top_product_num_) === that.page_ * that.limit_ && that.viewMore(); } }, { threshold: [0.1] } ); intersectionObserver.observe( document.querySelector('#smart_cart_pop_view_more_text') ); }); } }) }); }) } catch (e) { console.error(e); } }); } unmountCallback() { } viewMore () { const cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const that = this; const data = {}; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){ that.fetchActivityData({ page: that.page_ + 1, limit: that.limit_ }).then(function(data) { data.products = that.products_; data.target_top_product_num = that.target_top_product_num_; data.i18n = that.i18n_; data.spmBase = `smart_recommend_2`; api.render(data); }) }) } fetchActivityData(data) { const that = this; if (data.product_id) { that._atcLineItem = data; } that.loading_ = true; return that.getCart().then(cart => { that.cart_ = cart.cart; return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_activities", { method: "POST", headers: { "Content-Type": "application/json", "store-id": window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ "show_type": 2, "line_item": { "product_id": that._atcLineItem.product_id, "variant_id": that._atcLineItem.variant_id, }, line_items: cart.cart.line_items, "page": data.page || 1, "limit": data.limit || 10, }) }).then(function(res){ if(res.ok){ return res.json(); } }).then(function(data){ data.cart = cart.cart; if (data.page === 1) { that.target_top_product_num_ = data.target_top_product_num || 0; } that.products_ = that.products_.concat(data.products || []); that.page_ = data.page || 1; that.limit_ = data.limit || 10; return data; }).catch(function(e){ console.log(e); }).finally(function(){ that.loading_ = false; }) }); }; setAction_() { this.registerAction('changeBannerColor', (data) => { if (!data.args.data || !data.args.data.data || !data.args.data.data.data) return false; const config = data.args.data.data.data.config; const bannerBgEl = document.querySelector('.smart_cart_pop_banner_bg'); if (bannerBgEl && config) { bannerBgEl.style.background = config.banner_bg_color; bannerBgEl.style.color = config.banner_text_color; } }); this.registerAction('handleProductChange', (data) => { const that = this; const imageEl = document.getElementById(`smart_cart_pop_image_${data.args.data.product_id}`); SPZ.whenApiDefined(imageEl).then(function(api){ api.render({ data: data.args.data, config: that.config_ }); }); const atcTextEl = document.getElementById(`smart_cart_pop_atc_${data.args.data.product_id}`); SPZ.whenApiDefined(atcTextEl).then(function(api){ api.render({ data: data.args.data, defaultText: data.args.defaultText, soldOutText: that.i18n_.sold_out }); }); if (data.args.data.variant.available) { document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.remove('zb-pointer-events-none'); } else { document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.add('zb-pointer-events-none'); } }); this.registerAction('handleProduct', (detail) => { const that = this; this.renderProductsForm_(detail.args.data.data); }); this.registerAction('addATCHook', (data) => { const params = data.args; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: 'smart_recommend.2.' + params.activity_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${params.spm}`, }, once: true }); }); this.registerAction('handleAtcSuccess', (detail) => { detail.args.data.product = detail.args.data.product || {}; detail.args.data.variant = detail.args.data.variant || {}; const defParams = detail.args.product.split('__'); const product_id = detail.args.data.product.id; const product_title = detail.args.data.product.title; const variant_id = detail.args.data.variant.id; const price = detail.args.data.variant.price; const aid = defParams[0]; const ifb = detail.args.data.product.ifb; const cfb = detail.args.data.product.cfb; const scm = defParams[1]; const spm = defParams[2]; const ssp = defParams[3]; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; const activity_id = `${detail.args.activity_id}`; const target_drive_way = detail.args.target_drive_way; document.getElementById(`smart_cart_pop_loading_${product_id}`).classList.add('zb-hidden'); document.getElementById(`smart_cart_pop_added_${product_id}`).classList.remove('zb-hidden'); setTimeout(() => { document.getElementById(`smart_cart_pop_added_${product_id}`).classList.add('zb-hidden'); document.getElementById(`smart_cart_pop_atc_${product_id}`).classList.remove('zb-hidden'); document.getElementById(`smart_cart_pop_atc_btn_${product_id}`).classList.remove('zb-pointer-events-none'); }, 1000); this.tranckAddToCart(params); if (target_drive_way === 'rebate') { const bannerEl = document.getElementById(`smart_cart_pop_banner`); this.getRecommendInfo(activity_id).then(res => { if (res && res.rebate_tips) { bannerEl.innerHTML = res.rebate_tips; } }) } }); this.registerAction('handleCartSummary', (event) => { const that = this; const checkoutButtonEle = document.getElementById("smart_cart_pop_checkout_button"); if (checkoutButtonEle) { SPZ.whenApiDefined(checkoutButtonEle).then(function(api){ api.render({ i18n: that.i18n_ }, false); }); } const tipEl = document.getElementById("smart_cart_pop_tip_info"); const cart = event && event.args && event.args.data && event.args.data.data; if (!tipEl || !cart) return; let total_price = cart.total_price; if (!total_price) { SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price: total_price, i18n: that.i18n_ }, false); }); } else { this.getBindDiscount_(cart.line_items).then(res => { if (res && res.discount_code){ const total = cart.line_price - cart.total_discount - res.bundle_discount_value; if (total > 0) { total_price = total; } else { total_price = 0; } } SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price: total_price, i18n: that.i18n_ }, false); }); }) } }); this.registerAction('open', () => { window.sessionStorage.setItem('smart_pop_times', Number(window.sessionStorage.getItem('smart_pop_times')) + 1); }); this.registerAction('close', () => { this.rendered_ = false; this.products_ = []; window.djInterceptors && window.djInterceptors.track.eject(this.myInterceptor_); }); } getCart() { return fetch(`${window.SHOPLAZZA.routes.root || ''}/api/cart`, { method: 'GET', headers: { 'Content-Type': 'application/json; charset=UTF-8', }, }).then(res => res.json()) } getRecommendInfo (activity_id) { return this.getCart().then(cart => { this.cart_ = cart.cart; return fetch(`${window.SHOPLAZZA.routes.root || ''}/api/possum/recommend_info`, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: JSON.stringify({ show_type: 2, rule_id: `${activity_id}`, line_items: cart.cart.line_items, line_item: this._atcLineItem, }) }).then(res => res.json()) }) } renderProductsForm_(data) { const products = data.products; const listPopRenderEl = document.getElementById("smart_cart_pop_render"); if (!listPopRenderEl) return; listPopRenderEl.querySelectorAll('.smart_cart_pop_atc_btn_bg').forEach(function(el){ el.style.background = data.config.add_to_cart_button_color; }); products.forEach(function(product){ const productId = product.id; const productFormEls = listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]`); let variantsEl = listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"] #smart_cart_pop_variant_${productId}_mobile ljs-variants`); if (window.innerWidth > 768) { variantsEl = listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"] #smart_cart_pop_variant_${productId}_pc ljs-variants`); } productFormEls.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){ api.setProduct(product); }); }); variantsEl.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){ api.handleRender(product); }); }) }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } trackPluginImpression_(rule){ if (window.sa && window.sa.track) { window.sa.track("module_impressions", { aid: `smart_recommend.2.${rule.id}` }); } } getBindDiscount_(carts) { let bundle_sale_ids = []; try { bundle_sale_ids = sessionStorage['bundle_sale_ids'] && JSON.parse(sessionStorage['bundle_sale_ids']).filter((item, index, arr) => arr.indexOf(item, 0) === index).slice(-5); } catch (err) { console.error(err); } if (!carts.length) { Promise.resolve(); } return fetch(`${window.SHOPLAZZA.routes.root || ''}/api/bundle-sales/cart`, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', 'store-id': window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ cart: carts, action_type: 'cart', bundle_sale_ids }) }).then(res => res.json()) } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart', SpzCustomComponent); ${function(){ return ` ${data.data.rebate_tips || ''} `; }()} ${function(){ const getImageHeight = function(image){ const width = image.width || 500; const height = image.height || 500; const image_size = data.config.image_size || 0; let ratio = 0; if(image_size == 0){ ratio = (height / width).toFixed(2); }else if(image_size == 1){ ratio = 1.5; } return 132 * ratio; }; const image = data.data.variant.image || data.data.product.image; return ` `; }()} ${(function(){ const product = data.product; const avail_variants = product.variants.filter(function(variant){ return variant.available; }); const selected_variant = product.min_price_variant.available ? product.min_price_variant : avail_variants.length && avail_variants[0]; return ` ${option.name} ${ option.values.map(function(value, index){ const checked = selected_variant["option"+option.position] == value ? "checked": ""; return ` ${value} ` }).join("") } ` })()} ${(function(){ const variant = data.variant; return ` `; })()} ${(function(){ const variant = data.variant; return ` ${ variant.options.map(function(option){ return option.value; }).join("/") || 'Not exist' } `; })()} ${(function(){ const variant = data.data && data.data.variant; const defaultText = data.defaultText || 'Add To Cart'; const text = (!variant || variant.available) ? defaultText: data.soldOutText; return ` ${text} `; })()} ${(function(){ let cart = data; if(data.data) { cart = data.data; } return ` ${cart.item_count >=0 ? cart.item_count : '..'} `; })()} ${(function(){ return ` ${data.i18n.checkout} `; })()} 111 Ends in: 0 0 : 0 0 : 0 $0.00 Buy now Buy now See detail $0.00 Quantity 1 GIFTS POINTS 10% OFF FOR 2nd item $0.00 1 GIFTS FOR YOU🎁 💰BUY 2 ITEMS - 10% OFF 💰BUY 4 ITEMS - 15% OFF 💰BUY 5 ITEMS - 20% OFF ... EXTRA 5% DISCOUNT OFF (only first order) NICE5 NICE5 Click to copy SHOP NOW × Success Copy successfully, use at checkout Originaltext Diese Übersetzung bewerten Mit deinem Feedback können wir Google Übersetzer weiter verbessern