www.lovefootball.live Open in urlscan Pro
104.17.247.119  Public Scan

Submitted URL: https://frogcalldigital.com/
Effective URL: https://www.lovefootball.live/
Submission: On January 08 via api from US — Scanned from CA

Form analysis 13 forms found in the DOM

GET

<form class="flex-grow-1 i-spzhtml-form" id="header-search-form" is="spz-form" action-xhr="/search" method="get" @submit="header-search-predictive-script.execute(func='setSearchUrl', params=event.q)" novalidate="">
  <div tabindex="-1" class="flex relative header__search">
    <input autocomplete="off" id="header-search-form-input" type="text" name="q" class="border-none header__search-placeholder-current header__search-input" placeholder="Search..."
      @input-debounced="search-predictive.open;header-search-search-icon-render.rerender(data=event.value);search-predictive-result.rerender(data=event.value,redo=true);">
    <label for="header-search-form-input" id="header-search-input-replace" style="position: absolute; height: 40px; width: calc(100% - 52px); background-color: transparent;"
      @tap="search-input-close.toggleClass(class='header__search-close-show', force=true);header-search-input-replace.toggleClass(class='opacity-0', force=true);">
    </label>
    <spz-render class="header-search-search-icon-container i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="header-search-search-icon-render" layout="container" manual="" i-spzhtml-layout="container"
      style="height: 24px;">
      <template>
        <a class="header-search-search-icon flex color-body" href="/search?q=${encodeURIComponent(typeof(data||'')=='string'?data:'')}">

    <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
      <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
    </svg>
  

              </a>
      </template>
      <a class="header-search-search-icon flex color-body" href="/search?q=" aria-label="search">

    <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
      <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
    </svg>
  

            </a></spz-render>
  </div>
</form>

GET

<form class="flex-grow-1 i-spzhtml-form" id="header-search-form" is="spz-form" action-xhr="/search" method="get" @submit="header-search-predictive-script.execute(func='setSearchUrl', params=event.q)" novalidate="">
  <div tabindex="-1" class="flex relative header__search">
    <input autocomplete="off" id="header-search-form-input" type="text" name="q" class="border-none header__search-placeholder-current header__search-input" placeholder="Search..."
      @input-debounced="search-predictive.open;header-search-search-icon-render.rerender(data=event.value);search-predictive-result.rerender(data=event.value,redo=true);">
    <label for="header-search-form-input" id="header-search-input-replace" style="position: absolute; height: 40px; width: calc(100% - 52px); background-color: transparent;"
      @tap="search-input-close.toggleClass(class='header__search-close-show', force=true);header-search-input-replace.toggleClass(class='opacity-0', force=true);">
    </label>
    <spz-render class="header-search-search-icon-container i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" id="header-search-search-icon-render" layout="container" manual=""
      i-spzhtml-layout="container">
      <a class="header-search-search-icon flex color-body" href="/search?q=" aria-label="search">

    <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
      <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
    </svg>
  

            </a>
      <template>
        <a class="header-search-search-icon flex color-body" href="/search?q=${encodeURIComponent(typeof(data||'')=='string'?data:'')}">

    <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
      <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
    </svg>
  

              </a>
      </template>
    </spz-render>
  </div>
</form>

POST

<form id="cart-note-form-popup" class="w-full mb-5 hidden px-5 i-spzhtml-form" method="POST" action-xhr="/api/cart/note" items="cart" novalidate="">
  <textarea class="cart-note-textarea type-body-font-family w-full color-body body-text-base bg-body" id="cart-note-textarea" name="note" rows="4" @input-debounced="cart-note-form-popup.insert(name='note', value=event.value);"
    @change="cart-note-form-popup.submit(actionXhr='/api/cart/note');cart-note-render-popup.rerender(data=event);" autofocus=""></textarea>
</form>

POST

<form id="cart-note-form-popup" class="w-full mb-5 hidden i-spzhtml-form" method="POST" action-xhr="/api/cart/note" items="cart" novalidate="">
  <textarea class="cart-note-textarea type-body-font-family w-full color-body body-text-base bg-body" id="cart-note-textarea" name="note" rows="4" @input-debounced="cart-note-form-popup.insert(name='note', value=event.value);"
    @change="cart-note-form-popup.submit(actionXhr='/api/cart/note');cart-note-render-popup.rerender(data=event);" autofocus=""></textarea>
</form>

GET

<form class="flex-grow-1 i-spzhtml-form" id="header-search-formmd" is="spz-form" action-xhr="/search" method="get" @submit="header-search-predictive-script.execute(func='setSearchUrl', params=event.q)" novalidate="">
  <div tabindex="-1" class="flex relative header__search">
    <input autocomplete="off" id="header-search-form-inputmd" type="text" name="q" class="border-none header__search-placeholder-current header__search-input" placeholder="Search..."
      @input-debounced="search-predictive.open;header-search-search-icon-rendermd.rerender(data=event.value);search-predictive-result.rerender(data=event.value,redo=true);">
    <label for="header-search-form-inputmd" id="header-search-input-replacemd" style="position: absolute; height: 40px; width: calc(100% - 52px); background-color: transparent;"
      @tap="search-input-closemd.toggleClass(class='header__search-close-show', force=true);header-search-input-replacemd.toggleClass(class='opacity-0', force=true);">
    </label>
    <spz-render class="header-search-search-icon-container i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" id="header-search-search-icon-rendermd" layout="container" manual=""
      i-spzhtml-layout="container">
      <a class="header-search-search-icon flex color-body" href="/search?q=" aria-label="search">

    <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
      <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
    </svg>
  

            </a>
      <template>
        <a class="header-search-search-icon flex color-body" href="/search?q=${encodeURIComponent(typeof(data||'')=='string'?data:'')}">

    <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
      <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
    </svg>
  

              </a>
      </template>
    </spz-render>
  </div>
</form>

GET

<form class="flex-grow-1 i-spzhtml-form" id="header-search-formmodel" is="spz-form" action-xhr="/search" method="get" @submit="header-search-predictive-script.execute(func='setSearchUrl', params=event.q)" novalidate="">
  <div tabindex="-1" class="flex relative header__search">
    <input autocomplete="off" id="header-search-form-inputmodel" type="text" name="q" class="border-none header__search-placeholder-current header__search-input" placeholder="Search..."
      @input-debounced="search-predictive.open;header-search-search-icon-rendermodel.rerender(data=event.value);search-predictive-result.rerender(data=event.value,redo=true);">
    <label for="header-search-form-inputmodel" id="header-search-input-replacemodel" style="position: absolute; height: 40px; width: calc(100% - 52px); background-color: transparent;"
      @tap="search-input-closemodel.toggleClass(class='header__search-close-show', force=true);header-search-input-replacemodel.toggleClass(class='opacity-0', force=true);">
    </label>
    <spz-render class="header-search-search-icon-container i-spzhtml-layout-container i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" id="header-search-search-icon-rendermodel" layout="container" manual=""
      i-spzhtml-layout="container">
      <a class="header-search-search-icon flex color-body" href="/search?q=" aria-label="search">

    <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
      <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
    </svg>
  

            </a>
      <template>
        <a class="header-search-search-icon flex color-body" href="/search?q=${encodeURIComponent(typeof(data||'')=='string'?data:'')}">

    <svg class="" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
      <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
    </svg>
  

              </a>
      </template>
    </spz-render>
  </div>
</form>

<form role="spz-product-formd624116c-c56f-4e2a-8f32-b915bef8dfa5">
  <div class="w-full flex flex-col gap-6 md:pt-6">
    <div>
      <div class="body-text-base leading-none font-semibold">Price</div>
      <spz-render id="single-product-price-1735109766562" template="single-product-price-template-1735109766562" layout="container" manual="" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout"
        i-spzhtml-layout="container" style="height: auto;">
        <div class="">
          <div class="qs-price-desc flex items-center flex-wrap body-plus-6 md:body-plus-4 mt-3" spz-if="true"> <spz-currency
              class="inline-block mr-3 line-through color-compare-price i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" layout="container" value="51.53" spz-if="true" i-spzhtml-layout="container">
              <div class="money">$51.53</div>
            </spz-currency> <spz-currency class="inline-block mr-3 color-price qs-current-price i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" value="24.22" spz-if="true" layout="container"
              i-spzhtml-layout="container">
              <div class="money">$24.22</div>
            </spz-currency> <span class="body-text-base color-save-text pd-info-save" spz-if="true"> Save <spz-currency class="inline-block i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" value="27.310000000000002"
                layout="container" i-spzhtml-layout="container">
                <div class="money">$27.31</div>
              </spz-currency> </span> </div>
        </div>
      </spz-render>
    </div>
    <spz-variants interference="" id="single-product-variant-1735109766562" layout="container" manual="" src="script:single-product-data-1735109766562" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout"
      i-spzhtml-layout="container">
      <fieldset class="variants-options-container pd-info-variants-button-wrap border-none p-0 mt-2" name="Color">
        <legend class="p-0">
          <div class="product-info__variants_title">
            <span class="body-text-base font-semibold" style="text-transform: capitalize;">color</span>
            <spz-render id="single-product-variant-template-1735109766562-Color" manual="" layout="container" class="inline-block i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
              <template>
                <span class="pd-info-variants-title font-semibold">-${data.value}</span>
              </template>
            </spz-render>
          </div>
        </legend>
        <div class="flex-wrap flex">
          <div class="relative mt-1.5 mr-1.5">
            <input type="radio" option="SIZE 5 E" id="single-product-info-variant-1735109766562-SIZE 5 E-0" class="pointer-events-auto w-full h-full" name="Color" value="SIZE 5 E" form="single-product-1735109766562" checked="">
            <label class="pd-variants-label flex items-center justify-center break-words cursor-pointer flex-shrink-0 overflow-hidden" for="single-product-info-variant-1735109766562-SIZE 5 E-0" data-type="text">
              <span class="break-words text-center">SIZE 5 E</span>
            </label>
          </div>
          <div class="relative mt-1.5 mr-1.5">
            <input type="radio" option="SIZE 5 A" id="single-product-info-variant-1735109766562-SIZE 5 A-1" class="pointer-events-auto w-full h-full" name="Color" value="SIZE 5 A" form="single-product-1735109766562">
            <label class="pd-variants-label flex items-center justify-center break-words cursor-pointer flex-shrink-0 overflow-hidden" for="single-product-info-variant-1735109766562-SIZE 5 A-1" data-type="text">
              <span class="break-words text-center">SIZE 5 A</span>
            </label>
          </div>
          <div class="relative mt-1.5 mr-1.5">
            <input type="radio" option="SIZE 5 B" id="single-product-info-variant-1735109766562-SIZE 5 B-2" class="pointer-events-auto w-full h-full" name="Color" value="SIZE 5 B" form="single-product-1735109766562">
            <label class="pd-variants-label flex items-center justify-center break-words cursor-pointer flex-shrink-0 overflow-hidden" for="single-product-info-variant-1735109766562-SIZE 5 B-2" data-type="text">
              <span class="break-words text-center">SIZE 5 B</span>
            </label>
          </div>
          <div class="relative mt-1.5 mr-1.5">
            <input type="radio" option="SIZE 5 D" id="single-product-info-variant-1735109766562-SIZE 5 D-3" class="pointer-events-auto w-full h-full" name="Color" value="SIZE 5 D" form="single-product-1735109766562">
            <label class="pd-variants-label flex items-center justify-center break-words cursor-pointer flex-shrink-0 overflow-hidden" for="single-product-info-variant-1735109766562-SIZE 5 D-3" data-type="text">
              <span class="break-words text-center">SIZE 5 D</span>
            </label>
          </div>
          <div class="relative mt-1.5 mr-1.5">
            <input type="radio" option="SIZE 5 C" id="single-product-info-variant-1735109766562-SIZE 5 C-4" class="pointer-events-auto w-full h-full" name="Color" value="SIZE 5 C" form="single-product-1735109766562">
            <label class="pd-variants-label flex items-center justify-center break-words cursor-pointer flex-shrink-0 overflow-hidden" for="single-product-info-variant-1735109766562-SIZE 5 C-4" data-type="text">
              <span class="break-words text-center">SIZE 5 C</span>
            </label>
          </div>
        </div>
      </fieldset>
    </spz-variants>
    <div>
      <div class="body-text-base font-semibold">Quantity</div>
      <spz-quantity class="quick-shop-quantity mt-2.5 border flex items-center rounded-global i-spzhtml-layout-fixed i-spzhtml-layout-size-defined i-spzhtml-element i-spzhtml-built i-spzhtml-layout" id="single-product-qty-1735109766562"
        name="quantity" layout="fixed" width="108" height="40" value="1" min="1" max="999999999" icon-class="clear flex-shrink-0 rounded-global" number-class="clear flex-shrink-0 text-center text-lg" style="width:108px;height:40px;"
        i-spzhtml-layout="fixed">
        <div class="i-spzhtml-fill-content i-spzhtml-replaced-content"><span role="button" aria-label="decrease" class="i-spzhtml-quantity-number-decrease clear flex-shrink-0 rounded-global" disabled=""><svg 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" aria-label="quantity"><span role="button" aria-label="increase"
            class="i-spzhtml-quantity-number-increase clear flex-shrink-0 rounded-global"><svg width="16" height="16" xmlns="http://www.w3.org/2000/svg">
              <path d="M8.3 14a.3.3 0 0 0 .3-.3V8.6h5.1a.3.3 0 0 0 .3-.3v-.6a.3.3 0 0 0-.3-.3H8.6V2.3a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v5.1H2.3a.3.3 0 0 0-.3.3v.6a.3.3 0 0 0 .3.3h5.1v5.1a.3.3 0 0 0 .3.3h.6z" fill="currentColor"></path>
            </svg></span></div>
      </spz-quantity>
    </div>
    <div class="pd-info-btn-wrap flex-col flex">
      <button class="button-secondary  flex items-center justify-center relative add-to-cart-button" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart" data-track-source="add_to_cart"
        @tap="product-info-variants.toggleAttribute(force=true,key='needValidate',value=true);">
        <span role="content">Add to cart</span>
        <spz-render id="single-pd-info-atc-price" layout="container" manual="" template="atc-price-template" class="i-spzhtml-layout-container i-spzhtml-element i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container" style="height: auto;">
          <div>
            <div class="flex" spz-if="true"> &nbsp;-&nbsp;<spz-currency value="24.22" layout="container" class="i-spzhtml-element i-spzhtml-layout-container i-spzhtml-built i-spzhtml-layout" i-spzhtml-layout="container">
                <div class="money">$24.22</div>
              </spz-currency> </div>
          </div>
        </spz-render>
        <div class="loading items-center justify-center absolute inset-0 flex" role="loading" aria-label="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
      <button class="button-primary  mt-3 relative add-to-cart-button" role="buyNow" type="button" data-track="click" data-track-content="checkout" data-track-source="buy_now">
        <span role="content">Buy it now</span>
        <div class="loading items-center justify-center absolute inset-0 flex" role="loading" aria-label="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
      <div class="pd-info-tip-out-stock mt-2 text-center text-sm lg:mt-3 hidden"> Product was out of stock. </div>
      <div class="pd-info-tip-unavailable mt-2 text-center text-sm lg:mt-3 hidden"> Product is unavailable. </div>
    </div>
    <div class="quick-shop-inventory-status body-plus-1 lg:body-plus-1 flex ">
      <span class="font-semibold mr-1">Avaliability:</span>
      <span data-type="in-stock">in stock, ready to be shipped</span>
    </div>
  </div>
  <input name="product_id" type="hidden" value="d624116c-c56f-4e2a-8f32-b915bef8dfa5"><input name="variant_id" type="hidden" value="d37a4842-4d17-46d2-85bc-ae7d760d1af1"><input name="note" type="hidden">
</form>

POST

<form id="subscription-form1731978269442" class="subscription-form i-spzhtml-form" action-xhr="/api/customers/newsletters" method="POST" custom-validation="show-first-on-submit"
  @submiterror="subscription-email-error1731978269442.showToast(content=event.errors);"
  @submitsuccess="subscription-subscription-success1731978269442.toggleClass(class='hidden', force=false);subscription-form1731978269442.toggleClass(class='hidden', force=true);subscription-popup.open;" novalidate="">
  <div class="subscription-form-group flex items-center justify-between  border ">
    <div class="subscription-form-item relative flex-1">
      <input class="subscription-form-input clear w-full bg-white" type="text" id="subscription-email1731978269442" name="email" required="" placeholder="Enter your email"
        pattern="[a-zA-Z0-9!#$%&amp;'*+\/=?^_`\{\|\}~\-]+(?:\.[a-zA-Z0-9!#$%&amp;'*+\/=?^_`\{\|\}~\-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?">
      <label class="subscription-form-label absolute color-body-text-60 text-base" for="subscription-email1731978269442">
      </label>
      <spz-toast validation-for="subscription-email1731978269442" visible-when-invalid="valueMissing" layout="nodisplay" class="i-spzhtml-layout-nodisplay i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved"
        hidden="" style="" i-spzhtml-layout="nodisplay">Please fill in this field</spz-toast>
      <spz-toast validation-for="subscription-email1731978269442" visible-when-invalid="patternMismatch" layout="nodisplay" class="i-spzhtml-layout-nodisplay i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved"
        hidden="" style="" i-spzhtml-layout="nodisplay">Please enter a valid email address</spz-toast>
      <spz-toast id="subscription-email-error1731978269442" layout="nodisplay" class="i-spzhtml-layout-nodisplay i-spzhtml-element i-spzhtml-notbuilt spz-notbuilt spz-unresolved i-spzhtml-unresolved" hidden="" style=""
        i-spzhtml-layout="nodisplay"></spz-toast>
    </div>
    <button class="subscription-submit-btn button-primary flex-shrink-0 body-plus-2" type="submit" aria-label="submit">
      <span class="md:hidden">Subscribe</span>
      <svg class="lg:hidden" width="20" height="6" xmlns="http://www.w3.org/2000/svg">
        <path d="m14 0 6 3-6 3V4H0V2h14V0z" fill="currentColor"></path>
      </svg>
    </button>
  </div>
</form>

<form>
  <input name="variant_id" type="hidden" value="${data.variants[0].id}">
  <button class="product-tmpl-action" type="button" role="addToCart" aria-label="add" 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="" spz-if="${!!data.available &amp;&amp; (!!data.has_only_default_variant || !!(data.variants.length == 1))}" width="13" height="13" xmlns="http://www.w3.org/2000/svg">
      <path d="M7 1v5h5v1H7v5H6V7H1V6h5V1h1z" fill="currentColor"></path>
    </svg>
  </button>
</form>

POST

<form id="cart-note-form-drawer" class="w-full mb-5 hidden i-spzhtml-form" method="POST" action-xhr="/api/cart/note" items="cart" novalidate="">
  <textarea class="cart-note-textarea type-body-font-family w-full color-body body-text-base bg-body" id="cart-note-textarea" name="note" rows="4" @input-debounced="cart-note-form-drawer.insert(name='note', value=event.value);"
    @change="cart-note-form-drawer.submit(actionXhr='/api/cart/note');cart-note-render-drawer.rerender(data=event);" autofocus=""></textarea>
</form>

POST

<form id="cart-note-form-drawer-sticky" class="w-full mb-5 hidden i-spzhtml-form" method="POST" action-xhr="/api/cart/note" items="cart" novalidate="">
  <textarea class="cart-note-textarea type-body-font-family w-full color-body body-text-base bg-body" id="cart-note-textarea" name="note" rows="4" @input-debounced="cart-note-form-drawer-sticky.insert(name='note', value=event.value);"
    @change="cart-note-form-drawer-sticky.submit(actionXhr='/api/cart/note');cart-note-render-drawer-sticky.rerender(data=event);" autofocus=""></textarea>
</form>

<form>
  <div class="quick-shop-content flex flex-col lg:gap-5 md:gap-3">
    <spz-variants name="quick-shop-variant" id="quick-shop-variants" class="pointer-events-none" layout="container" template="quick-shop-variants-template" spz-if="${product_options &amp;&amp; product_options.length > 0}" interference=""
      ${mouseoutevent}="" ${mouseoverevent}="" interact="hover"></spz-variants>
    <div>
      <div class="body-plus-1 leading-none font-semibold">Price</div>
      <spz-render id="qs-prices-render" layout="container" template="qs-prices-template" manual=""> ${function() { const origin = "shop" const product = (origin === 'shop' ? data.product : data) || {}; const selectedVariant = product.variants.find(v
        =&gt; v.available) || product.variants[0]; return !!selectedVariant ? ` <div class="flex items-center flex-wrap body-plus-6 md:body-plus-4 mt-4">
          <spz-currency class="inline-block mr-3 line-through color-compare-price" value="${selectedVariant.compare_at_price}" layout="container" spz-if="${+selectedVariant.price < +selectedVariant.compare_at_price}"></spz-currency>
          <spz-currency class="inline-block mr-3 color-price qs-current-price" value="${selectedVariant.price}" layout="container"></spz-currency>
          <span class="body-text-base color-save-text pd-info-save" spz-if="${+selectedVariant.price < +selectedVariant.compare_at_price}"> Save <spz-currency class="inline-block" value="${selectedVariant.compare_at_price - selectedVariant.price}"
              layout="container"></spz-currency>
          </span>
        </div> ` : ` <div class="flex items-center body-plus-6 md:body-plus-4 color-price">
          <spz-currency layout="container" value="${data.price}"></spz-currency>
          <span spz-if="${+data.price_min < +data.price_max}">-</span>
          <spz-currency layout="container" value="${data.price_max}" spz-if="${+data.price_min < +data.price_max}"></spz-currency>
        </div> `; }()} </spz-render>
    </div>
    <div>
      <div class="body-plus-1 font-semibold md:mb-3">Quantity</div>
      <spz-quantity class="quick-shop-quantity mt-2 border flex items-center rounded-global" id="quick-shop-quantity" name="quantity" layout="fixed" width="108" height="40" value="1" min="1"
        max="${(productData.variants.find(v => v.available) || productData.variants[0]).available_quantity || productData.inventory_quantity}" icon-class="flex items-center justify-center h-full qs-qy-icon">
        <svg class="" role="decrease" width="13" height="13" xmlns="http://www.w3.org/2000/svg">
          <path d="M1 6h11v1H1z" fill-rule="evenodd" fill="currentColor"></path>
        </svg>
        <svg class="" role="increase" width="13" height="13" xmlns="http://www.w3.org/2000/svg">
          <path d="M7 1v5h5v1H7v5H6V7H1V6h5V1h1z" fill="currentColor"></path>
        </svg>
      </spz-quantity>
    </div>
    <div class="pd-info-btn-wrap flex-col flex">
      <button class="button-secondary  flex items-center justify-center relative add-to-cart-button" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart" data-track-source="add_to_cart"
        @tap="product-info-variants.toggleAttribute(force=true,key='needValidate',value=true);">
        <span role="content"> ${selectedVariant.available ? "Add to cart" : "SOLD OUT"} </span>
        <spz-render id="qs_atc" layout="container" manual="" template="atc-price-template">
        </spz-render>
        <div class="loading items-center justify-center absolute inset-0 flex" role="loading" aria-label="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
      <button spz-if="${selectedVariant.available}" class="button-primary  mt-3 relative add-to-cart-button" role="buyNow" type="button" data-track="click" data-track-content="checkout" data-track-source="buy_now">
        <span role="content">Buy it now</span>
        <div class="loading items-center justify-center absolute inset-0 flex" role="loading" aria-label="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
      <div class="pd-info-tip-out-stock mt-2 text-center text-sm lg:mt-3 hidden"> Product was out of stock. </div>
      <div class="pd-info-tip-unavailable mt-2 text-center text-sm lg:mt-3 hidden"> Product is unavailable. </div>
    </div>
    <div class="quick-shop-inventory-status body-minus-1 flex"> ${function() { const MAX_INVENTORY = 999999; const product0 = Object.prototype.toString.call(data) == '[object Array]' ? data[0] : (data.product || data); const inventoryQty =
      product0.inventory_quantity; const inventoryPolicy = product0.inventory_policy; const inventoryTracking = product0.inventory_tracking; const exactInventoryStatusId = "quick-shop-exact-inventory-render"; const lowStock = 5; const selectedVariant
      = product0.variants.find(v =&gt; v.available) || product0?.variants[0]; const selectedVariantAvailableQuantity = selectedVariant &amp;&amp; selectedVariant.available_quantity; let actualInventory = inventoryQty; if ((inventoryTracking
      &amp;&amp; inventoryPolicy == 'continue') || !inventoryTracking) { actualInventory = MAX_INVENTORY; } return ` <span class="font-semibold mr-1">Avaliability:</span>
      <span spz-if="${actualInventory == 0}" data-type="low-stock">Out of stock</span>
      <span spz-if="${actualInventory != 0}">
        <span spz-if="${actualInventory > lowStock}" data-type="in-stock">in stock, ready to be shipped</span>
        <span spz-if="${actualInventory <= lowStock}" data-type="in-stock">Low stock</span>
      </span> `; }()}
    </div>
  </div>
</form>

<form>
  <div class="quick-shop-content flex flex-col lg:gap-5">
    <spz-variants name="quick-view-variant" id="quick-view-variants" class="mt-5 pointer-events-none" layout="container" template="quick-view-variants-template" interference="" ${mouseoutevent}="" ${mouseoverevent}="" interact="hover"></spz-variants>
    <div>
      <div class="body-plus-1 leading-none font-semibold">Price</div>
      <spz-render id="qv-prices-render" layout="container" template="qv-prices-template" manual=""> ${function() { const origin = "view" const product = (origin === 'shop' ? data.product : data) || {}; const selectedVariant = product.variants.find(v
        =&gt; v.available) || product.variants[0]; return !!selectedVariant ? ` <div class="flex items-center flex-wrap body-plus-6 md:body-plus-4 mt-4">
          <spz-currency class="inline-block mr-3 line-through color-compare-price" value="${selectedVariant.compare_at_price}" layout="container" spz-if="${+selectedVariant.price < +selectedVariant.compare_at_price}"></spz-currency>
          <spz-currency class="inline-block mr-3 color-price qs-current-price" value="${selectedVariant.price}" layout="container"></spz-currency>
          <span class="body-text-base color-save-text pd-info-save" spz-if="${+selectedVariant.price < +selectedVariant.compare_at_price}"> Save <spz-currency class="inline-block" value="${selectedVariant.compare_at_price - selectedVariant.price}"
              layout="container"></spz-currency>
          </span>
        </div> ` : ` <div class="flex items-center body-plus-6 md:body-plus-4 color-price">
          <spz-currency layout="container" value="${data.price}"></spz-currency>
          <span spz-if="${+data.price_min < +data.price_max}">-</span>
          <spz-currency layout="container" value="${data.price_max}" spz-if="${+data.price_min < +data.price_max}"></spz-currency>
        </div> `; }()} </spz-render>
    </div>
    <div>
      <div class="body-plus-1 font-semibold md:mb-3">Quantity</div>
      <spz-quantity class="quick-shop-quantity mt-2 border flex items-center rounded-global" id="quick-view-quantity" name="quantity" layout="fixed" width="108" height="40" value="1" min="1"
        max="${(productData.variants.find(v => v.available) || productData.variants[0]).available_quantity || productData.inventory_quantity}" icon-class="flex items-center justify-center h-full qs-qy-icon">
        <svg class="" role="decrease" width="13" height="13" xmlns="http://www.w3.org/2000/svg">
          <path d="M1 6h11v1H1z" fill-rule="evenodd" fill="currentColor"></path>
        </svg>
        <svg class="" role="increase" width="13" height="13" xmlns="http://www.w3.org/2000/svg">
          <path d="M7 1v5h5v1H7v5H6V7H1V6h5V1h1z" fill="currentColor"></path>
        </svg>
      </spz-quantity>
    </div>
    <div class="pd-info-btn-wrap flex-col flex">
      <button class="button-secondary  flex items-center justify-center relative add-to-cart-button" type="button" role="addToCart" data-track="click" data-track-content="add_to_cart" data-track-source="add_to_cart"
        @tap="product-info-variants.toggleAttribute(force=true,key='needValidate',value=true);">
        <span role="content"> ${selectedVariant.available ? "Add to cart" : "SOLD OUT"} </span>
        <spz-render id="qv_atc" layout="container" manual="" template="atc-price-template">
        </spz-render>
        <div class="loading items-center justify-center absolute inset-0 flex" role="loading" aria-label="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
      <button spz-if="${selectedVariant.available}" class="button-primary  mt-3 relative add-to-cart-button" role="buyNow" type="button" data-track="click" data-track-content="checkout" data-track-source="buy_now">
        <span role="content">Buy it now</span>
        <div class="loading items-center justify-center absolute inset-0 flex" role="loading" aria-label="loading" show="">
          <div class="loading-bounce"></div>
        </div>
      </button>
      <div class="pd-info-tip-out-stock mt-2 text-center text-sm lg:mt-3 hidden"> Product was out of stock. </div>
      <div class="pd-info-tip-unavailable mt-2 text-center text-sm lg:mt-3 hidden"> Product is unavailable. </div>
    </div>
    <div class="quick-shop-inventory-status body-minus-1 flex"> ${function() { const MAX_INVENTORY = 999999; const product0 = Object.prototype.toString.call(data) == '[object Array]' ? data[0] : (data.product || data); const inventoryQty =
      product0.inventory_quantity; const inventoryPolicy = product0.inventory_policy; const inventoryTracking = product0.inventory_tracking; const exactInventoryStatusId = "quick-view-exact-inventory-render"; const lowStock = 5; const selectedVariant
      = product0.variants.find(v =&gt; v.available) || product0?.variants[0]; const selectedVariantAvailableQuantity = selectedVariant &amp;&amp; selectedVariant.available_quantity; let actualInventory = inventoryQty; if ((inventoryTracking
      &amp;&amp; inventoryPolicy == 'continue') || !inventoryTracking) { actualInventory = MAX_INVENTORY; } return ` <span class="font-semibold mr-1">Avaliability:</span>
      <span spz-if="${actualInventory == 0}" data-type="low-stock">Out of stock</span>
      <span spz-if="${actualInventory != 0}">
        <span spz-if="${actualInventory > lowStock}" data-type="in-stock">in stock, ready to be shipped</span>
        <span spz-if="${actualInventory <= lowStock}" data-type="in-stock">Low stock</span>
      </span> `; }()}
    </div>
  </div>
</form>

Text Content

function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q='
+ searchValue }); } exportFunction('setSearchUrl', setSearchUrl);


XIAM


function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q='
+ searchValue }); } exportFunction('setSearchUrl', setSearchUrl);

function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q='
+ searchValue }); } exportFunction('setSearchUrl', setSearchUrl); Search
Account
Log in Create an account
${data.data.count > 99 ? '99+' : data.data.count} 0 Cart
Your cart is reserved for ${data.mm}m ${data.ss}s 54s !
${data.line_items.map(item => { return `
${item.product_title}

${item.options.map(o => `
${o.name}: ${o.value}
`).join('')} ${(item.parsedProperties || []).map((propertie)=>{ if
(propertie.isImage){ return `
${propertie.name}: View image
` }else{ return `
${propertie.name}: ${propertie.value}
` } }).join('')}
Free gift
*${item.quantity}

${ (item.discount_applications || []).map(discount_item => { const
discount_item_amount = discount_item.discount_amount || discount_item.amount ||
''; return `
${discount_item.title}
(-)
` }).join('') }
`; }).join('')}

Add order note Add order note
Add order note Add order note

Add order note Add order note

Total:

${data.total_discount > 0 ? ( `
Save
${data.discount_applications.length > 0 && data.discount_applications.map(item
=> { return `
${item.title}:
` }).join('')}
` ) : ''} Check out

Taxes and shipping calculated at checkout
Total:

Check out

Taxes and shipping calculated at checkout
Your cart is currently empty.
Close
 * Home
 * All Products
 * Football shirt
 * Football
 * Other
   

Log in Create an account
 * Home
 * All Products
 * Football shirt
 * Football
 * Other
 * More links
   ${function() { var linkList = [ { id: 72805021, index: 1, title: "Home", url:
   '/', target: '', tag: "", product0: null , children: [ ] }, { id: 72805023,
   index: 2, title: "All Products", url: '/collections/all-products', target:
   '', tag: "", product0: null , children: [ ] }, { id: 72805025, index: 3,
   title: "Football shirt", url: '/collections/football-shirt', target: '', tag:
   "", product0: null , children: [ ] }, { id: 72805027, index: 4, title: "\t
   Football", url: '/collections/football', target: '', tag: "", product0: null
   , children: [ ] }, { id: 72805029, index: 5, title: "Other", url:
   '/collections/other', target: '', tag: "", product0: null , children: [ ] },
   ].slice(offset); var hasChild = linkList.some(v => (v.children &&
   v.children.length || v.product0)); if (!hasChild) { return `
      ${linkList.map(item => `
    * ${item.url ? ` ${item.title} ${item.tag ? ` ${item.tag.label} ` : ''} `: `
      ${item.title} ${item.tag ? ` ${item.tag.label} ` : ''}
      `} ${item.children.length ? ` ` : ''}
      `).join('')}
   
   ` } else { return `
      ${linkList.map(item => `
    * ${item.url ? ` ${item.title} ${item.tag ? ` ${item.tag.label} ` : ''} `: `
      ${item.title} ${item.tag ? ` ${item.tag.label} ` : ''}
      `} ${item.children.length ? ` ` : ''}
      `).join('')}
   
   ${linkList.map(item => `
   ${item.children ? `
      ${item.children.map(link => { return `
    * ${link.url ? ` ${link.title} ${link.tag ? ` ${link.tag.label} ` : ''} `: `
      ${link.title} ${link.tag ? ` ${link.tag.label} ` : ''}
      `} ${link.children ? `
        ${link.children.map(link_3 => `
      * ${link_3.url ? ` ${link_3.title} ${link_3.tag ? ` ${link_3.tag.label} `
        : ''} `: `
        ${link_3.title} ${link_3.tag ? ` ${link_3.tag.label} ` : ''}
        `}
        `).join('')}
      ` : ''}
      `}).join('')}
   
   ${function() { const data = item.product0; if (!data) return ''; return ` `
   }()}
   ` : ''}
   `).join('')} ` } }()}


function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q='
+ searchValue }); } exportFunction('setSearchUrl', setSearchUrl);

function setSearchUrl(searchValue) { return Promise.resolve({ url: '/search?q='
+ searchValue }); } exportFunction('setSearchUrl', setSearchUrl);

${function() { if (data === undefined || typeof data !== 'string' || data == '')
return `

`; if (data === 'close') return ''; return `

View more

`; }()}




FACTORY DIRECT SALES

FACTORY DIRECT SALES

Customizable name/number/bu'ding
Go Shopping





COLLECTION LIST


ALL PRODUCTS




FOOTBALL SHIRT




FOOTBALL




OTHER

Save
-
-${data.value}
${function() { var thumbSwitchName = ''; return (data.product.options ||
[]).map((option, index) => { const optionName = option.name || ''; const
position = `option${index + 1}`; var isThumbImage = false; if
(data.product.need_variant_image && thumbSwitchName === '') { const variantNames
= [] || []; for (let i = 0, len = variantNames.length; i < len; i++) { const
name = variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) {
isThumbImage = true; thumbSwitchName = name; } } } const variantType = "button";
const thumbStyle = "image"; const mouseEvent = isThumbImage ?
('single-product-variant-template-1735109766562-' + optionName +
'.rerender(data=event);') : ''; return (variantType == 'dropdown' &&
!isThumbImage) ? `
${optionName.toLowerCase()}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; return `${value}` }).join('')}

` : `
${optionName.toLowerCase()} -${data.selectedValues[optionName]}
${option.values.map((value,idx )=> { const selected =
data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage =
null; if (isThumbImage) { const variants = data.product.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} ${value}
` }).join('')}
`; }).join('') }()}
 - 
${function() { let availableQuantity = data && data.available_quantity; const
lowStock = 5; if (availableQuantity == undefined) { return ''; }
availableQuantity = Math.max(availableQuantity, 0); return availableQuantity >
lowStock ? ` ${("{stock} in stock, ready to be shipped").replace(/\{*stock*\}/,
availableQuantity)} ` : ` ${("Only {count} left!").replace(/\{*count*\}/,
availableQuantity)} `; }()}


PROFESSIONAL MATCH FOOTBALL FOR MEN PU SIZE 5 FUTBOL CHILD OUTDOOR SPORTS
TRAINING BALL HIGH QUALITY ADULT TEAM 2002 SOCCER BALL


Price
$51.53
$24.22
Save
$27.31
color -${data.value}
SIZE 5 E
SIZE 5 A
SIZE 5 B
SIZE 5 D
SIZE 5 C
Quantity

Add to cart
 - 
$24.22

Buy it now

Product was out of stock.
Product is unavailable.
Avaliability: in stock, ready to be shipped


ALL PRODUCTS

View all
 * SALE
   Spain Custom Soccer Jersey Sets Football Kits Kids Training Outfit Club
   Personalized Name Number Soccer Uniform for Boys & Girls
   $15.84
   $31.69
   -
   $15.85
   
   
 * SALE
   Personalized Black Gold American Football Jersey Custom Printed Team Name
   Number Fans Gift Men Women Youth Football Top
   $16.53
   $33.06
   -
   $16.53
   
   
 * SALE
   Custom American Football Jersey Personalized Blue White Team Printed Name
   Number Shirt Men Women Youth Kids Training Uniform
   $16.53
   $33.06
   -
   $16.53
   
   
 * SALE
   Custom American Football Jersey Red White Personalized Printed Team Name
   Number Breathable Football Top for Men Women Youth Kids
   $16.53
   $33.06
   -
   $16.53
   
   
 * SALE
   Custom American Football Jersey Black Red Personalized Print Team Name Number
   Men Women Youth Kids Football Training Shirts
   $16.53
   $33.06
   -
   $16.53
   
   
 * SALE
   Custom American Football Jersey Blue White Men Women Youth Personalized
   Printed Team Name Number Football Uniform Fans Gift
   $16.53
   $33.06
   -
   $16.53
   
   
 * SALE
   Custom Burgundy White American Football Jersey Personalized Printed Team Name
   Number Men Women Youth Kids Uniform Fans Gift
   $16.53
   $33.06
   -
   $16.53
   
   
 * SALE
   Personalized Navy Gray Green American Football Jersey Custom Print Team Name
   Number Training Jersey Men Women Youth Fans Shirt
   $16.53
   $33.06
   -
   $16.53
   
   
 * SALE
   Custom White Blue American Football Jersey for Men Women Youth Kids
   Personalized Printed Team Name Number Sportwear Fans Gift
   $16.53
   $33.06
   -
   $16.53
   
   
 * SALE
   Custom Red White American Football Jersey for Men Women Youth Kids
   Personalized Printed Team Name Number Football Top
   $16.48
   $32.96
   -
   $16.48
   
   

Sign up and save
Subscribe to get special offers, free giveaways, and once-in-a-lifetime deals.
Please fill in this field Please enter a valid email address
Subscribe
Thanks for subscribing

Sign Up For Newsletter

Subscribe to get special offers, free giveaways, and once-in-a-lifetime deals.
Thanks for subscribing


FOOTBALL SHOP

Factory direct sales, providing the ultimate cost-effectiveness, support
customization, welcome to consult.

American Express Apple Pay Mastercard PayPal
American Express Apple Pay Mastercard PayPal

© 2025 xiam



${function(){ const settings_product_title = "title"; const
product_grid_image_size = "100%"; const settings_product_image_hover_on = true;
let settings_product_save_label = true; const product_sold_out_label = true;
const settings_product_swatches_name = []; const
settings_collection_color_swatches = true; const variantShowLimit = 4; const
private_id = 'product-tmpl-' + Math.random().toFixed(6).slice(-6) const
product_variants = data.variants || []; const product_id = data.id; const images
= data.images || []; const image = data.image || {}; const imageWidth =
image.width; let imageHeight = image.height; if (product_grid_image_size !==
'natural') { imageHeight = (imageWidth * parseFloat(product_grid_image_size)) /
100; } const price = Number(data.price_min); let compareAtPrice =
Number(data.compare_at_price); let offRatio = data.off_ratio; const type =
data.type; const isMock = data.isMock; let product_image_hover_on = false; for
(let i = 0; i < product_variants.length; i++) { const item =
product_variants[i]; const vcap = Number(item.compare_at_price); if (item.price
== price && vcap > compareAtPrice) { compareAtPrice = vcap; offRatio =
item.off_ratio; } } let second_image = null; if
(settings_product_image_hover_on) { for (let i = 1; i < images.length; i++) {
const img = images[i]; if (img.src && img.src.indexOf('video=') === -1) {
second_image = img; product_image_hover_on = true; break; } } } let
sold_label_on = false; let sale_label_on = false; if
(settings_product_save_label == null) { settings_product_save_label = true; } if
(!data.available && product_sold_out_label) { sold_label_on = true; } if
(settings_product_save_label && compareAtPrice > price && data.available) {
sale_label_on = true; } const diffPrice = compareAtPrice - price; const
variantValues = []; const showVariants = []; if (data.need_variant_image &&
settings_collection_color_swatches && settings_product_swatches_name.length > 0)
{ for (let i = 0; i < (data.options || []).length; i++) { const option =
data.originData.options[i]; const optionName = option.name &&
option.name.toLowerCase(); if
(settings_product_swatches_name.includes(optionName)) { for (let j = 0; j <
product_variants.length; j++) { const variant = product_variants[j]; const value
= variant.options[i].value; if (!variantValues.includes(value)) {
variantValues.push(value); showVariants.push(variant); } } break; } } } return `
${function(){ if(showVariants.length == 0){ return ` ` } return ` ${
showVariants.map(item=>{ return ` `; }).join('') } ` }() } SOLD OUT SALE
${ showVariants.slice(0,variantShowLimit).map((item,index)=>{ return `

`; }).join('') } +${showVariants.length - variantShowLimit}
${(settings_product_title === 'sub_title' && data.brief) ? data.brief :
data.title}
-

${data.available ? `

` : ''}
`; }()}


CART

Your cart is reserved for ${data.mm}m ${data.ss}s !
${data.line_items.map(item => { return `
${item.product_title}

${item.options.map(o => `
${o.name}: ${o.value}
`).join('')} ${(item.parsedProperties || []).map((propertie)=>{ if
(propertie.isImage){ return `
${propertie.name}: View image
` }else{ return `
${propertie.name}: ${propertie.value}
` } }).join('')}
Free gift
*${item.quantity}

${ (item.discount_applications || []).map(discount_item => { const
discount_item_amount = discount_item.discount_amount || discount_item.amount ||
''; return `
${discount_item.title}
(-)
` }).join('') }
`; }).join('')}
cart
cart
Your cart is currently empty.
Continue shopping

Add order note Add order note

Total:

${data.total_discount > 0 ? ( `
Save
${data.discount_applications.length > 0 && data.discount_applications.map(item
=> { return `
${item.title}:
` }).join('')}
` ) : ''} Check out

Taxes and shipping calculated at checkout
Add order note Add order note

Total:

${data.total_discount > 0 ? ( `
Save
${data.discount_applications.length > 0 && data.discount_applications.map(item
=> { return `
${item.title}:
` }).join('')}
` ) : ''} Check out

Taxes and shipping calculated at checkout
${function(){ const productData = data.product; const selectedVariant =
productData.variants.find(v => v.available) || productData.variants[0]; const
product_options = productData.options.filter(Boolean) || []; const handleName =
(name) => name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, ''); const mouseoutevent =
productData.options.map((opt) =>
`@${handleName(opt.name)}Mouseout="qs-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join('
'); const mouseoverevent = productData.options.map((opt) =>
`@${handleName(opt.name)}Mouseover="qs-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join('
'); return `
Price
${function() { const origin = "shop" const product = (origin === 'shop' ?
data.product : data) || {}; const selectedVariant = product.variants.find(v =>
v.available) || product.variants[0]; return !!selectedVariant ? `
Save
` : `
-
`; }()}
Quantity
${selectedVariant.available ? "Add to cart" : "SOLD OUT"}

Buy it now

Product was out of stock.
Product is unavailable.
${function() { const MAX_INVENTORY = 999999; const product0 =
Object.prototype.toString.call(data) == '[object Array]' ? data[0] :
(data.product || data); const inventoryQty = product0.inventory_quantity; const
inventoryPolicy = product0.inventory_policy; const inventoryTracking =
product0.inventory_tracking; const exactInventoryStatusId =
"quick-shop-exact-inventory-render"; const lowStock = 5; const selectedVariant =
product0.variants.find(v => v.available) || product0?.variants[0]; const
selectedVariantAvailableQuantity = selectedVariant &&
selectedVariant.available_quantity; let actualInventory = inventoryQty; if
((inventoryTracking && inventoryPolicy == 'continue') || !inventoryTracking) {
actualInventory = MAX_INVENTORY; } return ` Avaliability: Out of stock in stock,
ready to be shipped Low stock `; }()}
` }()}
${function(){ let thumbSwitchName = ''; return (data.product.options ||
[]).map((option, index) => { const optionName = option.name || ''; const
optionId = option.id || ''; const position = `option${index + 1}`; let
isThumbImage = false; const thumbStyle = "image"; const variantType = "button";
if (data.product.need_variant_image && thumbSwitchName === '') { const
variantNames = [] || []; for (let i = 0, len = variantNames.length; i < len;
i++) { const name = variantNames[i].toLowerCase(); if (name ===
optionName.toLowerCase()) { isThumbImage = true; thumbSwitchName = name; } } }
return (variantType == 'dropdown' && !isThumbImage) ? `
${optionName.toLowerCase()}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; return `${value}` }).join('')}
` : ` ${optionName}:  ${data.selectedValues[optionName]}
${option.values.map((value,idx) => { const selected =
data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage =
null; if (isThumbImage) { const variants = data.product.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('')}
` }).join('') }()}
${function(){ const { currentOptName, originData: { selectData, value } } =
data; const optionValue = selectData ? selectData[currentOptName].value[0] :
value; return `${optionValue}` }()}
Save
-
const carousel = document.getElementById('quick-view-images'); const selecotr =
document.getElementById('quick-view-thumb-images'); const resizeObserver = new
ResizeObserver(entries => { for (let entry of entries) { const { height } =
entry.contentRect; selecotr.style.height = height + 'px'; } });
resizeObserver.observe(carousel);
${function(){ const remove_variant_images_on = false; let product_swatches_name
= []; product_swatches_name = product_swatches_name.map((name) =>
name.toLowerCase()); const variantsNamesSet = new Set(data.options.map((opt) =>
opt.name.toLowerCase()) || []); const containsSwatches =
product_swatches_name.some((name) => variantsNamesSet.has(name)); const
handleName = (name) => name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, ''); const
mouseoutevent = data.options.map((opt) =>
`@${handleName(opt.name)}Mouseout="qv-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join('
'); const mouseoverevent = data.options.map((opt) =>
`@${handleName(opt.name)}Mouseover="qv-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join('
'); const variants = data?.variants?.map((item) => item.image.path) || []; const
productData = data; let images = data.images; if(remove_variant_images_on &&
containsSwatches) { images = data.images.filter((img) =>
!variants.includes(img.path)); } const selectedVariant = data.variants.find(v =>
v.available) || data.variants[0]; const selectedIndex = !!selectedVariant ?
images.findIndex(img => img.src === (selectedVariant.image &&
selectedVariant.image.src)) : 0; const initialSlide = selectedIndex === -1 ? 0 :
selectedIndex; return `
${images.map((image, index) => ` `).join('')}
${images.map(image => `

`).join('')} ${images.length > 1 ? ` ` : ''}

${data.title}
Price
${function() { const origin = "view" const product = (origin === 'shop' ?
data.product : data) || {}; const selectedVariant = product.variants.find(v =>
v.available) || product.variants[0]; return !!selectedVariant ? `
Save
` : `
-
`; }()}
Quantity
${selectedVariant.available ? "Add to cart" : "SOLD OUT"}

Buy it now

Product was out of stock.
Product is unavailable.
${function() { const MAX_INVENTORY = 999999; const product0 =
Object.prototype.toString.call(data) == '[object Array]' ? data[0] :
(data.product || data); const inventoryQty = product0.inventory_quantity; const
inventoryPolicy = product0.inventory_policy; const inventoryTracking =
product0.inventory_tracking; const exactInventoryStatusId =
"quick-view-exact-inventory-render"; const lowStock = 5; const selectedVariant =
product0.variants.find(v => v.available) || product0?.variants[0]; const
selectedVariantAvailableQuantity = selectedVariant &&
selectedVariant.available_quantity; let actualInventory = inventoryQty; if
((inventoryTracking && inventoryPolicy == 'continue') || !inventoryTracking) {
actualInventory = MAX_INVENTORY; } return ` Avaliability: Out of stock in stock,
ready to be shipped Low stock `; }()}
` }()}

${function(){ let thumbSwitchName = ''; return (data.product.options ||
[]).map((option, index) => { const optionName = option.name || ''; const
optionId = option.id || ''; const position = `option${index + 1}`; let
isThumbImage = false; const thumbStyle = "image"; const variantType = "button";
if (data.product.need_variant_image && thumbSwitchName === '') { const
variantNames = [] || []; for (let i = 0, len = variantNames.length; i < len;
i++) { const name = variantNames[i].toLowerCase(); if (name ===
optionName.toLowerCase()) { isThumbImage = true; thumbSwitchName = name; } } }
return (variantType == 'dropdown' && !isThumbImage) ? `
${optionName.toLowerCase()}
${option.values.map(value => { const selected = data.selectedValues[optionName]
== value ? 'selected' : ''; return `${value}` }).join('')}
` : ` ${optionName}:  ${data.selectedValues[optionName]}
${option.values.map((value,idx) => { const selected =
data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage =
null; if (isThumbImage) { const variants = data.product.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('')}
` }).join('') }()}
${function(){ const { currentOptName, originData: { selectData, value } } =
data; const optionValue = selectData ? selectData[currentOptName].value[0] :
value; return `${optionValue}` }()}
Save
-

 - 
111

GIFTS

POINTS