<!doctype html>
<html class="no-js group/html enable-animations" lang="en" data-editor-open="false">
  <head>
    <script src="//d1liekpayvooaz.cloudfront.net/apps/customizery/customizery.js?shop=needlepoint-com.myshopify.com"></script>
    <!-- Start of Shoplift scripts -->
    <!-- 2026-05-07T22:22:19.6826516Z -->
<style>.shoplift-hide { opacity: 0 !important; }</style>
<style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style>
<script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2026-06-09T01:15:16.2209950Z */(function(){"use strict";var tt=document.createElement("style");tt.textContent=`#shoplift-preview-control{position:fixed;max-width:332px;height:56px;background-color:#141414;z-index:9999;bottom:20px;display:flex;border-radius:8px;box-shadow:13px 22px 7px #0000,9px 14px 7px #00000003,5px 8px 6px #0000000d,2px 4px 4px #00000017,1px 1px 2px #0000001a,0 0 #0000001a;align-items:center;margin:0 auto;left:16px;right:16px;opacity:0;transform:translateY(20px);visibility:hidden;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s .4s}#shoplift-preview-control.visible{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s 0s}#shoplift-preview-control *{font-family:Inter,sans-serif;color:#fff;box-sizing:border-box;font-size:16px}#shoplift-preview-variant-title{font-weight:400;line-height:140%;font-size:16px;text-align:start;letter-spacing:-.16px;flex-grow:1;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}#shoplift-preview-variant-selector{position:relative;display:block;padding:6px 0;height:100%;min-width:0;flex:1 1 auto}#shoplift-preview-variant-menu-trigger{border:none;cursor:pointer;width:100%;background-color:transparent;padding:0 16px;border-left:1px solid #333;border-right:1px solid #333;height:100%;display:flex;align-items:center;justify-content:start;gap:8px}#shoplift-preview-variant-selector .menu-variant-label{width:24px;height:24px;border-radius:50%;padding:6px;display:flex;justify-content:center;align-items:center;font-size:12px;font-style:normal;font-weight:600;line-height:100%;letter-spacing:-.12px;flex-shrink:0}#shoplift-preview-variant-selector .preview-variant-menu{position:absolute;bottom:110%;transform:translate3d(0,20px,0);visibility:hidden;pointer-events:none;opacity:0;cursor:pointer;background-color:#141414;border:1px solid #141414;border-radius:6px;width:100%;max-height:156px;overflow-y:auto;box-shadow:0 8px 16px #0003;z-index:1;transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s .3s}#shoplift-preview-variant-selector .preview-variant-menu.preview-variant-menu__visible{visibility:visible;pointer-events:auto;opacity:100;transform:translateZ(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s 0s}@media screen and (max-width:400px){#shoplift-preview-variant-selector .preview-variant-menu{position:fixed;left:0;right:0;width:auto;bottom:110%}}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item{padding:12px 16px;display:flex;overflow:hidden}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item .menu-variant-label{margin-right:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item span{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;white-space:nowrap;color:#f6f6f6;font-size:14px;font-style:normal;font-weight:500}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:hover{background-color:#545454}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:last-of-type{border-bottom-left-radius:6px;border-bottom-right-radius:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}#shoplift-preview-control div:has(#shoplift-exit-preview-button){padding:0 16px}#shoplift-exit-preview-button{padding:6px 8px;font-weight:500;line-height:75%;border-radius:4px;background-color:transparent;border:none;text-decoration:none}#shoplift-exit-preview-button:hover{cursor:pointer;background-color:#333}#shoplift-preview-subscription-warning{position:relative;display:flex;align-items:center;gap:6px;padding:6px 10px;margin:0 4px;border-left:1px solid #333;cursor:help;outline:none}#shoplift-preview-subscription-warning__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#f59e0b;color:#141414!important;font-weight:700;font-size:12px!important;line-height:1;flex-shrink:0}#shoplift-preview-subscription-warning__label{font-size:13px!important;font-weight:500;color:#fbbf24!important;text-wrap:nowrap;white-space:nowrap}#shoplift-preview-subscription-warning__tooltip{position:absolute;bottom:calc(100% + 8px);right:0;max-width:320px;width:max-content;padding:10px 12px;border-radius:6px;background-color:#1f1f1f;color:#fff!important;font-size:12px!important;line-height:1.4!important;box-shadow:0 8px 16px #0000004d;z-index:10000;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s .2s;pointer-events:none}#shoplift-preview-subscription-warning__tooltip.shoplift-preview-subscription-warning__tooltip--visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s 0s}#shoplift-preview-subscription-warning:focus-visible{box-shadow:inset 0 0 0 2px #f59e0b;border-radius:4px}#shoplift-preview-control:has(#shoplift-preview-subscription-warning){max-width:480px}/*$vite$:1*/`,document.head.appendChild(tt);var ht=" daum[ /]| deusu/| yadirectfetcher|(?:^|[^g])news(?!sapphire)|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!(?: ya| yandex|^job|inapp;) ?)search|(?<!(?:lib))http|(?<![hg]m)score|@[a-z][\\w-]+\\.|\\(\\)|\\.com|\\b\\d{13}\\b|^<|^[\\w \\.\\-\\(?:\\):]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[^ ]{50,}$|^\\d+\\b|^\\w+/[\\w\\(\\)]*$|^active|^ad muncher|^amaya|^avsdevicesdk/|^biglotron|^bot|^bw/|^clamav[ /]|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d \\(compatible;?\\)$|^mozilla/\\d\\.\\d \\w*$|^navermailapp|^netsurf|^offline|^owler|^postman|^python|^rank|^read|^reed|^rest|^rss|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^valid|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|^{{.*}}$|admin|analyzer|archive|ask jeeves/teoma|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check|chrome-lighthouse|chromeframe|classifier|clean|cloud|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|evc-batch/|feed|firephp|gomezagent|headless|httrack|hubspot marketing grader|hydra|ibisbrowser|images|insight|inspect|iplabel|ips-agent|java(?!;)|library|mail\\.ru/|manager|measure|neustar wpm|node|nutch|offbyone|optimize|pageburst|pagespeed|parser|perl|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|reputation|resolver|retriever|rexx;|rigor|rss\\b|scan|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|synapse|synthetic|tools|torrent|trace|transcoder|url|virtuoso|wappalyzer|watch|webglance|webkit2png|whatcms/|zgrab",ft=/bot|spider|crawl|http|lighthouse/i,z;function gt(){if(z instanceof RegExp)return z;try{z=new RegExp(ht,"i")}catch{z=ft}return z}function mt(a){return!!a&&gt().test(a)}class Q{timestamp;constructor(){this.timestamp=new Date}}class yt extends Q{type;testId;hypothesisId;constructor(t,e,i){super(),this.type=3,this.testId=t,this.hypothesisId=e,this.timestamp=i}}class vt extends Q{type;path;constructor(t){super(),this.type=4,this.path=t}}class wt extends Q{type;cart;constructor(t){super(),this.type=5,this.cart=t}}class et extends Error{isBot;constructor(){super(),this.isBot=!0}}function bt(a,t,e){for(const i of t.selectors){const s=a.querySelectorAll(i.cssSelector);for(let r=0;r<s.length;r++)e(t.testId,t.hypothesisId)}st(a,t,(i,s,r,n,o)=>o(s,r),e)}function U(a,t,e){for(const i of t.selectors)rt(a,t.testId,t.hypothesisId,i,e??(()=>{}));st(a,t,rt,e??(()=>{}))}function it(a){return a.urlPatterns.reduce((t,e)=>{switch(e.operator){case"contains":return t+`.*${e}.*`;case"endsWith":return t+`.*${e}`;case"startsWith":return t+`${e}.*`}},"")}function st(a,t,e,i){new MutationObserver(()=>{for(const r of t.selectors)e(a,t.testId,t.hypothesisId,r,i)}).observe(a.documentElement,{childList:!0,subtree:!0})}function rt(a,t,e,i,s){const r=a.querySelectorAll(i.cssSelector);for(let n=0;n<r.length;n++){let o=r.item(n);if(o instanceof HTMLElement&&o.dataset.shoplift!==""){o.dataset.shoplift="";for(const l of i.actions.sort(kt))o=St(a,i.cssSelector,o,l)}}return r.length>0&&s?(s(t,e),!0):!1}function St(a,t,e,i){switch(i.type){case"innerHtml":e.innerHTML=i.value;break;case"attribute":Ct(e,i.scope,i.value);break;case"css":Tt(a,t,i.value);break;case"js":It(a,e,i);break;case"copy":return Pt(e);case"remove":At(e);break;case"move":Et(e,parseInt(i.value));break}return e}function Ct(a,t,e){a.setAttribute(t,e)}function Tt(a,t,e){const i=a.createElement("style");i.innerHTML=`${t} { ${e} }`,a.getElementsByTagName("head")[0]?.appendChild(i)}function It(a,t,e){Function("document","element",`"use strict"; ${e.value}`)(a,t)}function Pt(a){const t=a.cloneNode(!0);if(!a.parentNode)throw"Can't copy node outside of DOM";return a.parentNode.insertBefore(t,a.nextSibling),t}function At(a){a.remove()}function Et(a,t){if(t===0)return;const e=Array.prototype.slice.call(a.parentElement.children).indexOf(a),i=Math.min(Math.max(e+t,0),a.parentElement.children.length-1);a.parentElement.children.item(i).insertAdjacentElement(t>0?"afterend":"beforebegin",a)}function kt(a,t){return nt(a)-nt(t)}function nt(a){return a.type==="copy"||a.type==="remove"?0:1}var M=(a=>(a[a.Template=0]="Template",a[a.Theme=1]="Theme",a[a.UrlRedirect=2]="UrlRedirect",a[a.Script=3]="Script",a[a.Dom=4]="Dom",a[a.Price=5]="Price",a))(M||{});const xt="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.96001%207.90004C9.86501%207.90004%209.77001%207.86504%209.69501%207.79004L6.43501%204.53004C6.19501%204.29004%205.80501%204.29004%205.56501%204.53004L2.30501%207.79004C2.16001%207.93504%201.92001%207.93504%201.77501%207.79004C1.63001%207.64504%201.63001%207.40504%201.77501%207.26004L5.03501%204.00004C5.56501%203.47004%206.43001%203.47004%206.96501%204.00004L10.225%207.26004C10.37%207.40504%2010.37%207.64504%2010.225%207.79004C10.15%207.86004%2010.055%207.90004%209.96001%207.90004Z'%20fill='white'/%3e%3c/svg%3e",_t="data:image/svg+xml,%3csvg%20width='14'%20height='24'%20viewBox='0%200%2014%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.3976%2014.5255C12.2833%2013.8788%2012.0498%2013.3024%2011.6952%2012.7961C11.3416%2012.2898%2010.9209%2011.8353%2010.4353%2011.4317C9.94868%2011.0291%209.43546%2010.6488%208.89565%2010.292C8.48487%2010.049%208.09577%209.78565%207.72637%209.50402C7.35697%209.2224%207.08016%208.89503%206.89694%208.51987C6.71273%208.14471%206.67826%207.69533%206.79055%207.1697C6.86345%206.83216%206.97476%206.54647%207.12351%206.31162C7.27324%206.07778%207.47124%205.89986%207.7175%205.77684C7.96377%205.65483%208.21989%205.59383%208.48389%205.59383C8.88087%205.59383%209.17639%205.7016%209.3734%205.91714C9.56943%206.13268%209.68271%206.42345%209.71424%206.78946C9.74576%207.15547%209.72015%207.55401%209.63839%207.98509C9.55663%208.41617%209.43645%208.84724%209.27687%209.27934L13.5127%208.80149C13.9638%207.52656%2014.1017%206.42447%2013.9264%205.49725C13.751%204.56901%2013.2664%203.85122%2012.4724%203.34491C12.239%203.19648%2011.9779%203.07041%2011.6893%202.96569L12.0026%201.50979L9.86397%200L7.3875%201.50979L7.11169%202.78878C6.65166%202.8874%206.21724%203.01957%205.8114%203.19038C4.85292%203.594%204.06684%204.15115%203.45117%204.86385C2.83452%205.57655%202.42571%206.40108%202.22378%207.33847C2.06616%208.06947%202.04942%208.70796%202.17551%209.25087C2.30061%209.7948%202.52028%2010.2828%202.8355%2010.7139C3.14974%2011.145%203.51816%2011.5344%203.93977%2011.881C4.36039%2012.2288%204.782%2012.5521%205.20164%2012.851C5.68334%2013.1702%206.13844%2013.5169%206.56497%2013.8921C6.99052%2014.2672%207.31954%2014.7125%207.55004%2015.228C7.78055%2015.7445%207.81502%2016.3769%207.65347%2017.1262C7.56482%2017.5389%207.43676%2017.8765%207.27028%2018.1388C7.10381%2018.4011%206.89596%2018.5983%206.64772%2018.7295C6.3985%2018.8606%206.12071%2018.9267%205.8114%2018.9267C5.21641%2018.9267%204.79776%2018.6034%204.62833%2018.1632C4.4589%2017.7229%204.47367%2017.2583%204.60075%2016.5639C4.72782%2015.8705%205.05092%2015.1395%205.37107%2014.3699H1.17665C1.17665%2014.3699%200.207341%2016.1115%200.0310135%2017.6762C-0.0655232%2018.5302%200.0635208%2019.2653%200.41519%2019.8844C0.76686%2020.5036%201.33032%2020.9814%202.10655%2021.319C2.39222%2021.443%202.7104%2021.5447%203.05813%2021.623L2.54589%2024H7.17473L7.7047%2021.5386C8.08493%2021.442%208.43857%2021.3231%208.76562%2021.1787C9.73985%2020.7476%2010.52%2020.1427%2011.1071%2019.3649C11.6932%2018.5871%2012.0873%2017.7291%2012.2892%2016.7917C12.4744%2015.9295%2012.5099%2015.1741%2012.3966%2014.5275L12.3976%2014.5255Z'%20fill='white'/%3e%3c/svg%3e";async function Rt(a){let t=a.replace(/-/g,"+").replace(/_/g,"/");for(;t.length%4;)t+="=";const e=atob(t),i=Uint8Array.from(e,n=>n.charCodeAt(0)),s=new Blob([i]).stream().pipeThrough(new DecompressionStream("gzip")),r=await new Response(s).text();return JSON.parse(r)}function F(a,t){return typeof t=="string"&&/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d+(?:Z|[+-]\d+)/.test(t)?new Date(t):t}function X(a,t){return t}function q(a,t=!1,e=!1,i=","){const s=a/100;if(e){const n=Math.round(s).toLocaleString("en-US");return i!==","?n.replace(/,/g,i):n}else{const r=t?",":".",n=s.toFixed(2).split("."),o=parseInt(n[0],10),l=n[1]??"00",c=o.toLocaleString("en-US");return i!==","?`${c.replace(/,/g,i)}${r}${l}`:t?`${c.replace(/,/g,".")}${r}${l}`:`${c}${r}${l}`}}function H(a,t,e,i){const s=t.replace("{{amount}}",q(a,!1,!1)).replace("{{amount_no_decimals}}",q(a,!1,!0)).replace("{{amount_with_comma_separator}}",q(a,!0,!1)).replace("{{amount_no_decimals_with_comma_separator}}",q(a,!0,!0)).replace("{{amount_with_space_separator}}",q(a,!1,!1," ")).replace("{{amount_no_decimals_with_space_separator}}",q(a,!1,!0," ")).replace("{{amount_with_apostrophe_separator}}",q(a,!1,!1,"'")).replace("{{amount_no_decimals_with_apostrophe_separator}}",q(a,!1,!0,"'")).replace("{{amount_with_period_and_space_separator}}",q(a,!1,!1,". ")).replace("{{amount_no_decimals_with_period_and_space_separator}}",q(a,!1,!0,". "));return i?`${s} ${e}`:s}function ot(a){return a.replace(/[^\d.,\s-]/g,"").trim()}function j(a){const t=new Map;for(const[e,i,s]of a.variants)t.set(e,{priceInCents:i,compareAtPriceInCents:s});return t}function Dt(a,t,e,i){const{priceInCents:s,compareAtPriceInCents:r}=e,{moneyFormat:n,currency:o,currencyCodeEnabled:l}=i;if(a.getAttribute("data-sl-attribute-p")===t)a.innerHTML=H(s,n,o,l);else if(a.getAttribute("data-sl-attribute-cap")===t)r<=0||r<=s?a.remove():a.innerHTML=H(r,n,o,l);else if(a.getAttribute("data-sl-attribute-discount")===t&&!(r<=0||r<=s)){const d=Math.round((r-s)/r*100),p=ot(H(r-s,n,o,!1)),h=a.getAttribute("data-sl-format")||"percent";h==="percent"?a.textContent=`-${d}%`:h==="amount"?a.textContent=`-${p}`:h==="both"&&(a.textContent=`-${d}% (-${p})`)}}function Ot(a){const t=[],e={id:"url-pattern",operator:"contains",value:"/"};for(const[i,s,r]of a.variants){t.push({id:`p-${i}`,cssSelector:`[data-sl-attribute-p="${i}"]`,urlPatterns:[e],actions:[{id:`p-action-${i}`,type:"innerHtml",scope:"price",value:H(s,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]});const n=r<=0||r<=s;if(t.push({id:`cap-${i}`,cssSelector:`[data-sl-attribute-cap="${i}"]`,urlPatterns:[e],actions:[{id:`cap-action-${i}`,type:n?"remove":"innerHtml",scope:"compare-at-price",value:n?"":H(r,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]}),!n&&r>s){const o=Math.round((r-s)/r*100),l=ot(H(r-s,a.moneyFormat,a.currency,!1));t.push({id:`d-${i}`,cssSelector:`[data-sl-attribute-discount="${i}"]`,urlPatterns:[e],actions:[{id:`d-action-${i}`,type:"js",scope:null,value:`var format = element.getAttribute('data-sl-format') || 'percent';                    if (format === 'percent') {                      element.textContent = '-${o}%';                    } else if (format === 'amount') {                      element.textContent = '-${l}';                    } else if (format === 'both') {                      element.textContent = '-${o}% (-${l})';                    }`}]})}}return t}const Jt="modulepreload",Yt=function(a){return"/"+a},Zt={},Vt=function(t,e,i){let s=Promise.resolve();function r(n){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=n,window.dispatchEvent(o),!o.defaultPrevented)throw n}return s.then(n=>{for(const o of n||[])o.status==="rejected"&&r(o.reason);return t().catch(r)})};function at(a,t,e){const i=e?a.plans.filter(c=>!c.variantId||c.variantId===e):a.plans,s=[],r=[];for(const c of i)c.direction==="decrease"?(s.push(c.existingShopifyPlanId),r.push(c.createdShopifyPlanId)):(s.push(c.createdShopifyPlanId),r.push(c.existingShopifyPlanId));const n=t?s:r,o=t?r:s;if(e)for(const c of a.plans)for(const d of[c.existingShopifyPlanId,c.createdShopifyPlanId])d&&!n.includes(d)&&!o.includes(d)&&o.push(d);const l={};for(let c=0;c<o.length;c++){const d=o[c],p=n[c];d&&p&&(l[d]=p)}return{showPlanIds:n,hidePlanIds:o,swapMap:l}}function lt(a,t,e){const i=t?a.plans.find(r=>r.variantId===t):void 0;if(i)return i.direction;if(e){const r=a.plans.find(n=>n.productId===e);if(r)return r.direction}return a.plans.find(r=>!r.variantId)?.direction??null}function K(a,t){const e=t?a.plans.filter(r=>!r.productId||r.productId===t):a.plans,i={};for(const r of e)i[r.existingShopifyPlanId]=r.existingDiscountAmount,i[r.createdShopifyPlanId]=r.existingDiscountAmount;const s=Math.max(...Object.values(i),0);return{discountMap:i,maxDiscount:s}}function W(a){const t=document.querySelector('form[action*="/cart/add"] input[name="product-id"]')?.value;if(t)return t;if(a){for(const r of Array.from(document.querySelectorAll("[data-sl-attribute-p]"))){const n=r.getAttribute("data-sl-attribute-p");if(!n)continue;const o=a.variants.find(l=>l[0]===n);if(o?.[3])return o[3]}const s=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(s){const r=a.variants.find(n=>n[0]===s);if(r?.[3])return r[3]}}const e=window,i=e.ShopifyAnalytics?.meta?.product?.id??e.meta?.product?.id;return i!=null?String(i):null}function D(a,t){return a.widget.selectors[t]??[]}function N(a,t){return a.replace(/[\d.]+%/,`${t}%`)}function $(a,t){const e=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);let i=e.nextNode();for(;i;){if(i.nodeValue!==null){const s=t(i.nodeValue);if(s!==i.nodeValue){i.nodeValue=s;return}}i=e.nextNode()}}function ct(a,t){return a===null?!1:a==="decrease"?!t:t}async function Lt(a){if(a.subscriptionSwapDone)return;const t=a.getActiveAssignment();if(!t)return;const e=a.getHypothesis(t.hypothesisId);if(!e?.subscriptionData)return;a.subscriptionSwapDone=!0;const i=e.subscriptionData,s=e.isControl,r=[...new Set(i.plans.map(d=>d.direction))].join(",");a.log(`[SUB-SWAP] ${s?"A":"B"} side, directions=${r}`);const n=i.plans.some(d=>d.variantId);let o=!1,l=!1;function c(){if(!l){l=!0;try{const d=n?document.querySelector("select[name='id'], input[name='id']")?.value:void 0,{showPlanIds:p,hidePlanIds:h,swapMap:u}=at(i,s,d);a.swapMap=u;const b=D(i,"widgetParent"),k=D(i,"subscriptionPlans"),S=D(i,"subscriptionInput");if(!b.length||!k.length||!S.length)return;const P=document.querySelector(b[0].selector);if(!P?.shadowRoot)return;const _=P.shadowRoot.querySelector(k[0].selector);if(!_?.shadowRoot)return;const C=S[0].selector;let m=null;if(i.widget.widgetType==="buttons"||i.widget.widgetType==="radio"){const y=Array.from(_.shadowRoot.querySelectorAll(C));if(!y.length)return;for(const v of y){const g=v.closest("label");g&&(p.includes(v.value)?g.style.display="":h.includes(v.value)&&(g.style.display="none"))}const w=y.some(v=>p.includes(v.value)&&v.checked),T=y.some(v=>h.includes(v.value)&&v.checked);if((w||T)&&(o=!1),!w&&!o){o=!0;for(const v of y)if(p.includes(v.value)){v.closest("label")?.click(),v.dispatchEvent(new Event("change",{bubbles:!0}));break}}const f=y.find(v=>v.checked);m=f&&p.includes(f.value)?f.value:p[0]??null}else if(i.widget.widgetType==="dropdown"){const y=_.shadowRoot.querySelector("select");if(!y)return;for(const w of Array.from(y.options))h.includes(w.value)&&(w.style.display="none",w.disabled=!0);if(h.includes(y.value)){const w=Array.from(y.options).find(T=>p.includes(T.value));w&&(y.value=w.value,y.dispatchEvent(new Event("change",{bubbles:!0})))}m=p.includes(y.value)?y.value:p[0]??null}if(m){const y=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const w of y)w.value!==m&&(w.value=m)}}finally{l=!1}}}if(a.subscriptionHideWrongPlans=c,a.swapMap=at(i,s).swapMap,c(),n){const d=document.querySelector("select[name='id'], input[name='id']");d&&d.addEventListener("change",c)}}function B(a){const t=D(a,"widgetParent");return t.length?document.querySelector(t[0].selector)?.shadowRoot??null:null}function J(a,t){const e=D(a,"subscriptionPlans");return e.length?t.querySelector(e[0].selector)?.shadowRoot??null:null}function Y(a,t){const e=new URLSearchParams(window.location.search).get("variant");if(e)return e;{const i=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(i)return i}return a.size>0?[...a.keys()][0]:void 0}function G(a,t){return H(a,t.moneyFormat,t.currency,t.currencyCodeEnabled)}function $t({originalFetch:a,swapMap:t,slptValue:e,getSelectedPlanId:i,log:s}){if(window.fetch.__shoplift_intercepted)return s("[SUB-INTERCEPT] already installed — skipping"),()=>{};function r(o){if(i){const l=i();if(l)return t[l]??l}return t[o]??o}const n=function(o,l){if((typeof o=="string"?o:o instanceof URL?o.href:o.url).includes("/cart/add")&&l?.body)try{if(l.body instanceof FormData){const d=l.body.get("selling_plan");d?l.body.set("selling_plan",r(String(d))):(!d||d==="")&&e&&l.body.set("properties[_slpt]",e)}else if(typeof l.body=="string"){const d=JSON.parse(l.body);if(d.items)for(const p of d.items){const h=String(p.selling_plan??"");h?p.selling_plan=r(h):!p.selling_plan&&e&&(p.properties||(p.properties={}),p.properties._slpt=e)}else if(d.id){const p=String(d.selling_plan??"");p?d.selling_plan=r(p):!d.selling_plan&&e&&(d.properties||(d.properties={}),d.properties._slpt=e)}l.body=JSON.stringify(d)}}catch(d){s("[SUB-INTERCEPT] body parse failed; cart-add proceeds with un-swapped plan",d)}return a.call(window,o,l)};return n.__shoplift_intercepted=!0,window.fetch=n,function(){window.fetch===n&&(window.fetch=a)}}function Mt({log:a}){if(window.fetch.__shoplift_intercepted)return a("[SUB-PREVIEW-BLOCK] already installed — skipping"),()=>{};const t=window.fetch,e=function(i,s){const r=typeof i=="string"?i:i instanceof URL?i.href:i.url;return r.includes("/cart/add")?(a("[SUB-PREVIEW-BLOCK] cart-add blocked in preview mode",{url:r}),Promise.resolve(new Response(JSON.stringify({id:0,properties:{},quantity:0,variant_id:0,key:"preview",title:"Preview — cart-add blocked",price:0,original_price:0,line_price:0,original_line_price:0,total_discount:0,discounts:[],preview:!0}),{status:200,headers:{"Content-Type":"application/json"}}))):t.call(window,i,s)};return e.__shoplift_intercepted=!0,window.fetch=e,function(){window.fetch===e&&(window.fetch=t)}}function dt({data:a,runUpdates:t,debounceMs:e=150}){let i=null;function s(){i&&clearTimeout(i),t(),i=setTimeout(t,e)}let r=null;const n=[],o={childList:!0,subtree:!0,characterData:!0,attributes:!0};function l(h){for(const u of n)u.disconnect();n.length=0;for(const u of Array.from(h.querySelectorAll("*")))if(u.shadowRoot){const b=new MutationObserver(s);b.observe(u.shadowRoot,o),n.push(b)}}function c(){const h=B(a);return h?(r&&r.disconnect(),l(h),r=new MutationObserver(u=>{u.some(b=>b.type==="childList"&&b.addedNodes.length>0)&&l(h),s()}),r.observe(h,o),!0):!1}const d=document.body||document.documentElement,p=new MutationObserver(()=>{c()&&s()});return p.observe(d,{childList:!0,subtree:!0}),c()&&s(),t(),function(){i&&(clearTimeout(i),i=null),p.disconnect(),r&&(r.disconnect(),r=null);for(const u of n)u.disconnect();n.length=0}}async function qt(a){if(a.subscriptionPriceDone)return;const t=a.getActiveAssignment(),e=t?a.getHypothesis(t.hypothesisId):void 0,i=e?.subscriptionData?null:a.findActiveSubscriptionTestControl(),s=e?.subscriptionData?e:i?.hypothesis;if(!s?.subscriptionData)return;const r=e?.subscriptionData?t.testId:i.testId;a.subscriptionPriceDone=!0;const n=s.subscriptionData,o=s.isControl,l=s.priceData,c=n.widget.widgetType;let d=W(l),p=K(n,d),h=p.discountMap,u=p.maxDiscount;function b(){const g=W(l);g!==d&&(d=g,p=K(n,d),h=p.discountMap,u=p.maxDiscount,a.log(`[SUB-PRICE] scope refreshed side=${o?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${u}`))}a.log(`[SUB-PRICE] side=${o?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${u}`),a.updatePriceTestHiddenInputs(r,o?"control":"variant",!1);function k(){if(!l)return null;const g=j(l),I=Y(g),A=lt(n,I,d);if(!ct(A,o))return null;const E=I?g.get(I):void 0;return E?{formattedVariantPrice:G(E.priceInCents,l),formattedDiscounted:G(E.priceInCents*(1-u/100),l)}:null}$t({originalFetch:a.fetch,swapMap:a.swapMap??{},slptValue:a.slptValue??void 0,log:a.log,getSelectedPlanId:()=>{const g=B(n);if(!g)return null;const I=J(n,g);if(!I)return null;const A=D(n,"subscriptionInput"),E=A.length?A[0].selector:'input[name="rc_plan"]';return I.querySelector(`${E}:checked`)?.value??null}});function S(g){const I=D(n,"subscriptionDiscount");for(const A of I)if(A.selector.includes("badge")||A.selector.includes("__badge")){const E=g.querySelector(A.selector);E?.textContent&&!E.textContent.includes(`${u}%`)&&$(E,x=>N(x,u))}}function P(g){const I=k();if(!I)return;const A=D(n,"subscriptionCompareAt");for(const E of A){const x=g.querySelector(E.selector)||g.querySelector(`[part~="${E.selector}"]`);x?.textContent&&!x.textContent.includes(I.formattedVariantPrice)&&$(x,R=>/\d/.test(R)?I.formattedVariantPrice:R)}}function _(g,I){const A=D(n,"subscriptionCompareAt"),E=I===0?"none":"";for(const x of A){const R=g.querySelector(x.selector)||g.querySelector(`[part~="${x.selector}"]`);R&&(E==="none"?R.style.display!=="none"&&(R.style.display="none"):R.style.display==="none"&&(R.style.display=""))}}function C(g){const I=D(n,"subscriptionInput"),A=I.length?I[0].selector:'input[name="rc_plan"]',E=D(n,"subscriptionPlanDiscount"),x=E.length?E[0].selector:".rc-plans-button__discount";for(const R of Array.from(g.querySelectorAll("label"))){const V=R.querySelector(A),O=R.querySelector(x);if(V&&O){const L=h[V.value];if(L!==void 0){if(L===0)O.style.display!=="none"&&(O.style.display="none");else if(O.style.display==="none"&&(O.style.display=""),O.textContent){const Z=O.textContent.match(/[\d.]+%/)?.[0];Z&&Z!==`${L}%`&&$(O,Kt=>N(Kt,L))}}}}}function m(g){const I=g.querySelector("select");if(I)for(const A of Array.from(I.options)){const E=h[A.value];if(E!==void 0&&A.textContent){const x=A.textContent.match(/[\d.]+%/)?.[0];x&&x!==`${E}%`&&(A.textContent=N(A.textContent,E))}}}function y(g,I){const E=D(n,"subscriptionDiscount").filter(x=>x.selector.includes("benefit")||x.selector==="rc-benefits");for(const x of E){const R=g.querySelector(x.selector);if(R?.shadowRoot){for(const V of Array.from(R.shadowRoot.querySelectorAll("li")))if(V.textContent?.includes("Save")){const O=V;if(I===0)O.style.display!=="none"&&(O.style.display="none");else{O.style.display==="none"&&(O.style.display="");const L=V.textContent.match(/[\d.]+%/)?.[0];L&&L!==`${I}%`&&$(V,Z=>N(Z,I))}}}}}let w=!1;function T(){if(!w){w=!0;try{if(b(),d!==null&&Object.keys(h).length===0)return;const g=B(n);if(!g)return;S(g),l&&P(g);const I=J(n,g);let A=u;if(I){const E=D(n,"subscriptionInput"),x=E.length?E[0].selector:'input[name="rc_plan"]',R=I.querySelector(`${x}:checked`);if(R){const V=h[R.value];V!==void 0&&(A=V)}c==="buttons"||c==="radio"?C(I):m(I)}_(g,A),y(g,A)}finally{w=!1}}}function f(){const g=k();if(!g)return;const I=B(n);if(!I)return;const A=D(n,"onetimeToggle"),E=A.length?A[0].selector:'input[value="onetime"]';if(!I.querySelector(E)?.checked)return;const R=D(n,"subscriptionPrice");for(const V of R){const O=I.querySelector(V.selector)||I.querySelector(`[part~="${V.selector}"]`);O?.textContent&&!O.textContent.includes(g.formattedDiscounted)&&$(O,L=>/\d/.test(L)?g.formattedDiscounted:L)}}function v(){a.subscriptionHideWrongPlans&&a.subscriptionHideWrongPlans(),T(),a.subscriptionUpdateOneTime&&a.subscriptionUpdateOneTime(),f()}dt({data:n,runUpdates:v})}async function Ht(a){if(a.subscriptionOneTimeDone)return;const t=a.getActiveAssignment(),e=t?a.getHypothesis(t.hypothesisId):void 0,i=!!(e?.subscriptionData&&e.priceData),s=i?null:a.findActiveSubscriptionTestControl(),r=i?e:s?.hypothesis;if(!r?.subscriptionData||!r.priceData)return;const n=i?t.testId:s.testId;a.subscriptionOneTimeDone=!0;const o=r.subscriptionData,l=r.priceData,c=j(l),d=r.isControl,p=d?"control":"variant";a.slptValue=`${n}:${p}:f`,a.updatePriceTestHiddenInputs(n,p,!1);function h(){const u=B(o);if(!u)return;const b=Y(c);if(!b)return;const k=W(l),S=lt(o,b,k);if(!ct(S,d))return;const P=c.get(b);if(!P)return;const _=H(P.priceInCents,l.moneyFormat,l.currency,l.currencyCodeEnabled),C=D(o,"onetimePrice");if(!C.length)return;const m=D(o,"onetimeContainer"),y=m.length?m[0].selector:'[part~="rc-purchase-option__onetime"]',T=u.querySelector(y)??u;for(const f of C){let v=null;try{v=T.querySelector(f.selector)}catch{v=null}v??=T.querySelector(`[part~="${f.selector}"]`),v&&v.textContent&&!v.textContent.includes(_)&&$(v,g=>/\d/.test(g)?_:g)}}a.subscriptionUpdateOneTime=h,h()}async function Nt(a,t){const{subscriptionPreviewRender:e}=await Vt(async()=>{const{subscriptionPreviewRender:i}=await Promise.resolve().then(()=>jt);return{subscriptionPreviewRender:i}},void 0);return e(a.subscriptionData,a.priceData,a.isControl,t)}function Ut(a,t){const e=a.widget.selectors.widgetParent??[],i=a.widget.selectors.subscriptionPlans??[],s=a.widget.selectors.subscriptionInput??[];if(!e.length||!i.length||!s.length){t("[SUB-GLOBAL-HIDE] Missing required selectors — skipping");return}const r=e[0].selector,n=i[0].selector,o=s[0].selector;let l=!1,c=null,d=!1;function p(){if(!d){d=!0;try{h()}finally{d=!1}}}function h(){const P=document.querySelector(r);if(!P?.shadowRoot)return;const _=P.shadowRoot.querySelector(n);if(!_?.shadowRoot)return;_.shadowRoot!==c&&(c=_.shadowRoot,l=!1);let C=0;if(a.widget.widgetType==="buttons"||a.widget.widgetType==="radio"){const m=Array.from(_.shadowRoot.querySelectorAll(o));for(const f of m)if(a.planIds.includes(f.value)){f.disabled||(f.disabled=!0);const v=f.closest("label");v&&v.style.display!=="none"&&(v.style.display="none",C++)}const y=m.filter(f=>!a.planIds.includes(f.value));if(!y.some(f=>f.checked)&&!l&&y.length>0){l=!0;const f=y[0];f.closest("label")?.click(),f.dispatchEvent(new Event("change",{bubbles:!0})),t(`[SUB-GLOBAL-HIDE] Preselected first visible plan input=${f.value}`)}const T=y.find(f=>f.checked)??y[0];if(T){const f=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const v of f)v.value!==T.value&&(v.value=T.value,t(`[SUB-GLOBAL-HIDE] Mirrored plan id ${T.value} to form selling_plan input`))}}else if(a.widget.widgetType==="dropdown"){const m=_.shadowRoot.querySelector("select");if(!m)return;for(const T of Array.from(m.options))a.planIds.includes(T.value)&&(T.style.display!=="none"&&(T.style.display="none"),T.disabled||(T.disabled=!0),C++);const y=Array.from(m.options).filter(T=>!a.planIds.includes(T.value)),w=y.some(T=>T.value===m.value);y.length>0&&!w&&!l&&(l=!0,m.value=y[0].value,m.dispatchEvent(new Event("change",{bubbles:!0})),t(`[SUB-GLOBAL-HIDE] Preselected first visible option=${y[0].value}`))}C>0&&t(`[SUB-GLOBAL-HIDE] Hidden ${C} B-side plan buttons`)}const u={childList:!0,subtree:!0,characterData:!0};let b=null;function k(P){b?.disconnect(),b=new MutationObserver(()=>p()),b.observe(P,u)}function S(){const P=document.querySelector(r);if(!P?.shadowRoot)return!1;p(),new MutationObserver(()=>{p();const m=P.shadowRoot.querySelector(n);m?.shadowRoot&&k(m.shadowRoot)}).observe(P.shadowRoot,u);const C=P.shadowRoot.querySelector(n);return C?.shadowRoot&&k(C.shadowRoot),!0}if(!S()){t("[SUB-GLOBAL-HIDE] Widget not in DOM yet — waiting via MutationObserver");const P=new MutationObserver(()=>{S()&&P.disconnect()});P.observe(document.body??document.documentElement,{childList:!0,subtree:!0})}}const ut="Limited preview",Ft="Add-to-cart and checkout prices won't reflect this test until it launches — test selling plans are not created in your subscription app until after a test is launched.",Bt=5e3;function zt(){const a=document.createElement("div");a.id="shoplift-preview-subscription-warning";const t=document.createElement("span");t.id="shoplift-preview-subscription-warning__icon",t.setAttribute("aria-hidden","true"),t.textContent="!";const e=document.createElement("span");e.id="shoplift-preview-subscription-warning__label",e.textContent=ut;const i=document.createElement("div");i.id="shoplift-preview-subscription-warning__tooltip",i.setAttribute("role","tooltip"),i.textContent=Ft,a.appendChild(t),a.appendChild(e),a.appendChild(i),a.setAttribute("tabindex","0"),a.setAttribute("aria-describedby",i.id),a.setAttribute("aria-label",ut);let s=null;function r(){s!==null&&(clearTimeout(s),s=null)}function n(){i.classList.add("shoplift-preview-subscription-warning__tooltip--visible")}function o(){i.classList.remove("shoplift-preview-subscription-warning__tooltip--visible")}function l(){n(),r(),s=setTimeout(()=>{o(),s=null},Bt)}function c(){r(),n()}function d(){s===null&&o()}a.addEventListener("mouseenter",c),a.addEventListener("mouseleave",d),a.addEventListener("focus",c),a.addEventListener("blur",d);function p(u){try{const b=u.target;if(!(b instanceof Element))return;(b.closest('form[action*="/cart/add"] button[type="submit"], form[action*="/cart/add"] input[type="submit"]')!==null||b.closest('[name="add"], button[name="add"], [data-add-to-cart], button[data-add-to-cart]')!==null)&&l()}catch{}}document.addEventListener("click",p,!0);function h(){r(),document.removeEventListener("click",p,!0),a.removeEventListener("mouseenter",c),a.removeEventListener("mouseleave",d),a.removeEventListener("focus",c),a.removeEventListener("blur",d),a.remove()}return{root:a,tooltip:i,cleanup:h}}let pt=!1;class Wt{constructor(t,e,i,s,r,n,o,l,c,d,p,h,u){this.shop=t,this.host=e,this.eventHost=i,this.disableReferrerOverride=l,this.logHistory=[],this.legacySessionKey=`SHOPLIFT_SESSION_${this.shop}`,this.cssHideClass=s?"shoplift-hide":"",this.testConfigs=p.map(k=>({...k,startAt:new Date(k.startAt),statusHistory:k.statusHistory.map(S=>({...S,createdAt:new Date(S.createdAt)}))})),this.inactiveTestConfigs=h,this.hiddenSubscriptionPlans=u,this.sendPageView=!!r,this.shopliftDebug=n===!0,this.telemetryEnabled=c===!0,this.gaConfig=o!=={"sendEvents":true,"mode":"gtag"}?o:{sendEvents:!1},this.fetch=window.fetch.bind(window),this.localStorageSet=window.localStorage.setItem.bind(window.localStorage),this.localStorageGet=window.localStorage.getItem.bind(window.localStorage);const b=this.getDeviceType();this.device=b!=="tablet"?b:"mobile",this.state=this.loadState(),this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.testsFilteredByAudience=p.filter(k=>k.status=="active"),this.getCountryTimeout=d===1000?1e3:d,this.log("State Loaded",JSON.stringify(this.state))}DATA_SL_ATTRIBUTE_P="data-sl-attribute-p";DATA_SL_TEST_ID="data-sl-test-id";VIEWPORT_TRACK_THRESHOLD=.5;temporarySessionKey="Shoplift_Session";essentialSessionKey="Shoplift_Essential";analyticsSessionKey="Shoplift_Analytics";priceSelectorsSessionKey="Shoplift_PriceSelectors_v2";legacySessionKey;cssHideClass;testConfigs;inactiveTestConfigs;hiddenSubscriptionPlans;testsFilteredByAudience;sendPageView;shopliftDebug;gaConfig;telemetryEnabled;getCountryTimeout;state;subscriptionPreviewWarningCleanup=null;shopifyAnalyticsId;cookie=document.cookie;isSyncing=!1;isSyncingGA=!1;fetch;localStorageSet;localStorageGet;sessionStorageSet=window.sessionStorage.setItem.bind(window.sessionStorage);sessionStorageGet=window.sessionStorage.getItem.bind(window.sessionStorage);urlParams=new URLSearchParams(window.location.search);device;logHistory;activeViewportObservers=new Map;clientIdRetryCount=0;deriveCategoryFromExistingTests(){if(!this.state.temporary.testCategory&&this.state.essential.visitorTests.length>0){const t=this.state.essential.visitorTests.some(e=>{if(!e.hypothesisId)return!1;const i=this.getHypothesis(e.hypothesisId);return i&&["theme","basicScript","price"].includes(i.type)});this.state.temporary.testCategory=t?"global":"conditional",this.persistTemporaryState(),this.log("Derived test category from existing visitorTests: %s",this.state.temporary.testCategory)}}async init(){try{if(this.log("Shoplift script initializing"),window.Shopify&&window.Shopify.designMode){this.log("Skipping script for design mode");return}if(window.location.href.includes("slScreenshot=true")){this.log("Skipping script for screenshot");return}if(window.location.hostname.endsWith(".edgemesh.com")){this.log("Skipping script for preview");return}if(window.location.href.includes("isShopliftMerchant")){const s=this.urlParams.get("isShopliftMerchant")==="true";this.log("Setting merchant session to %s",s),this.state.temporary.isMerchant=s,this.persistTemporaryState()}if(this.state.temporary.isMerchant){this.log("Setting up preview for merchant"),typeof window.shoplift!="object"&&this.setShopliftStub(),this.state.temporary.previewConfig||this.hidePage(),await this.initPreview(),document.querySelector("#sl-preview-bar-hide")?.remove();return}if(this.state.temporary.previewConfig=void 0,mt(navigator.userAgent))return;const t=this.state.essential.visitorTests.filter(s=>s.hypothesisId&&+s.createdAt>Date.now()-6e4);if(t.length===0)this.sendDiagnosticTelemetry("page-landed",null);else for(const s of t)this.sendDiagnosticTelemetry("page-landed",s.testId,{hypothesisId:s.hypothesisId,isControl:s.assignedTo==="control",testType:s.testType??"unknown"});if(navigator.userAgent.includes("Chrome/118")){this.log("Random: %o",[Math.random(),Math.random(),Math.random()]);const s=await this.makeRequest({url:`${this.eventHost}/api/v0/events/ip`,method:"get"}).then(r=>r?.json());this.log(`IP: ${s}`),this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify(this.debugState(),X)}).catch()}if(this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.monitorConsentChange(),this.checkForThemePreview())return;if(!this.disableReferrerOverride&&this.state.temporary.originalReferrer!=null){this.log(`Overriding referrer from '${document.referrer}' to '${this.state.temporary.originalReferrer}'`);const s=this.state.temporary.originalReferrer;delete this.state.temporary.originalReferrer,this.persistTemporaryState(),Object.defineProperty(document,"referrer",{get:()=>s,enumerable:!0,configurable:!0})}if(await this.refreshVisitor(this.shopifyAnalyticsId),await this.handleVisitorTest()){this.log("Redirecting for visitor test");return}this.setShoplift(),this.showPage(),this.ensureCartAttributesForExistingPriceTests(!1);const i=this.state.essential.visitorTests.some(s=>(s.hypothesisId?this.getHypothesis(s.hypothesisId):void 0)?.subscriptionData!=null)||Object.values(this.state.temporary.testReservations??{}).some(s=>this.getHypothesis(s.hypothesisId)?.subscriptionData!=null);this.hiddenSubscriptionPlans&&!i&&(this.log(`[SUB-GLOBAL] Visitor not in subscription test — hiding ${this.hiddenSubscriptionPlans.planIds.length} B-side plans`),Ut(this.hiddenSubscriptionPlans,s=>this.log(s))),await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange(),await this.finalize(),console.log("SHOPLIFT SCRIPT INITIALIZED!")}catch(t){if(t instanceof et)return;throw t}finally{typeof window.shoplift!="object"&&this.setShopliftStub()}}getVariantColor(t){switch(t){case"a":return{text:"#141414",bg:"#E2E2E2"};case"b":return{text:"rgba(255, 255, 255, 1)",bg:"rgba(37, 99, 235, 1)"}}}getDefaultVariantTitle(t){return t.title?t.title:t.type==="price"?t.isControl?"Original prices":"Variant prices":t.isControl?"Original":"Untitled variant "+t.label.toUpperCase()}async initPreview(){const t=this.urlParams.get("previewConfig");if(t){this.state.temporary.previewConfig=void 0,this.log("Setting up the preview"),this.log("Found preview config, writing to temporary state");const e=await Rt(t);if(this.state.temporary.previewConfig=e,this.state.temporary.previewConfig.testTypeCategory===M.Price){this.hidePage(!0);const s=this.state.temporary.previewConfig;let r=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/${s.isDraft||!1}`;s.shopifyProductId&&(r+=`?productId=${s.shopifyProductId}`);const n=await this.makeJsonRequest({method:"get",url:r}).catch(o=>(this.log("Error getting domSelectors",o),null));if(s.variants.forEach(o=>o.domSelectors=n[o.id]?.domSelectors),s.isDraft){const o=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/subscription-preview`,l=await this.makeJsonRequest({method:"get",url:o}).catch(c=>(this.log("No subscription preview data for draft (test may not have a subscription widget)",c),null));l?.subscriptionData&&s.variants.forEach(c=>{c.subscriptionData=l.subscriptionData,c.priceData=l.priceData})}}this.persistTemporaryState();const i=new URL(window.location.toString());i.searchParams.delete("previewConfig"),this.queueRedirect(i)}else if(this.state.temporary.previewConfig){this.showPage();const e=this.state.temporary.previewConfig;if(e.testTypeCategory===M.Template&&this.handleTemplatePreview(e)&&this.initPreviewControls(e),e.testTypeCategory===M.UrlRedirect&&this.handleUrlPreview(e)&&this.initPreviewControls(e),e.testTypeCategory===M.Script&&this.handleScriptPreview(e)&&this.initPreviewControls(e),e.testTypeCategory===M.Price){const i=await this.handlePricePreview(e);e.isDraft?await this.handleSubscriptionPricePreview(e):await this.handleSubscriptionLivePreview(e),i&&this.initPreviewControls(e)}}}initPreviewControls(t){document.addEventListener("DOMContentLoaded",()=>{const e=t.variants.find(b=>b.id===t.currentVariant),i=e?.label||"a",s=t.variants,r=document.createElement("div");r.id="shoplift-preview-control";const n=document.createElement("div"),o=document.createElement("img");o.src=_t,o.height=24,o.width=14,n.style.padding="0 16px",n.style.lineHeight="100%",n.appendChild(o),r.appendChild(n);const l=document.createElement("div");l.id="shoplift-preview-variant-selector";const c=document.createElement("button");c.id="shoplift-preview-variant-menu-trigger";const d=document.createElement("div");d.className="menu-variant-label",d.style.backgroundColor=this.getVariantColor(i).bg,d.style.color=this.getVariantColor(i).text,d.innerText=i.toUpperCase(),c.appendChild(d);const p=document.createElement("span");if(p.id="shoplift-preview-variant-title",p.innerText=e?this.getDefaultVariantTitle(e):"Untitled variant "+i.toUpperCase(),c.appendChild(p),s.length>1){const b=document.createElement("img");b.src=xt,b.width=12,b.height=12,b.style.height="12px",b.style.width="12px",c.appendChild(b);const k=document.createElement("div");k.className="preview-variant-menu";for(const S of t.variants.filter(P=>P.id!==t.currentVariant)){const P=document.createElement("div");P.className="preview-variant-menu--item";const _=document.createElement("div");_.className="menu-variant-label",_.style.backgroundColor=this.getVariantColor(S.label).bg,_.style.color=this.getVariantColor(S.label).text,_.style.flexShrink="0",_.innerText=S.label.toUpperCase(),P.appendChild(_);const C=document.createElement("span");C.innerText=this.getDefaultVariantTitle(S),P.appendChild(C),P.addEventListener("click",()=>{this.pickVariant(S.id)}),k.appendChild(P)}l.appendChild(k),c.addEventListener("click",()=>{k.className!=="preview-variant-menu preview-variant-menu__visible"?k.classList.add("preview-variant-menu__visible"):k.classList.remove("preview-variant-menu__visible")}),document.addEventListener("click",S=>{S.target instanceof Element&&!c.contains(S.target)&&k.className==="preview-variant-menu preview-variant-menu__visible"&&k.classList.remove("preview-variant-menu__visible")})}else c.style.pointerEvents="none",d.style.margin="0";if(l.appendChild(c),r.appendChild(l),t.hasSubscription){this.subscriptionPreviewWarningCleanup?.();const b=zt();r.appendChild(b.root),this.subscriptionPreviewWarningCleanup=b.cleanup}const h=document.createElement("div"),u=document.createElement("button");u.id="shoplift-exit-preview-button",u.innerText="Exit",h.appendChild(u),u.addEventListener("click",()=>{this.exitPreview()}),r.appendChild(h),document.body.appendChild(r),requestAnimationFrame(()=>{r.classList.add("visible")})}),this.ensureCartAttributesForExistingPriceTests(!0)}pickVariant(t){if(this.state.temporary.previewConfig){const e=this.state.temporary.previewConfig,i=new URL(window.location.toString());if(e.testTypeCategory===M.UrlRedirect){const s=e.variants.find(r=>r.id===e.currentVariant)?.redirectUrl;if(i.pathname===s){const r=e.variants.find(n=>n.id===t)?.redirectUrl;r&&(i.pathname=r)}}if(e.testTypeCategory===M.Template){const s=e.variants.find(r=>r.id===e.currentVariant)?.pathName;if(s&&i.pathname===s){const r=e.variants.find(n=>n.id===t)?.pathName;r&&r!==s&&(i.pathname=r)}}e.currentVariant=t,this.persistTemporaryState(),this.queueRedirect(i)}}exitPreview(){const t=new URL(window.location.toString());if(this.state.temporary.previewConfig?.testTypeCategory===M.Template&&t.searchParams.delete("view"),this.state.temporary.previewConfig?.testTypeCategory===M.Script&&t.searchParams.delete("slVariant"),this.state.temporary.previewConfig?.testTypeCategory===M.UrlRedirect){const i=this.state.temporary.previewConfig.variants.filter(r=>!r.isControl&&r.redirectUrl!==null).map(r=>r.redirectUrl),s=this.state.temporary.previewConfig.variants.find(r=>r.label==="a")?.redirectUrl;i.includes(t.pathname)&&s&&(t.pathname=s)}this.state.temporary.isMerchant=!1,t.searchParams.delete("isShopliftMerchant"),this.state.temporary.previewConfig=void 0,this.persistTemporaryState(),this.subscriptionPreviewWarningCleanup?.(),this.subscriptionPreviewWarningCleanup=null,this.hidePage(),this.queueRedirect(t)}handleTemplatePreview(t){const e=t.currentVariant,i=t.variants.find(l=>l.id===e);if(!i)return!1;const s=t.variants.find(l=>l.isControl);if(!s)return!1;this.log("Setting up template preview for type",s.type);const r=new URL(window.location.toString()),n=r.searchParams.get("view"),o=i.type===s.type;return!o&&!i.isControl&&template.suffix===s.affix&&this.typeFromTemplate()===s.type&&i.pathName!==null?(this.log("Hit control template type, redirecting to the variant url"),this.hidePage(),r.pathname=i.pathName,this.queueRedirect(r),!0):(!i.isControl&&this.typeFromTemplate()==i.type&&template.suffix===s.affix&&o&&n!==(i.affix||"__DEFAULT__")&&(this.log("Template type and affix match control, updating the view param"),r.searchParams.delete("view"),this.log("Setting the new viewParam to",i.affix||"__DEFAULT__"),this.hidePage(),r.searchParams.set("view",i.affix||"__DEFAULT__"),this.queueRedirect(r)),n!==null&&n!==(i.affix||"__DEFAULT__")&&(r.searchParams.delete("view"),this.hidePage(),this.queueRedirect(r)),!0)}handleUrlPreview(t){const e=t.currentVariant,i=t.variants.find(n=>n.id===e),s=t.variants.find(n=>n.isControl)?.redirectUrl;if(!i)return!1;this.log("Setting up URL redirect preview");const r=new URL(window.location.toString());return r.pathname===s&&!i.isControl&&i.redirectUrl!==null&&(this.log("Url matches control, redirecting"),this.hidePage(),r.pathname=i.redirectUrl,this.queueRedirect(r)),!0}handleScriptPreview(t){const e=t.currentVariant,i=t.variants.find(n=>n.id===e);if(!i)return!1;this.log("Setting up script preview");const s=new URL(window.location.toString());return s.searchParams.get("slVariant")!==i.id&&(this.log("current id doesn't match the variant, redirecting"),s.searchParams.delete("slVariant"),this.log("Setting the new slVariantParam"),this.hidePage(),s.searchParams.set("slVariant",i.id),this.queueRedirect(s)),!0}async handlePricePreview(t){const e=t.currentVariant,i=t.variants.find(s=>s.id===e);return i?(this.log("Setting up price preview"),i.domSelectors&&i.domSelectors.length>0&&(U(document,{testId:t.testId,hypothesisId:i.id,selectors:i.domSelectors}),this.ensureCartAttributesForExistingPriceTests(!0)),!0):!1}async handleSubscriptionPricePreview(t){const e=t.variants.find(i=>i.id===t.currentVariant);e?.subscriptionData&&(this.log("Setting up subscription price preview"),await Nt({id:e.id,isControl:e.isControl,subscriptionData:e.subscriptionData,priceData:e.priceData},(i,...s)=>this.log(i,...s)))}async handleSubscriptionLivePreview(t){this.testConfigs.find(s=>s.id===t.testId)?.hypotheses.find(s=>s.id===t.currentVariant)?.subscriptionData&&(this.log("Setting up subscription live preview"),this.subscriptionSwapDone=!1,this.subscriptionOneTimeDone=!1,this.subscriptionPriceDone=!1,await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange())}async finalize(){const t=await this.getCartState();t!==null&&this.queueCartUpdate(t),this.pruneStateAndSave(),await this.syncAllEvents()}setShoplift(){this.log("Setting up public API");const e=this.urlParams.get("slVariant")==="true",i=e?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:async s=>{if(this.log("Script checking variant for hypothesis '%s'",s),e)return this.log("Forcing variant for hypothesis '%s'",s),!0;if(i!==null)return this.log("Forcing hypothesis '%s'",i),s===i;const r=this.testConfigs.find(o=>o.hypotheses.some(l=>l.id===s));if(!r)return this.log("No test found for hypothesis '%s'",s),!1;const n=this.state.essential.visitorTests.find(o=>o.testId===r.id);return n?(this.log("Active visitor test found",s),n.hypothesisId===s):(await this.manuallySplitVisitor(r),this.testConfigs.some(o=>o.hypotheses.some(l=>l.id===s&&this.state.essential.visitorTests.some(c=>c.hypothesisId===l.id))))},setAnalyticsConsent:async s=>{await this.onConsentChange(s,!0)},getVisitorData:()=>({visitor:this.state.analytics.visitor,visitorTests:this.state.essential.visitorTests.filter(s=>!s.isInvalid).map(s=>{const{shouldSendToGa:r,savedAt:n,...o}=s;return o})})}}setShopliftStub(){this.log("Setting up stubbed public API");const e=this.urlParams.get("slVariant")==="true",i=e?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:s=>Promise.resolve(e||s===i),setAnalyticsConsent:()=>Promise.resolve(),getVisitorData:()=>({visitor:null,visitorTests:[]})}}async manuallySplitVisitor(t){this.log("Starting manual split for test '%s'",t.id),await this.handleVisitorTest([t]);const e=this.getReservationForTest(t.id);e&&!e.isRealized&&e.entryCriteriaKey&&(this.log("Realizing manual API reservation for test '%s'",t.id),this.realizeReservationForCriteria(e.entryCriteriaKey)),this.saveState(),this.syncAllEvents()}async handleVisitorTest(t){await this.filterTestsByAudience(this.testConfigs,this.state.analytics.visitor??this.buildBaseVisitor(),this.state.essential.visitorTests),this.pruneStaleVisitorTests(),this.deriveCategoryFromExistingTests(),this.clearStaleReservations();let e=t?t.filter(i=>this.testsFilteredByAudience.some(s=>s.id===i.id)):[...this.testsForUrl(this.testsFilteredByAudience),...this.domTestsForUrl(this.testsFilteredByAudience)];try{if(e.length===0)return this.log("No tests found"),!1;this.log("Checking for existing visitor test on page");const i=this.getCurrentVisitorHypothesis(e);if(i){this.log("Found current visitor test");const l=this.considerRedirect(i);return l&&(this.log("Redirecting for current visitor test"),this.redirect(i)),l}const s=this.getReservationForCurrentPage();if(s){this.log("Found matching reservation for current page: %s",s.testId);const l=this.getHypothesis(s.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(s.entryCriteriaKey);const c=this.considerRedirect(l);return c&&this.redirect(l),c}}this.log("No active test relation for test page");const r=this.testsForUrl(this.inactiveTestConfigs.filter(l=>this.testIsPaused(l)&&l.hypotheses.some(c=>this.state.essential.visitorTests.some(d=>d.hypothesisId===c.id)))).map(l=>l.id);if(r.length>0)return this.log("Visitor has paused tests for test page, skipping test assignment: %o",r),!1;if(!this.state.temporary.testCategory){const l=this.testsFilteredByAudience.filter(d=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d))),c=this.testsFilteredByAudience.filter(d=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d)));if(this.log("Category dice roll - global tests: %o, conditional tests: %o",l.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)})),c.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)}))),l.length>0&&c.length>0){const d=l.length,p=c.length,h=d+p,u=Math.random()*h;this.state.temporary.testCategory=u<d?"global":"conditional",this.log("Category dice roll: rolled %.2f of %d (global weight: %d, conditional weight: %d), selected '%s'",u,h,d,p,this.state.temporary.testCategory)}else l.length>0?(this.state.temporary.testCategory="global",this.log("Only global tests available, setting category to global")):(this.state.temporary.testCategory="conditional",this.log("Only conditional tests available, setting category to conditional"));this.persistTemporaryState()}const n=this.state.temporary.testCategory;if(this.log("Visitor test category: %s",n),n==="global"){const l=this.testsFilteredByAudience.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:global");e=e.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}else{const l=this.testsFilteredByAudience.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:conditional");e=e.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}if(e.length===0)return this.log("No tests remaining after category filter"),!1;this.createReservations(e);const o=this.getReservationForCurrentPage();if(o&&!o.isRealized){const l=this.getHypothesis(o.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(o.entryCriteriaKey);const c=this.considerRedirect(l);return c&&(this.log("Redirecting for new test"),this.redirect(l)),c}}return!1}finally{this.includeInDomTests(),this.saveState()}}includeInDomTests(){this.applyControlForAudienceFilteredPriceTests();const t=this.getDomTestsForCurrentUrl(),e=this.getVisitorDomHypothesis(t);for(const i of t){this.log("Evaluating dom test '%s'",i.id);const s=i.hypotheses.some(u=>u.type==="price");if(this.state.essential.visitorTests.find(u=>u.testId===i.id&&u.isInvalid&&!u.hypothesisId)){if(this.log("Visitor is blocked from test '%s', applying control prices if price test",i.id),s){const u=i.hypotheses.find(b=>b.isControl);u?.priceData&&(this.applyPriceTestWithMapLookup(i.id,u,[u],()=>{this.log("Control prices applied for blocked visitor, no metrics tracked")}),this.updatePriceTestHiddenInputs(i.id,"control",!1))}continue}const n=this.getReservationForTest(i.id);let o=null,l=!1;const c=e.find(u=>i.hypotheses.some(b=>u.id===b.id));if(n)o=this.getHypothesis(n.hypothesisId)??null,this.log("Using reserved hypothesis '%s' for test '%s'",n.hypothesisId,i.id);else if(c)o=c,this.log("Using existing hypothesis assignment for test '%s'",i.id);else if(s){const u=this.visitorActiveTestTypeWithReservations();u?(l=!0,this.log("Visitor already in test type '%s', treating as non-test for price test '%s'",u,i.id)):o=this.pickHypothesis(i)}else o=this.pickHypothesis(i);if(l&&s){const u=i.hypotheses.find(b=>b.isControl);u?.priceData&&(this.log("Applying control prices for non-test visitor on price test '%s' (Map-based)",i.id),this.applyPriceTestWithMapLookup(i.id,u,[u],()=>{this.log("Control prices applied for non-test visitor, no metrics tracked")}),this.updatePriceTestHiddenInputs(i.id,"control",!1));continue}if(!o){this.log("Failed to pick hypothesis for test");continue}this.sendDiagnosticTelemetry("assignment",i.id,{hypothesisId:o.id,isControl:o.isControl,testType:o.type});const d=i.bayesianRevision??4,p=o.type==="price",h=d>=5;if(p&&h){if(this.log(`Price test with Map-based lookup (v${d}): ${i.id}`),!o.priceData){this.log("No price data for hypothesis '%s', skipping",o.id);continue}const u=o.isControl?"control":"variant";this.log(`Setting up Map-based price test for ${u} (test: ${i.id})`),this.applyPriceTestWithMapLookup(i.id,o,i.hypotheses,b=>{const k=this.getReservationForTest(b);k&&!k.isRealized&&k.entryCriteriaKey?this.realizeReservationForCriteria(k.entryCriteriaKey):this.queueAddVisitorToTest(b,o),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(p&&!h){this.log(`Price test without viewport tracking (v${d}): ${i.id}`);const u=this.getDomSelectorsForHypothesis(o);if(u.length===0)continue;U(document,{testId:i.id,hypothesisId:o.id,selectors:u},b=>{this.queueAddVisitorToTest(b,o),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(!o.domSelectors||o.domSelectors.length===0){this.log("No selectors found, skipping hypothesis");continue}U(document,{testId:i.id,hypothesisId:o.id,selectors:o.domSelectors},u=>{this.queueAddVisitorToTest(u,o),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()})}}considerRedirect(t){if(this.log("Considering redirect for hypothesis '%s'",t.id),t.isControl)return this.log("Skipping redirect for control"),!1;if(t.type==="basicScript"||t.type==="manualScript")return this.log("Skipping redirect for script test"),!1;const e=this.state.essential.visitorTests.find(n=>n.hypothesisId===t.id),i=new URL(window.location.toString()),r=new URLSearchParams(window.location.search).get("view");if(t.type==="theme"){if(!(t.themeId===themeId)){if(this.log("Theme id '%s' is not hypothesis theme ID '%s'",t.themeId,themeId),this.isAppProxyPath())return this.log("On App Proxy path, skipping theme redirect to avoid infinite loop"),!1;if(e&&e.themeId!==t.themeId&&(e.themeId===themeId||!this.isThemePreview()))this.log("On old theme, redirecting and updating local visitor"),e.themeId=t.themeId;else if(this.isThemePreview())return this.log("On non-test theme, skipping redirect"),!1;return this.log("Hiding page to redirect for theme test"),this.hidePage(),!0}return!1}else if(t.type!=="dom"&&t.type!=="price"&&t.affix!==template.suffix&&t.affix!==r||t.redirectPath&&!i.pathname.endsWith(t.redirectPath))return this.log("Hiding page to redirect for template test"),this.hidePage(),!0;return this.log("Not redirecting"),!1}redirect(t){if(this.log("Redirecting to hypothesis '%s'",t.id),t.isControl)return;const e=new URL(window.location.toString());if(e.searchParams.delete("view"),t.redirectPath){const i=RegExp("^(/w{2}-w{2})/").exec(e.pathname);if(i&&i.length>1){const s=i[1];e.pathname=`${s}${t.redirectPath}`}else e.pathname=t.redirectPath}else t.type==="theme"?(e.searchParams.set("_ab","0"),e.searchParams.set("_fd","0"),e.searchParams.set("_sc","1"),e.searchParams.set("preview_theme_id",t.themeId.toString())):t.type!=="urlRedirect"&&e.searchParams.set("view",t.affix);this.queueRedirect(e)}async refreshVisitor(t){if(t===null||!this.state.essential.isFirstLoad||!this.testConfigs.some(i=>i.visitorOption!=="all"))return;this.log("Refreshing visitor"),this.hidePage();const e=await this.getVisitor(t);e&&e.id&&this.updateLocalVisitor(e)}buildBaseVisitor(){return{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.device,country:null,...this.state.essential.initialState}}getInitialState(){const t=this.getUTMValue("utm_source")??"",e=this.getUTMValue("utm_medium")??"",i=this.getUTMValue("utm_campaign")??"",s=this.getUTMValue("utm_content")??"",r=window.document.referrer,n=this.device;return{createdAt:new Date,utmSource:t,utmMedium:e,utmCampaign:i,utmContent:s,referrer:r,device:n}}checkForThemePreview(){return this.log("Checking for theme preview"),window.location.hostname.endsWith(".shopifypreview.com")?(this.log("on shopify preview domain"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!1):this.isThemePreview()?this.state.essential.visitorTests.some(t=>t.isThemeTest&&t.hypothesisId!=null&&this.getHypothesis(t.hypothesisId)&&t.themeId===themeId)?(this.log("On active theme test, removing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):this.state.essential.visitorTests.some(t=>t.isThemeTest&&t.hypothesisId!=null&&!this.getHypothesis(t.hypothesisId)&&t.themeId===themeId)?(this.log("Visitor is on an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.state.essential.isFirstLoad?(this.log("No visitor found on theme preview, redirecting to main theme"),this.redirectToMainTheme(),!0):this.inactiveTestConfigs.some(t=>t.hypotheses.some(e=>e.themeId===themeId))?(this.log("Current theme is an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.testConfigs.some(t=>t.hypotheses.some(e=>e.themeId===themeId))?(this.log("Falling back to clearing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):(this.log("No tests on current theme, skipping script"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!0):(this.log("Not on theme preview"),this.clearThemeBar(!0,!1,this.state),!1)}redirectToMainTheme(){this.hidePage();const t=new URL(window.location.toString());t.searchParams.set("preview_theme_id",""),this.queueRedirect(t)}testsForUrl(t){const e=new URL(window.location.href),i=this.typeFromTemplate();return t.filter(s=>s.hypotheses.some(r=>r.type!=="dom"&&r.type!=="price"&&(r.isControl&&r.type===i&&r.affix===template.suffix||r.type==="theme"||r.isControl&&r.type==="urlRedirect"&&r.redirectPath&&e.pathname.endsWith(r.redirectPath)||r.type==="basicScript"))&&(s.ignoreTestViewParameterEnforcement||!e.searchParams.has("view")||s.hypotheses.map(r=>r.affix).includes(e.searchParams.get("view")??"")))}domTestsForUrl(t){const e=new URL(window.location.href);return t.filter(i=>i.hypotheses.some(s=>s.type!=="dom"&&s.type!=="price"?!1:s.type==="price"&&s.priceData&&s.priceData.variants.length>0?!0:s.domSelectors&&s.domSelectors.some(r=>new RegExp(it(r)).test(e.toString()))))}async filterTestsByAudience(t,e,i){const s=[];let r=e.country;!r&&t.some(n=>n.requiresCountry&&!i.some(o=>o.testId===n.id))&&(this.log("Hiding page to check geoip"),this.hidePage(),r=await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/get-country`,signal:AbortSignal.timeout(this.getCountryTimeout)}).catch(n=>(this.log("Error getting country",n),null)));for(const n of t){if(this.log("Checking audience for test '%s'",n.id),this.state.essential.visitorTests.some(c=>c.testId===n.id&&c.hypothesisId==null)){console.log(`Skipping blocked test '${n.id}'`);continue}const o=this.visitorCreatedDuringTestActive(n.statusHistory);(i.some(c=>c.testId===n.id&&(n.device==="all"||n.device===e.device&&n.device===this.device))||this.isTargetAudience(n,e,o,r))&&(this.log("Visitor is in audience for test '%s'",n.id),s.push(n))}this.testsFilteredByAudience=s}isTargetAudience(t,e,i,s){const r=this.getChannel(e);return(t.device==="all"||t.device===e.device&&t.device===this.device)&&(t.visitorOption==="all"||t.visitorOption==="new"&&i||t.visitorOption==="returning"&&!i)&&(t.targetAudiences.length===0||t.targetAudiences.reduce((n,o)=>n||o.reduce((l,c)=>l&&c(e,i,r,s),!0),!1))}visitorCreatedDuringTestActive(t){let e="";for(const i of t){if(this.state.analytics.visitor!==null&&this.state.analytics.visitor.createdAt<i.createdAt||this.state.essential.initialState.createdAt<i.createdAt)break;e=i.status}return e==="active"}getDomTestsForCurrentUrl(){return this.domTestsForUrl(this.testsFilteredByAudience)}getCurrentVisitorHypothesis(t){return t.flatMap(e=>e.hypotheses).find(e=>e.type!=="dom"&&e.type!=="price"&&this.state.essential.visitorTests.some(i=>i.hypothesisId===e.id))}getVisitorDomHypothesis(t){return t.flatMap(e=>e.hypotheses).filter(e=>(e.type==="dom"||e.type==="price")&&this.state.essential.visitorTests.some(i=>i.hypothesisId===e.id))}getHypothesis(t){return this.testConfigs.filter(e=>e.hypotheses.some(i=>i.id===t)).map(e=>e.hypotheses.find(i=>i.id===t))[0]}getActiveAssignment(){if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const e=this.state.temporary.previewConfig;return e.currentVariant&&e.testId?{testId:e.testId,hypothesisId:e.currentVariant}:null}const t=this.state.essential.visitorTests.find(e=>e.hypothesisId);return t?.hypothesisId?{testId:t.testId,hypothesisId:t.hypothesisId}:null}findActiveSubscriptionTestControl(){for(const t of this.testConfigs){const e=t.hypotheses.find(i=>i.isControl);if(e?.subscriptionData)return{testId:t.id,hypothesis:e}}return null}getDomSelectorsForHypothesis(t){if(!t)return[];if(t.domSelectors&&t.domSelectors.length>0)return t.domSelectors;if(t.priceData){const e=`${this.priceSelectorsSessionKey}_${t.id}`;try{const s=sessionStorage.getItem(e);if(s){const r=JSON.parse(s);return t.domSelectors=r,this.log("Loaded %d price selectors from cache for hypothesis '%s'",r.length,t.id),r}}catch{}const i=Ot(t.priceData);t.domSelectors=i;try{sessionStorage.setItem(e,JSON.stringify(i)),this.log("Generated and cached %d price selectors for hypothesis '%s'",i.length,t.id)}catch{this.log("Generated %d price selectors for hypothesis '%s' (cache unavailable)",i.length,t.id)}return i}return[]}hasThemeTest(t){return t.some(e=>e.hypotheses.some(i=>i.type==="theme"))}hasTestThatIsNotThemeTest(t){return t.some(e=>e.hypotheses.some(i=>i.type!=="theme"&&i.type!=="dom"&&i.type!=="price"))}hasThemeAndOtherTestTypes(t){return this.hasThemeTest(t)&&this.hasTestThatIsNotThemeTest(t)}testIsPaused(t){return t.status==="paused"||t.status==="incompatible"||t.status==="suspended"}visitorActiveTestType(){const t=this.state.essential.visitorTests.filter(e=>this.testConfigs.some(i=>i.hypotheses.some(s=>s.id==e.hypothesisId)));return t.length===0?null:t.some(e=>e.isThemeTest)?"theme":"templateOrUrlRedirect"}getReservationType(t){return t==="price"||this.isTemplateTestType(t)?"deferred":"immediate"}isTemplateTestType(t){return["product","collection","landing","index","cart","search","blog","article","collectionList"].includes(t)}getEntryCriteriaKey(t){const e=t.hypotheses.find(i=>i.isControl);if(!e)return`unknown:${t.id}`;switch(e.type){case"theme":return"global:theme";case"basicScript":return"global:autoApi";case"price":return"global:price";case"manualScript":return`conditional:manualApi:${t.id}`;case"urlRedirect":return`conditional:url:${e.redirectPath||"unknown"}`;default:return`conditional:template:${e.type}`}}isGlobalEntryCriteria(t){return t.startsWith("global:")}groupTestsByEntryCriteria(t){const e=new Map;for(const i of t){const s=this.getEntryCriteriaKey(i),r=e.get(s)||[];r.push(i),e.set(s,r)}return e}doesCurrentPageMatchEntryCriteria(t){if(this.isGlobalEntryCriteria(t))return!0;if(t==="conditional:manualApi")return!1;if(t.startsWith("conditional:url:")){const e=t.replace("conditional:url:","");return window.location.pathname.endsWith(e)}if(t.startsWith("conditional:template:")){const e=t.replace("conditional:template:","");return this.typeFromTemplate()===e}return!1}hasActiveReservation(){const t=this.getActiveReservations();return Object.values(t).some(e=>!e.isRealized)}getActiveReservation(){const t=this.getActiveReservations();return Object.values(t).find(e=>!e.isRealized)??null}clearStaleReservations(){const t=this.state.temporary.testReservations;if(!t)return;let e=!1;for(const[i,s]of Object.entries(t)){const r=this.testConfigs.find(o=>o.id===s.testId);if(!r){this.log("Test '%s' no longer in config, clearing reservation for criteria '%s'",s.testId,i),delete t[i],e=!0;continue}if(r.status!=="active"){this.log("Test '%s' status is '%s', clearing reservation for criteria '%s'",s.testId,r.status,i),delete t[i],e=!0;continue}this.testsFilteredByAudience.some(o=>o.id===s.testId)||(this.log("Visitor no longer passes audience for test '%s', clearing reservation for criteria '%s'",s.testId,i),delete t[i],e=!0)}e&&this.persistTemporaryState()}createReservations(t){if(this.state.temporary.testReservations||(this.state.temporary.testReservations={}),this.state.temporary.rolledEntryCriteria||(this.state.temporary.rolledEntryCriteria=[]),this.state.temporary.testCategory==="global"){this.createSingleReservation(t,"global");return}const i=t.filter(o=>this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(o))),s=t.filter(o=>!this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(o)));this.log("Conditional tests split - matching current page: %d, not matching: %d",i.length,s.length),i.length>0&&this.log("Tests matching current page (same pool): %o",i.map(o=>({id:o.id,title:o.title,criteria:this.getEntryCriteriaKey(o)})));const r=`conditional:current-page:${this.typeFromTemplate()}`;if(i.length>0&&!this.state.temporary.rolledEntryCriteria.includes(r)){this.createSingleReservation(i,r);for(const o of i){const l=this.getEntryCriteriaKey(o);this.state.temporary.rolledEntryCriteria.includes(l)||this.state.temporary.rolledEntryCriteria.push(l)}}const n=this.groupTestsByEntryCriteria(s);for(const[o,l]of n){if(this.state.temporary.rolledEntryCriteria.includes(o)){this.log("Already rolled for criteria '%s', skipping",o);continue}if(l.some(S=>this.state.essential.visitorTests.some(P=>P.testId===S.id))){this.log("Visitor already has VT for criteria '%s', skipping",o),this.state.temporary.rolledEntryCriteria.push(o);continue}const d=[...l].sort((S,P)=>S.id.localeCompare(P.id));this.log("Test dice roll for criteria '%s' - available tests: %o",o,d.map(S=>({id:S.id,title:S.title})));const p=Math.floor(Math.random()*d.length),h=d[p];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",p+1,l.length,h.id,h.title);const u=this.pickHypothesis(h);if(!u){this.log("No hypothesis picked for test '%s'",h.id);continue}this.sendDiagnosticTelemetry("assignment",h.id,{hypothesisId:u.id,isControl:u.isControl,testType:u.type});const b=this.getReservationType(u.type),k={testId:h.id,hypothesisId:u.id,testType:u.type,reservationType:b,isThemeTest:u.type==="theme",themeId:u.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:o};this.state.temporary.testReservations[o]=k,this.state.temporary.rolledEntryCriteria.push(o),this.log("Created %s reservation for test '%s' (criteria: %s)",b,h.id,o);for(const S of l)S.id!==h.id&&this.markTestAsBlocked(S,o)}this.persistTemporaryState()}createSingleReservation(t,e){if(this.state.temporary.rolledEntryCriteria.includes(e)){this.log("Already rolled for pool '%s', skipping",e);return}if(t.some(p=>this.state.essential.visitorTests.some(h=>h.testId===p.id&&!h.isInvalid))){this.log("Visitor already has VT for pool '%s', skipping",e),this.state.temporary.rolledEntryCriteria.push(e);return}if(t.length===0){this.log("No tests in pool '%s'",e);return}const s=[...t].sort((p,h)=>p.id.localeCompare(h.id));this.log("Test dice roll for pool '%s' - available tests: %o",e,s.map(p=>({id:p.id,title:p.title,criteria:this.getEntryCriteriaKey(p)})));const r=Math.floor(Math.random()*s.length),n=s[r];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",r,t.length,n.id,n.title);const o=this.pickHypothesis(n);if(!o){this.log("No hypothesis picked for test '%s'",n.id);return}this.sendDiagnosticTelemetry("assignment",n.id,{hypothesisId:o.id,isControl:o.isControl,testType:o.type});const l=this.getReservationType(o.type),c=this.getEntryCriteriaKey(n),d={testId:n.id,hypothesisId:o.id,testType:o.type,reservationType:l,isThemeTest:o.type==="theme",themeId:o.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:c};this.state.temporary.testReservations[c]=d,this.state.temporary.rolledEntryCriteria.push(e),this.log("Created %s reservation for test '%s' from pool '%s' (criteria: %s)",l,n.id,e,c);for(const p of t)p.id!==n.id&&this.markTestAsBlocked(p,`pool:${e}`);this.persistTemporaryState()}markTestAsBlocked(t,e){this.state.essential.visitorTests.some(i=>i.testId===t.id)||(this.log("Blocking visitor from test '%s' (reason: %s)",t.id,e),this.state.essential.visitorTests.push({createdAt:new Date,testId:t.id,hypothesisId:null,isThemeTest:t.hypotheses.some(i=>i.type==="theme"),shouldSendToGa:!1,isSaved:!0,isInvalid:!0,themeId:void 0}))}realizeReservationForCriteria(t){const e=this.state.temporary.testReservations?.[t];if(!e)return this.log("No reservation found for criteria '%s'",t),!1;if(e.isRealized)return this.log("Reservation already realized for criteria '%s'",t),!1;if(this.state.essential.visitorTests.some(s=>s.testId===e.testId&&!s.isInvalid))return this.log("Visitor already assigned to test '%s'",e.testId),!1;const i=this.getHypothesis(e.hypothesisId);return i?(e.isRealized=!0,this.persistTemporaryState(),this.queueAddVisitorToTest(e.testId,i),this.saveState(),this.log("Realized reservation for test '%s' (criteria: %s)",e.testId,t),!0):(this.log("Hypothesis '%s' not found",e.hypothesisId),!1)}getActiveReservations(){return this.state.temporary.testReservations??{}}getReservationForCurrentPage(){const t=this.getActiveReservations();for(const[e,i]of Object.entries(t)){if(i.isRealized)continue;const s=this.testConfigs.find(r=>r.id===i.testId);if(!(!s||s.status!=="active")&&this.doesCurrentPageMatchEntryCriteria(e))return i}return null}getReservationForTest(t){const e=this.getActiveReservations();return Object.values(e).find(i=>i.testId===t)??null}getReservationTestType(){const t=this.getActiveReservations(),e=Object.values(t);if(e.length===0)return null;for(const i of e)if(i.isThemeTest)return"theme";for(const i of e)if(i.testType==="price")return"price";return e.some(i=>!i.isRealized)?"templateOrUrlRedirect":null}hasPriceTests(t){return t.some(e=>e.hypotheses.some(i=>i.type==="price"))}_priceTestProductIds=null;getPriceTestProductIds(){if(this._priceTestProductIds)return this._priceTestProductIds;const t=new Set;for(const e of this.testConfigs)for(const i of e.hypotheses)if(i.type==="price"){for(const s of i.domSelectors||[]){const r=s.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);r?.[1]&&t.add(r[1])}if(i.priceData?.variants)for(const[s]of i.priceData.variants)t.add(s)}return this._priceTestProductIds=t,this.log("Built price test product ID cache with %d products",t.size),t}isProductInAnyPriceTest(t){return this.getPriceTestProductIds().has(t)}visitorActiveTestTypeWithReservations(){const t=this.getActiveReservations();for(const r of Object.values(t)){if(r.isThemeTest)return"theme";if(r.testType==="price")return"price"}if(Object.values(t).some(r=>!r.isRealized)){if(this.state.temporary.testCategory==="global")for(const n of Object.values(t)){if(n.testType==="theme")return"theme";if(n.testType==="price")return"price";if(n.testType==="basicScript")return"theme"}return"templateOrUrlRedirect"}const i=this.state.essential.visitorTests.filter(r=>!r.isInvalid&&this.testConfigs.some(n=>n.hypotheses.some(o=>o.id===r.hypothesisId)));return i.length===0?null:i.some(r=>this.getHypothesis(r.hypothesisId)?.type==="price")?"price":i.some(r=>r.isThemeTest)?"theme":"templateOrUrlRedirect"}applyControlForAudienceFilteredPriceTests(){const t=this.testConfigs.filter(s=>s.status==="active"&&s.hypotheses.some(r=>r.type==="price"));if(t.length===0)return;const e=this.testsFilteredByAudience.filter(s=>s.hypotheses.some(r=>r.type==="price")),i=t.filter(s=>!e.some(r=>r.id===s.id));if(i.length!==0){this.log("Found %d price tests filtered by audience, applying control selectors",i.length);for(const s of i){const r=s.hypotheses.find(c=>c.isControl),n=this.getDomSelectorsForHypothesis(r);if(n.length===0){this.log("No control selectors for audience-filtered price test '%s'",s.id);continue}const o=new URL(window.location.href);n.some(c=>{try{return new RegExp(it(c)).test(o.toString())}catch{return!1}})&&(this.log("Applying control selectors for audience-filtered price test '%s'",s.id),U(document,{testId:s.id,hypothesisId:r.id,selectors:n},()=>{}),this.updatePriceTestHiddenInputs(s.id,"control",!1))}}}pickHypothesis(t){let e=Math.random();const i=t.hypotheses.reduce((r,n)=>r+n.visitorCount,0);return t.hypotheses.sort((r,n)=>r.isControl?n.isControl?0:-1:n.isControl?1:0).reduce((r,n)=>{if(r!==null)return r;const l=t.hypotheses.reduce((c,d)=>c&&d.visitorCount>20,!0)?n.visitorCount/i-n.trafficPercentage:0;return e<=n.trafficPercentage-l?n:(e-=n.trafficPercentage-l,null)},null)}typeFromTemplate(){switch(template.type){case"list-collections":return"collectionList";case"page":return"landing";case"article":case"blog":case"cart":case"collection":case"index":case"product":case"search":return template.type;default:return null}}queueRedirect(t){this.saveState(),this.disableReferrerOverride||(this.log(`Saving temporary referrer override '${document.referrer}'`),this.state.temporary.originalReferrer=document.referrer,this.persistTemporaryState()),window.setTimeout(()=>window.location.assign(t),0),window.setTimeout(()=>{this.syncAllEvents()},2e3)}scheduleRetrySync(){this.clientIdRetryCount>=5||(this.clientIdRetryCount++,window.setTimeout(()=>{this.syncAllEvents()},500))}async syncAllEvents(){const t=async()=>{if(this.isSyncing){window.setTimeout(()=>{(async()=>await t())()},500);return}try{if(this.isSyncing=!0,this.syncGAEvents(),this.shopifyAnalyticsId||(this.shopifyAnalyticsId=this.getShopifyAnalyticsId()),!this.shopifyAnalyticsId){this.scheduleRetrySync();return}await this.syncEvents()}finally{this.isSyncing=!1}};await t()}async syncEvents(){if(!this.state.essential.consentApproved||!this.shopifyAnalyticsId||this.state.analytics.queue.length===0)return;const t=this.state.analytics.queue.length,e=this.state.analytics.queue.splice(0,t);this.log("Syncing %s events",t);try{const i={shop:this.shop,visitorDetails:{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.state.analytics.visitor?.device??this.device,country:this.state.analytics.visitor?.country??null,...this.state.essential.initialState},events:this.state.essential.visitorTests.filter(r=>!r.isInvalid&&!r.isSaved&&r.hypothesisId!=null).map(r=>new yt(r.testId,r.hypothesisId,r.createdAt)).concat(e)};await this.sendEvents(i);for(const r of this.state.essential.visitorTests.filter(n=>!n.isInvalid&&!n.isSaved&&n.hypothesisId!=null))this.sendDiagnosticTelemetry("event-delivered",r.testId,{hypothesisId:r.hypothesisId,isControl:r.assignedTo==="control",testType:r.testType??"unknown"});const s=await this.getVisitor(this.shopifyAnalyticsId);s!==null&&this.updateLocalVisitor(s);for(const r of this.state.essential.visitorTests.filter(n=>!n.isInvalid&&!n.isSaved))r.isSaved=!0,r.savedAt=Date.now()}catch{this.state.analytics.queue.splice(0,0,...e)}finally{this.saveState()}}syncGAEvents(){if(!this.gaConfig.sendEvents){if(pt)return;pt=!0,this.log("UseGtag is false — skipping GA Events");return}if(this.isSyncingGA){this.log("Already syncing GA - skipping GA events");return}const t=this.state.essential.visitorTests.filter(e=>e.shouldSendToGa);t.length!==0&&(this.isSyncingGA=!0,this.log("Syncing %s GA Events",t.length),Promise.allSettled(t.map(e=>this.sendGAEvent(e))).then(()=>this.log("All gtag events sent")).finally(()=>this.isSyncingGA=!1))}sendGAEvent(t){return new Promise(e=>{this.log("Sending GA Event for test %s, hypothesis %s",t.testId,t.hypothesisId);const i=()=>{this.log("GA acknowledged event for hypothesis %s",t.hypothesisId),t.shouldSendToGa=!1,this.persistEssentialState(),e()},s={exp_variant_string:`SL-${t.testId}-${t.hypothesisId}`};this.shopliftDebug&&Object.assign(s,{debug_mode:!0});function r(n,o,l){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}this.gaConfig.mode==="gtag"?r("event","experience_impression",{...s,event_callback:i}):(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"experience_impression",...s,eventCallback:i}))})}updateLocalVisitor(t){let e;({visitorTests:e,...this.state.analytics.visitor}=t),this.log("updateLocalVisitor - server returned %d tests: %o",e.length,e.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isInvalid:s.isInvalid}))),this.log("updateLocalVisitor - local has %d tests: %o",this.state.essential.visitorTests.length,this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid})));const i=300*1e3;for(const s of this.state.essential.visitorTests.filter(r=>r.isSaved&&(!r.savedAt||Date.now()-r.savedAt>i)&&!e.some(n=>n.testId===r.testId)))this.log("updateLocalVisitor - marking LOCAL test as INVALID (isSaved && not in server): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),s.isInvalid=!0;for(const s of e){const r=this.state.essential.visitorTests.findIndex(o=>o.testId===s.testId);if(!(r!==-1))this.log("updateLocalVisitor - ADDING server test (not found locally): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),this.state.essential.visitorTests.push(s);else{const o=this.state.essential.visitorTests.at(r);this.log("updateLocalVisitor - REPLACING local test with server test: testId=%s, local hypothesisId=%s -> server hypothesisId=%s, local isInvalid=%s -> false",s.testId,o?.hypothesisId,s.hypothesisId,o?.isInvalid),s.isInvalid=!1,s.shouldSendToGa=o?.shouldSendToGa??!1,s.testType=o?.testType,s.assignedTo=o?.assignedTo,s.testTitle=o?.testTitle,this.state.essential.visitorTests.splice(r,1,s)}}this.log("updateLocalVisitor - FINAL local tests: %o",this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid}))),this.state.analytics.visitor.storedAt=new Date}async getVisitor(t){try{return await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/by-key/${this.shop}/${t}`})}catch{return null}}async sendEvents(t){await this.makeRequest({method:"post",url:`${this.eventHost}/api/v0/events`,data:JSON.stringify(t)})}sendDiagnosticTelemetry(t,e,i){if(!this.telemetryEnabled||!navigator.sendBeacon)return;const s=this.state.essential.consentApproved,r=JSON.stringify({shop:this.shop,testId:e,checkpoint:t,device:this.device,...s?{visitorId:this.shopifyAnalyticsId??"unknown"}:{},clientTimestamp:Date.now(),consentApproved:s,hasConsentInteraction:this.state.essential.hasConsentInteraction,...i});navigator.sendBeacon(`${this.eventHost}/api/v0/telemetry`,new Blob([r],{type:"text/plain"}))}getUTMValue(t){const i=decodeURIComponent(window.location.search.substring(1)).split("&");for(let s=0;s<i.length;s++){const r=i[s].split("=");if(r[0]===t)return r[1]||null}return null}hidePage(t){this.log("Hiding page"),this.cssHideClass&&!window.document.documentElement.classList.contains(this.cssHideClass)&&(window.document.documentElement.classList.add(this.cssHideClass),t||setTimeout(this.removeAsyncHide(this.cssHideClass),2e3))}showPage(){this.cssHideClass&&this.removeAsyncHide(this.cssHideClass)()}getDeviceType(){function t(){let i=!1;return(function(s){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}function e(){let i=!1;return(function(s){(/android|ipad|playbook|silk/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}return t()?"mobile":e()?"tablet":"desktop"}removeAsyncHide(t){return()=>{t&&window.document.documentElement.classList.remove(t)}}async getCartState(){try{let t=await this.makeJsonRequest({method:"get",url:`${window.location.origin}/cart.js`});return t===null||(t.note===null&&(t=await this.makeJsonRequest({method:"post",url:`${window.location.origin}/cart/update.js`,data:JSON.stringify({note:""})})),t==null)?null:{token:t.token,total_price:t.total_price,total_discount:t.total_discount,currency:t.currency,items_subtotal_price:t.items_subtotal_price,items:t.items.map(e=>({quantity:e.quantity,variant_id:e.variant_id,key:e.key,price:e.price,final_line_price:e.final_line_price,sku:e.sku,product_id:e.product_id}))}}catch(t){return this.log("Error sending cart info",t),null}}ensureCartAttributesForExistingPriceTests(t){try{if(this.log("Checking visitor assignments for active price tests"),t&&this.state.temporary.previewConfig){const e=this.state.temporary.previewConfig;this.log("Using preview config for merchant:",e.testId);let i="variant";if(e.variants&&e.variants.length>0){const s=e.variants.find(r=>r.id===e.currentVariant);s&&s.isControl&&(i="control")}this.log("Merchant preview - updating hidden inputs:",e.testId,i),this.updatePriceTestHiddenInputs(e.testId,i,!0);return}for(const e of this.state.essential.visitorTests){const i=this.testConfigs.find(n=>n.id===e.testId);if(!i){this.log("Test config not found:",e.testId);continue}const s=i.hypotheses.find(n=>n.id===e.hypothesisId);if(!s||s.type!=="price")continue;const r=s.isControl?"control":"variant";this.log("Updating hidden inputs for price test:",e.testId,r),this.updatePriceTestHiddenInputs(e.testId,r,t)}}catch(e){this.log("Error ensuring cart attributes for existing price tests:",e)}}subscriptionSwapDone=!1;subscriptionHideWrongPlans=null;subscriptionPriceDone=!1;subscriptionUpdateOneTime=null;subscriptionOneTimeDone=!1;swapMap=null;slptValue=null;async subscriptionSwap(){await Lt(this)}async subscriptionPriceChange(){await qt(this)}async subscriptionOneTimePrice(){await Ht(this)}updatePriceTestHiddenInputs(t,e,i){try{this.cleanupPriceTestObservers();const s=`${t}:${e}:${i?"t":"f"}`,r=C=>{const m=C.getAttribute("data-sl-pid");if(!m)return!0;if(i&&this.state.temporary.previewConfig){const w=this.state.temporary.previewConfig,T=e==="control"?"a":"b",f=w.variants.find(v=>v.label===T);if(!f)return!1;for(const v of f.domSelectors||[]){const g=v.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(g){const I=g[1];if(this.log(`Extracted ID from selector: ${I}, comparing to: ${m}`),I===m)return this.log("Product ID match found in preview config:",m,"variant:",f.label),!0}else this.log(`Could not extract ID from selector: ${v.cssSelector}`)}return this.log("No product ID match in preview config for:",m,"variant:",T),!1}const y=this.testConfigs.find(w=>w.id===t);if(!y)return this.log("Test config not found for testId:",t),!1;for(const w of y.hypotheses||[]){for(const T of w.domSelectors||[]){const f=T.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(f&&f[1]===m)return this.log("Product ID match found in domSelectors:",m,"for test:",t),!0}if(w.priceData?.variants){for(const T of w.priceData.variants)if(T[0]===m)return this.log("Product ID match found in priceData:",m,"for test:",t),!0}}return this.log("No product ID match for:",m,"in test:",t),!1},n=new Set;let o=!1,l=null;const c=(C,m)=>{if(document.querySelectorAll("[data-sl-attribute-p]").forEach(w=>{if(w instanceof Element&&w.nodeType===Node.ELEMENT_NODE&&w.isConnected&&document.contains(w))try{C.observe(w,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(T){this.log(`Failed to observe element (${m}):`,T)}}),document.body&&document.body.isConnected)try{C.observe(document.body,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(w){this.log(`Failed to observe document.body (${m}):`,w)}},d=(C,m,y,w)=>{const T=C.filter(f=>{const v=f.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);return v&&v[1]===w});this.log(`Applying ${y} DOM selectors, total: ${C.length}, filtered: ${T.length}`),T.length>0&&U(document,{testId:t,hypothesisId:m,selectors:T})},p=(C,m)=>{this.log(`Applying DOM selector changes for product ID: ${C}`),m.disconnect(),o=!0;try{if(i&&this.state.temporary.previewConfig){const y=e==="control"?"a":"b",w=this.state.temporary.previewConfig.variants.find(T=>T.label===y);if(!w?.domSelectors){this.log(`No DOM selectors found for preview variant: ${y}`);return}d(w.domSelectors,w.id,"preview config",C)}else{const y=this.testConfigs.find(T=>T.id===t);if(!y){this.log(`No test config found for testId: ${t}`);return}const w=y.hypotheses.find(T=>e==="control"?T.isControl:!T.isControl);if(!w?.domSelectors){this.log(`No DOM selectors found for assignment: ${e}`);return}d(w.domSelectors,w.id,"live config",C)}}finally{l!==null&&clearTimeout(l),l=window.setTimeout(()=>{o=!1,l=null,c(m,"reconnection"),this.log("Re-established innerHTML observer after DOM changes")},50)}},h=new MutationObserver(C=>{if(!o)for(const m of C){if(m.type!=="childList"&&m.type!=="characterData")continue;let y=m.target;m.type==="characterData"&&(y=m.target.parentElement||m.target.parentNode);let w=y,T=w.getAttribute("data-sl-attribute-p");for(;!T&&w.parentElement;)w=w.parentElement,T=w.getAttribute("data-sl-attribute-p");if(!T)continue;const f=w.innerHTML||w.textContent||"";let v="";m.type==="characterData"&&m.oldValue!==null&&(v=m.oldValue),this.log(`innerHTML changed on element with data-sl-attribute-p="${T}"`),v&&this.log(`Previous content: "${v}"`),this.log(`Current content: "${f}"`),p(T,h)}});c(h,"initial setup"),n.add(h);const u=new MutationObserver(C=>{C.forEach(m=>{m.addedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){const w=y;k(w);const T=w.matches('input[name="properties[_slpt]"]')?[w]:w.querySelectorAll('input[name="properties[_slpt]"]');T.length>0&&this.log(`MutationObserver found ${T.length} new hidden input(s)`),T.forEach(f=>{const v=f.getAttribute("data-sl-pid");if(this.log(`MutationObserver checking new input with data-sl-pid="${v}"`),r(f))f.value!==s&&(f.value=s,this.log("Updated newly added hidden input:",s)),S(f);else{const g=f.getAttribute("data-sl-pid");g&&this.isProductInAnyPriceTest(g)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",g):(f.remove(),this.log("Removed newly added non-matching hidden input for product ID:",g))}})}})})});n.add(u);const b=new MutationObserver(C=>{C.forEach(m=>{if(m.type==="attributes"&&m.attributeName==="data-sl-pid"){const y=m.target;if(this.log("AttributeObserver detected data-sl-pid attribute change on:",y.tagName),y.matches('input[name="properties[_slpt]"]')){const w=y,T=m.oldValue,f=w.getAttribute("data-sl-pid");this.log(`data-sl-pid changed from "${T}" to "${f}" - triggering payment placement updates`),r(w)?(w.value!==s&&(w.value=s,this.log("Updated hidden input after data-sl-pid change:",s)),f&&p(f,h),this.log("Re-running payment placement updates after variant change"),k(document.body)):f&&this.isProductInAnyPriceTest(f)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",f):(w.remove(),this.log("Removed non-matching hidden input after data-sl-pid change:",f))}}})});n.add(b);const k=C=>{C.tagName==="SHOPIFY-PAYMENT-TERMS"&&(this.log("MutationObserver found new shopify-payment-terms element"),this.updateShopifyPaymentTerms(t,e));const m=C.querySelectorAll("shopify-payment-terms");m.length>0&&(this.log(`MutationObserver found ${m.length} shopify-payment-terms in added node`),this.updateShopifyPaymentTerms(t,e)),C.tagName==="AFTERPAY-PLACEMENT"&&(this.log("MutationObserver found new afterpay-placement element"),this.updateAfterpayPlacements(t,e,"afterpay"));const y=C.querySelectorAll("afterpay-placement");y.length>0&&(this.log(`MutationObserver found ${y.length} afterpay-placement in added node`),this.updateAfterpayPlacements(t,e,"afterpay")),C.tagName==="SQUARE-PLACEMENT"&&(this.log("MutationObserver found new square-placement element"),this.updateAfterpayPlacements(t,e,"square"));const w=C.querySelectorAll("square-placement");w.length>0&&(this.log(`MutationObserver found ${w.length} square-placement in added node`),this.updateAfterpayPlacements(t,e,"square")),C.tagName==="KLARNA-PLACEMENT"&&(this.log("MutationObserver found new klarna-placement element"),this.updateKlarnaPlacements(t,e));const T=C.querySelectorAll("klarna-placement");T.length>0&&(this.log(`MutationObserver found ${T.length} klarna-placement in added node`),this.updateKlarnaPlacements(t,e))},S=C=>{b.observe(C,{attributes:!0,attributeFilter:["data-sl-pid"],attributeOldValue:!0,subtree:!1});const m=C.getAttribute("data-sl-pid");this.log(`Started AttributeObserver on specific input with data-sl-pid="${m}"`)},P=()=>{const C=document.querySelectorAll('input[name="properties[_slpt]"]');this.log(`Found ${C.length} existing hidden inputs to check`),C.forEach(m=>{const y=m.getAttribute("data-sl-pid");this.log(`Checking existing input with data-sl-pid="${y}"`),r(m)?(m.value=s,this.log("Updated existing hidden input:",s),y&&(this.log("Applying initial DOM selector changes for existing product"),p(y,h)),S(m)):y&&this.isProductInAnyPriceTest(y)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",y):(m.remove(),this.log("Removed non-matching hidden input for product ID:",y))})},_=()=>{document.body?(u.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver on document.body"),P(),k(document.body)):document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{document.body&&(u.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver after DOMContentLoaded"),P(),k(document.body))}):(this.log("Set timeout on observer"),setTimeout(_,10))};_(),window.__shopliftPriceTestObservers=n,window.__shopliftPriceTestValue=s,this.log("Set up DOM observer for price test hidden inputs")}catch(s){this.log("Error updating price test hidden inputs:",s)}}updateKlarnaPlacements(t,e){this.updatePlacementElements(t,e,"klarna-placement",(i,s)=>{i.setAttribute("data-purchase-amount",s.toString())})}cleanupPriceTestObservers(){const t=window.__shopliftPriceTestObservers;t&&(t.forEach(e=>{e.disconnect()}),t.clear(),this.log("Cleaned up existing price test observers")),delete window.__shopliftPriceTestObservers,delete window.__shopliftPriceTestValue}updateAfterpayPlacements(t,e,i="afterpay"){const s=i==="square"?"square-placement":"afterpay-placement";if(document.querySelectorAll(s).length===0){this.log(`No ${s} elements found on page - early return`);return}this.updatePlacementElements(t,e,s,(n,o)=>{if(i==="afterpay"){const l=(o/100).toFixed(2);n.setAttribute("data-amount",l)}else n.setAttribute("data-amount",o.toString())}),this.log("updateAfterpayPlacements completed")}updatePlacementElements(t,e,i,s){const r=document.querySelectorAll(i);if(r.length===0){this.log(`No ${i} elements found - early return`);return}let n;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const l=e==="control"?"a":"b",c=this.state.temporary.previewConfig.variants.find(d=>d.label===l);if(!c?.domSelectors){this.log(`No variant found for label ${l} in preview config for ${i}`);return}n=c.domSelectors,this.log(`Using preview config for ${i} in merchant mode, variant: ${l}`)}else{const l=this.testConfigs.find(d=>d.id===t);if(!l){this.log(`No testConfig found for id: ${t} - early return`);return}const c=l.hypotheses.find(d=>e==="control"?d.isControl:!d.isControl);if(!c?.domSelectors){this.log(`No hypothesis or domSelectors found for assignment: ${e} - early return`);return}n=c.domSelectors}const o=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);r.forEach(l=>{let c=null;const d=l.parentElement;if(d&&(c=d.querySelector('input[name="properties[_slpt]"]')),c||(c=l.querySelector('input[name="properties[_slpt]"]')),!c){this.log(`No hidden input found for ${i} element`);return}const p=c.getAttribute("data-sl-pid");if(!p){this.log("Hidden input has no data-sl-pid attribute - skipping");return}const h=n.find(S=>{const P=S.cssSelector.match(o);return P&&P[1]===p});if(!h){this.log(`No matching selector found for productId: ${p} - skipping element`);return}const u=h.actions.find(S=>S.scope==="price");if(!u?.value){this.log("No price action or value found - skipping element");return}const b=parseFloat(u.value.replace(/[^0-9.]/g,""));if(Number.isNaN(b)){this.log(`Invalid price "${u.value}" for product ${p} - skipping`);return}const k=Math.round(b*100);s(l,k)}),this.log(`updatePlacementElements completed for ${i}`)}updateShopifyPaymentTerms(t,e){const i=document.querySelectorAll("shopify-payment-terms");if(i.length===0)return;this.log("Store using shopify payments");let s;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const n=e==="control"?"a":"b",o=this.state.temporary.previewConfig.variants.find(l=>l.label===n);if(!o||!o.domSelectors){this.log(`No variant found for label ${n} in preview config`);return}s=o.domSelectors,this.log(`Using preview config for shopify-payment-terms in merchant mode, variant: ${n}`)}else{const n=this.testConfigs.find(l=>l.id===t);if(!n)return;const o=n.hypotheses.find(l=>e==="control"?l.isControl===!0:l.isControl===!1);if(!o||!o.domSelectors)return;s=o.domSelectors}const r=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);i.forEach(n=>{const o=n.getAttribute("variant-id");if(!o)return;const l=s.find(c=>{const d=c.cssSelector.match(r);return d&&d[1]===o});if(l){const c=l.actions.find(d=>d.scope==="price");if(c&&c.value){const d=n.getAttribute("shopify-meta");if(d)try{const p=JSON.parse(d);if(p.variants&&Array.isArray(p.variants)){const h=p.variants.find(u=>u.id?.toString()===o);if(h){h.full_price=c.value;const u=parseFloat(c.value.replace(/[^0-9.]/g,""));if(h.number_of_payment_terms&&h.number_of_payment_terms>1){const b=u/h.number_of_payment_terms;h.price_per_term=`$${b.toFixed(2)}`}n.setAttribute("shopify-meta",JSON.stringify(p))}}}catch(p){this.log("Error parsing/updating shoplift-meta:",p)}}}})}async makeJsonRequest(t){const e=await this.makeRequest(t);return e===null?null:JSON.parse(await e.text(),F)}async makeRequest(t){const{url:e,method:i,headers:s,data:r,signal:n}=t,o=new Headers;if(s)for(const c in s)o.append(c,s[c]);(!s||!s.Accept)&&o.append("Accept","application/json"),(!s||!s["Content-Type"])&&o.append("Content-Type","application/json"),(this.eventHost.includes("ngrok.io")||this.eventHost.includes("ngrok-free.app"))&&o.append("ngrok-skip-browser-warning","1234");const l=await this.fetch(e,{method:i,headers:o,body:r,signal:n});if(!l.ok){if(l.status===204)return null;if(l.status===422){const c=await l.json();if(typeof c<"u"&&c.isBot)throw new et}throw new Error(`Error sending shoplift request ${l.status}`)}return l}queueAddVisitorToTest(t,e){if(this.state.essential.visitorTests.some(s=>s.testId===t))return;const i=this.testConfigs.find(s=>s.id===t);if(this.state.essential.visitorTests.push({createdAt:new Date,testId:t,hypothesisId:e.id,isThemeTest:e.type==="theme",themeId:e.themeId,isSaved:!1,isInvalid:!1,shouldSendToGa:!0,testType:e.type,assignedTo:e.isControl?"control":"variant",testTitle:i?.title}),e.type==="price"){const s=e.isControl?"control":"variant";this.log("Price test assignment detected, updating cart attributes:",t,s),this.updatePriceTestHiddenInputs(t,s,!1)}}queueCartUpdate(t){this.queueEvent(new wt(t))}queuePageView(t){this.queueEvent(new vt(t))}queueEvent(t){!this.state.essential.consentApproved&&this.state.essential.hasConsentInteraction||this.state.analytics.queue.length>10||this.state.analytics.queue.push(t)}legacyGetLocalStorageVisitor(){const t=this.localStorageGet(this.legacySessionKey);if(t)try{return JSON.parse(t,F)}catch{}return null}pruneStaleVisitorTests(){this.state.essential.visitorTests=this.state.essential.visitorTests.filter(t=>this.testConfigs.some(e=>e.id==t.testId)||this.inactiveTestConfigs.filter(e=>this.testIsPaused(e)).some(e=>e.id===t.testId))}pruneStateAndSave(){this.pruneStaleVisitorTests(),this.saveState()}saveState(){this.persistEssentialState(),this.persistAnalyticsState()}loadState(){const t=this.loadAnalyticsState(),e={analytics:t,essential:this.loadEssentialState(t),temporary:this.loadTemporaryState()},i=this.legacyGetLocalStorageVisitor(),s=this.legacyGetCookieVisitor(),r=[i,s].filter(n=>n!==null).sort((n,o)=>+o.storedAt-+n.storedAt)[0];return e.analytics.visitor===null&&r&&({visitorTests:e.essential.visitorTests,...e.analytics.visitor}=r,e.essential.isFirstLoad=!1,e.essential.initialState={createdAt:r.createdAt,referrer:r.referrer,utmCampaign:r.utmCampaign,utmContent:r.utmContent,utmMedium:r.utmMedium,utmSource:r.utmSource,device:r.device},this.deleteCookie("SHOPLIFT"),this.deleteLocalStorage(this.legacySessionKey)),!e.essential.consentApproved&&e.essential.hasConsentInteraction&&this.deleteLocalStorage(this.analyticsSessionKey),e}loadEssentialState(t){const e=this.loadLocalStorage(this.essentialSessionKey),i=this.loadCookie(this.essentialSessionKey),s=this.getInitialState();t.visitor?.device&&(s.device=t.visitor.device);const r={timestamp:new Date,consentApproved:!1,hasConsentInteraction:!1,debugMode:!1,initialState:s,visitorTests:[],isFirstLoad:!0},n=[e,i].filter(o=>o!==null).sort((o,l)=>+l.timestamp-+o.timestamp)[0]??r;return n.initialState||(t.visitor!==null?n.initialState=t.visitor:(n.initialState=s,n.initialState.createdAt=n.timestamp)),n}loadAnalyticsState(){const t=this.loadLocalStorage(this.analyticsSessionKey),e=this.loadCookie(this.analyticsSessionKey),i={timestamp:new Date,visitor:null,queue:[]},s=[t,e].filter(r=>r!==null).sort((r,n)=>+n.timestamp-+r.timestamp)[0]??i;return s.queue.length===0&&t&&t.queue.length>1&&(s.queue=t.queue),s}loadTemporaryState(){const t=this.sessionStorageGet(this.temporarySessionKey),e=t?JSON.parse(t,F):null,i=this.loadCookie(this.temporarySessionKey);return e??i??{isMerchant:!1,timestamp:new Date}}persistEssentialState(){this.log("Persisting essential state"),this.state.essential.isFirstLoad=!1,this.state.essential.timestamp=new Date,this.persistLocalStorageState(this.essentialSessionKey,this.state.essential),this.persistCookieState(this.essentialSessionKey,this.state.essential)}persistAnalyticsState(){this.log("Persisting analytics state"),this.state.essential.consentApproved&&(this.state.analytics.timestamp=new Date,this.persistLocalStorageState(this.analyticsSessionKey,this.state.analytics),this.persistCookieState(this.analyticsSessionKey,{...this.state.analytics,queue:[]}))}persistTemporaryState(){this.log("Setting temporary session state"),this.state.temporary.timestamp=new Date,this.sessionStorageSet(this.temporarySessionKey,JSON.stringify(this.state.temporary)),this.persistCookieState(this.temporarySessionKey,this.state.temporary,!0)}loadLocalStorage(t){const e=this.localStorageGet(t);if(e===null)return null;try{return JSON.parse(e,F)}catch{return null}}loadCookie(t){const e=this.getCookie(t);if(e===null)return null;try{return JSON.parse(e,F)}catch{return null}}persistLocalStorageState(t,e){this.localStorageSet(t,JSON.stringify(e))}persistCookieState(t,e,i=!1){const s=JSON.stringify(e),r=i?"":`expires=${new Date(new Date().getTime()+864e5*365).toUTCString()};`;document.cookie=`${t}=${s};domain=.${window.location.hostname};path=/;SameSite=Strict;${r}`}deleteCookie(t){const e=new Date(0).toUTCString();document.cookie=`${t}=;domain=.${window.location.hostname};path=/;expires=${e};`}deleteLocalStorage(t){window.localStorage.removeItem(t)}getChannel(t){return[{"name":"cross-network","test":(v) => new RegExp(".*cross-network.*", "i").test(v.utmCampaign)},{"name":"direct","test":(v) => v.utmSource === "" && v.utmMedium === ""},{"name":"paid-shopping","test":(v) => (new RegExp("^(?:Google|IGShopping|aax-us-east\.amazon-adsystem\.com|aax\.amazon-adsystem\.com|alibaba|alibaba\.com|amazon|amazon\.co\.uk|amazon\.com|apps\.shopify\.com|checkout\.shopify\.com|checkout\.stripe\.com|cr\.shopping\.naver\.com|cr2\.shopping\.naver\.com|ebay|ebay\.co\.uk|ebay\.com|ebay\.com\.au|ebay\.de|etsy|etsy\.com|m\.alibaba\.com|m\.shopping\.naver\.com|mercadolibre|mercadolibre\.com|mercadolibre\.com\.ar|mercadolibre\.com\.mx|message\.alibaba\.com|msearch\.shopping\.naver\.com|nl\.shopping\.net|no\.shopping\.net|offer\.alibaba\.com|one\.walmart\.com|order\.shopping\.yahoo\.co\.jp|partners\.shopify\.com|s3\.amazonaws\.com|se\.shopping\.net|shop\.app|shopify|shopify\.com|shopping\.naver\.com|shopping\.yahoo\.co\.jp|shopping\.yahoo\.com|shopzilla|shopzilla\.com|simplycodes\.com|store\.shopping\.yahoo\.co\.jp|stripe|stripe\.com|uk\.shopping\.net|walmart|walmart\.com)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"display","test":(v) => new RegExp("^(?:display|banner|expandable|interstitial|cpm)$", "i").test(v.utmMedium)},{"name":"paid-other","test":(v) => new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"organic-shopping","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)},{"name":"organic-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) || new RegExp("^(?:social|social-network|social-media|sm|social network|social media)$", "i").test(v.utmMedium)},{"name":"organic-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) || new RegExp("^(.*video.*)$", "i").test(v.utmMedium)},{"name":"organic-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || v.utmMedium.toLowerCase() === "organic"},{"name":"referral","test":(v) => new RegExp("^(?:referral|app|link)$", "i").test(v.utmMedium)},{"name":"email","test":(v) => new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmMedium) || new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmSource)},{"name":"affiliate","test":(v) => v.utmMedium.toLowerCase() === "affiliate"},{"name":"audio","test":(v) => v.utmMedium.toLowerCase() === "audio"},{"name":"sms","test":(v) => v.utmSource.toLowerCase() === "sms" || v.utmMedium.toLowerCase() === "sms"},{"name":"mobile-push-notification","test":(v) => v.utmSource.toLowerCase() === "firebase" || new RegExp("(?:.*mobile.*|.*notification.*|push$)", "i").test(v.utmMedium)}].find(i=>i.test(t))?.name??"other"}getShopifyAnalyticsId(){const t=this.getCookie("_shopify_y");if(t)return t;try{const e=this.localStorageGet("Shoplift_ClientId");if(e)return e}catch{}return null}legacyGetCookieVisitor(){const t=this.getCookie("SHOPLIFT");return t===null?null:JSON.parse(t,F)}getCookie(t){const e=this.cookie.split("; ").filter(i=>i.split("=").at(0)===t).at(0);return e===void 0?null:e.split("=").slice(1).join("=")}monitorConsentChange(){document.addEventListener("visitorConsentCollected",t=>{(async()=>await this.onConsentChange(t.detail.analyticsAllowed,!0))()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>this.loadShopifyConsentApiWithRetry()):this.loadShopifyConsentApiWithRetry()}loadShopifyConsentApiWithRetry(){let t=0;const e=()=>{this.loadShopifyConsentApi()||t++<10&&window.setTimeout(e,100)};e()}loadShopifyConsentApi(){if(window.Shopify){this.log("Loading Shopify features");const t=async()=>{if(!window.Shopify){this.log("Shopify object missing... suddenly?");return}if(window.Shopify.customerPrivacy===void 0){this.log("Shopify CustomerPrivacy api still missing, trying again in 1000ms"),e=window.setTimeout(()=>{(async()=>await t())()},1e3);return}const i=window.Shopify.customerPrivacy.getTrackingConsent();await this.onConsentChange(window.Shopify.customerPrivacy.analyticsProcessingAllowed(),i==="yes")};let e=window.setTimeout(()=>{(async()=>await t())()},5e3);return window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],i=>{(async()=>{if(window.clearTimeout(e),i){this.log("Error loading consent tracking",i);return}await t()})()}),!0}return!1}async onConsentChange(t,e){try{if(this.log("Consent change detected",t,e),this.state.essential.consentApproved=t,this.state.essential.hasConsentInteraction=e,!this.state.essential.consentApproved){this.state.essential.hasConsentInteraction&&(this.state.analytics.queue.length=0),this.saveState();return}this.cookie=document.cookie,this.shopifyAnalyticsId=this.getShopifyAnalyticsId();for(const i of this.state.analytics.queue.filter(s=>s.type===1||s.type===2)){const s=i;s.shopifyAnalyticsId=this.shopifyAnalyticsId}this.saveState(),await this.syncAllEvents()}catch(i){this.log("Error syncing on consent change",i)}}isThemePreview(){return isThemePreview||themeRole!=="main"}isAppProxyPath(){const t=["/apps/","/tools/","/a/"],e=window.location.pathname;return t.some(i=>e.startsWith(i))}clearThemeBar(t,e,i){const s=structuredClone(i);this.log("Looking for theme bar"),this.waitForElement(null,"body").then(r=>this.waitForElement(r,"#preview-bar-iframe, #PBarNextFrameWrapper").then(n=>(this.log("Found theme bar"),e&&(this.log("Removing theme bar"),n.remove()),t?this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify({...this.debugState(),stateAtEvaluation:s},X)}):Promise.resolve(null)))).catch(r=>console.error(r))}waitForElement(t,e){return new Promise(i=>{const s=document.querySelector(e);if(s){i(s);return}const r=new MutationObserver(n=>{const o=document.querySelector(e);if(o){r.disconnect(),i(o);return}});r.observe(t??document.documentElement,{childList:!0})})}setDebug(t){this.state.essential.debugMode=t,this.saveState()}log(t,...e){let i=0;const s=t.replace(/%[sdoOfF]/g,r=>{if(i>=e.length)return r;const n=e[i++];return r==="%o"||r==="%O"?JSON.stringify(n):String(n)});this.logHistory.push(`[${new Date().toISOString()}][SL] ${s}`),!(!this.state.essential.debugMode&&!this.shopliftDebug)&&console.debug(`[SL] ${t}`,...e)}debugState(){return{state:this.state,storage:{essential:this.loadLocalStorage(this.essentialSessionKey),analytics:this.loadLocalStorage(this.analyticsSessionKey)},params:{shop:this.shop,host:this.host,eventHost:this.eventHost,cssHideClass:this.cssHideClass,testConfigs:this.testConfigs,inactiveTestConfigs:this.inactiveTestConfigs,sendPageView:this.sendPageView,isShopifyMerchantCookie:this.getCookie("is_shopify_merchant"),themeId,url:window.location.href,isThemePreview,themeRole,gaConfig:this.gaConfig},logHistory:this.logHistory}}createViewportObserver(t,e={}){const{threshold:i=this.VIEWPORT_TRACK_THRESHOLD,triggerOnce:s=!0}=e,r=new Set;return new IntersectionObserver(n=>{n.forEach(o=>{if(o.isIntersecting&&!r.has(o.target)){const l=o.target,c=l.getAttribute(this.DATA_SL_TEST_ID);c&&(t(c,l),s&&r.add(l))}})},{threshold:i})}applyChangesWithViewport(t,e,i,s){const r=e.selectorsForViewportTracking??e.selectors,n=o=>{if(this.state.essential.visitorTests.some(h=>h.testId===o)||this.activeViewportObservers.has(o))return;const l=[];if(r.forEach(h=>{t.querySelectorAll(h.cssSelector).forEach(b=>l.push(b))}),l.length===0)return;let c=!1;const d=()=>{c||(c=!0,i(o),p.disconnect(),this.activeViewportObservers.delete(o))},p=this.createViewportObserver(()=>{d()},{triggerOnce:!0,...s});this.activeViewportObservers.set(o,p),this.log(`Created viewport observer for test ${o}, observing ${l.length} elements`),l.forEach(h=>{h.setAttribute(this.DATA_SL_TEST_ID,String(o)),p.observe(h)}),setTimeout(()=>{c||l.forEach(h=>{const u=h.getBoundingClientRect(),b=s?.threshold??this.VIEWPORT_TRACK_THRESHOLD,k=Math.min(u.bottom,window.innerHeight)-Math.max(u.top,0),S=Math.min(u.right,window.innerWidth)-Math.max(u.left,0);u.top<window.innerHeight&&u.bottom>0&&u.left<window.innerWidth&&u.right>0&&k>0&&S>0&&k>=u.height*b&&(this.log(`Price element already visible in viewport for test ${o}:`,h),d())})},100)};e.selectors.length>0&&U(t,e,()=>{}),bt(t,{testId:e.testId,hypothesisId:e.hypothesisId,selectors:r},o=>{n(o)})}applyPriceTestWithMapLookup(t,e,i,s){if(!e.priceData){this.log("No price data for hypothesis '%s'",e.id);return}this.log("Hypothesis '%s' isControl=%s, priceData has %d variants",e.id,e.isControl,e.priceData.variants.length);const r=e.priceData.variants.slice(0,3);for(const[S,P,_]of r)this.log("  Sample priceData: variant=%s, price=%d, compareAt=%d",S,P,_);const n=j(e.priceData),o=new Set;for(const S of i)if(S.priceData)for(const[P]of S.priceData.variants)o.add(P);this.log("Price test Map lookup: %d products in hypothesis, %d total products to track",n.size,o.size);const l=e.priceData,c=new WeakSet;let d=!1;const p="[data-sl-attribute-p], [data-sl-attribute-cap], [data-sl-attribute-discount]",h=S=>{if(c.has(S))return;const P=S.getAttribute("data-sl-attribute-p"),_=S.getAttribute("data-sl-attribute-cap"),C=S.getAttribute("data-sl-attribute-discount"),m=P||_||C;if(!m||!o.has(m))return;c.add(S);const y=n.get(m);y&&(this.log("Applying price for product %s: %d cents (compare at: %d cents)",m,y.priceInCents,y.compareAtPriceInCents),Dt(S,m,y,l),this.log("Applied price to element for product %s",m)),!d&&!this.state.essential.visitorTests.some(w=>w.testId===t)&&(S.setAttribute(this.DATA_SL_TEST_ID,String(t)),this.setupElementViewportTracking(S,t,()=>{d||(d=!0,s(t))}))},u=()=>{const S=document.querySelectorAll(p);this.log("Scanning for price elements, found: %d",S.length),S.forEach(h)},b=new MutationObserver(S=>{for(const P of S)P.type==="childList"&&P.addedNodes.forEach(_=>{if(_.nodeType===Node.ELEMENT_NODE){const C=_;(C.hasAttribute("data-sl-attribute-p")||C.hasAttribute("data-sl-attribute-cap")||C.hasAttribute("data-sl-attribute-discount"))&&h(C),C.querySelectorAll(p).forEach(h)}}),P.type==="attributes"&&P.target instanceof Element&&h(P.target)}),k=document.body||document.documentElement;b.observe(k,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-sl-attribute-p","data-sl-attribute-cap","data-sl-attribute-discount"]}),this.log("MutationObserver started for price elements"),u(),document.readyState==="loading"&&document.addEventListener("DOMContentLoaded",()=>{this.log("DOMContentLoaded - rescanning for price elements"),u()}),setTimeout(()=>{this.log("Delayed rescan for price elements"),u()},100),setTimeout(()=>{this.log("Final rescan for price elements"),u()},500)}setupElementViewportTracking(t,e,i){const s=this.VIEWPORT_TRACK_THRESHOLD,r=t.getBoundingClientRect(),n=Math.min(r.bottom,window.innerHeight)-Math.max(r.top,0),o=Math.min(r.right,window.innerWidth)-Math.max(r.left,0);if(r.top<window.innerHeight&&r.bottom>0&&r.left<window.innerWidth&&r.right>0&&n>0&&o>0&&n>=r.height*s){this.log("Price element already visible for test %s",e),i();return}const c=new IntersectionObserver(d=>{for(const p of d)if(p.isIntersecting&&p.intersectionRatio>=s){this.log("Price element entered viewport for test %s",e),c.disconnect(),i();break}},{threshold:s});c.observe(t)}debug(){const t=this.debugState();console.log(JSON.stringify(t,X,2))}}(async function(){window.shopliftInstance||(window.shopliftInstance=new Wt("needlepoint-com.myshopify.com","https://app.shoplift.ai","https://events.shoplift.ai",false,false,false,{"sendEvents":true,"mode":"gtag"},false,false,1000,[],[{"id":"dcafd351-7433-4085-b1b4-8a9591c7a036","bayesianRevision":3,"status":"cancelled","hypotheses":[{"id":"f4f4451e-487e-444e-b53f-3a093bafbf4d","type":"theme","themeId":126910791723,"affix":"","isControl":true,"redirectPath":null},{"id":"d4fe6ce3-980b-4af1-9169-d57a7d3abd77","type":"theme","themeId":128190087211,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"019cafcd-1825-733e-b8b9-5280a4e74499","bayesianRevision":5,"status":"incompatible","hypotheses":[{"id":"019cafcb-270a-70cc-bd46-fea4f10876af","type":"theme","themeId":184943116331,"affix":"","isControl":true,"redirectPath":null},{"id":"019cafcc-b366-7f29-a2bc-4b100ca4623f","type":"theme","themeId":183690133547,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"019c8ae8-d8e1-71c0-a900-345b79acfcaf","bayesianRevision":5,"status":"cancelled","hypotheses":[{"id":"019c8ae5-7528-7a47-a71d-57d69937c502","type":"theme","themeId":131799318571,"affix":"","isControl":true,"redirectPath":null},{"id":"019c8ae6-4272-7ce5-9f3b-050dcb952844","type":"theme","themeId":183441293355,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"019d517f-73f9-7d84-9ec0-fca5b60b78a5","bayesianRevision":5,"status":"cancelled","hypotheses":[{"id":"019d4efa-0d75-74a2-9f61-b31fe5e3cfd0","type":"theme","themeId":131799318571,"affix":"","isControl":true,"redirectPath":null},{"id":"019d4fc1-c1e4-7e34-aeea-e1f75fc5f6f9","type":"theme","themeId":184701780011,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"019e3c2c-a3eb-76c3-9667-8ce91f122501","bayesianRevision":5,"status":"paused","hypotheses":[{"id":"019e3bde-ec2a-7f1b-9f07-b547d33a808f","type":"theme","themeId":184943116331,"affix":"","isControl":true,"redirectPath":null},{"id":"019e3bde-fe06-75e7-bee1-fa752c2b749a","type":"theme","themeId":186239385643,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"019d6d8f-f6cd-7b43-a6f4-3f3e47a5344a","bayesianRevision":5,"status":"cancelled","hypotheses":[{"id":"019d4ed8-e800-767a-9425-941e90f6a5bb","type":"theme","themeId":184943116331,"affix":"","isControl":true,"redirectPath":null},{"id":"019d4ed9-3169-7b8a-a59b-cb305614c06c","type":"theme","themeId":184641781803,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false}],null),await window.shopliftInstance.init())})();async function Gt(a,t,e,i){const s=Mt({log:i});if(e)return i("[SUB-PREVIEW] A side — no overlay applied; widget renders naturally"),s;const r=a.widget.widgetType,n=t?j(t):null;let o=W(t),l=K(a,o),c=l.discountMap,d=l.maxDiscount;function p(){const f=W(t);f!==o&&(o=f,l=K(a,o),c=l.discountMap,d=l.maxDiscount,i(`[SUB-PREVIEW] scope refreshed currentProductId=${o??"n/a"}, maxDiscount=${d}`))}i(`[SUB-PREVIEW] side=B, currentProductId=${o??"n/a"}, maxDiscount=${d}`);function h(f){if(!t||!n)return null;const v=Y(n),g=v?n.get(v):void 0;return g?{formattedVariantPrice:G(g.priceInCents,t),formattedDiscounted:G(g.priceInCents*(1-f/100),t)}:null}function u(f){const v=J(a,f);if(!v)return d;const g=D(a,"subscriptionInput"),I=g.length?g[0].selector:'input[name="rc_plan"]',A=v.querySelector(`${I}:checked`);if(A){const E=c[A.value];if(E!==void 0)return E}return d}function b(f){const v=D(a,"subscriptionDiscount");for(const g of v)if(g.selector.includes("badge")||g.selector.includes("__badge")){const I=f.querySelector(g.selector);I?.textContent&&!I.textContent.includes(`${d}%`)&&$(I,A=>N(A,d))}}function k(f,v){const g=h(v);if(!g)return;const I=D(a,"subscriptionCompareAt");for(const A of I){const E=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);E?.textContent&&!E.textContent.includes(g.formattedVariantPrice)&&$(E,x=>/\d/.test(x)?g.formattedVariantPrice:x)}}function S(f,v){const g=h(v);if(!g)return;const I=D(a,"subscriptionPrice");for(const A of I){const E=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);E?.textContent&&!E.textContent.includes(g.formattedDiscounted)&&$(E,x=>/\d/.test(x)?g.formattedDiscounted:x)}}function P(f){const v=D(a,"subscriptionInput"),g=v.length?v[0].selector:'input[name="rc_plan"]',I=D(a,"subscriptionPlanDiscount"),A=I.length?I[0].selector:".rc-plans-button__discount";for(const E of Array.from(f.querySelectorAll("label"))){const x=E.querySelector(g),R=E.querySelector(A);if(x&&R?.textContent){const V=c[x.value];if(V!==void 0){const O=R.textContent.match(/[\d.]+%/)?.[0];O&&O!==`${V}%`&&$(R,L=>N(L,V))}}}}function _(f){const v=f.querySelector("select");if(v)for(const g of Array.from(v.options)){const I=c[g.value];if(I!==void 0&&g.textContent){const A=g.textContent.match(/[\d.]+%/)?.[0];A&&A!==`${I}%`&&(g.textContent=N(g.textContent,I))}}}function C(f){const v=D(a,"onetimePrice");if(!v.length||!t||!n)return;const g=Y(n),I=g?n.get(g):void 0;if(!I)return;const A=G(I.priceInCents,t),E=D(a,"onetimeContainer"),x=E.length?E[0].selector:'[part~="rc-purchase-option__onetime"]',R=f.querySelector(x);if(R)for(const V of v){const O=R.querySelector(`[part~="${V.selector}"]`);O?.textContent&&!O.textContent.includes(A)&&$(O,L=>/\d/.test(L)?A:L)}}function m(f,v){const I=D(a,"subscriptionDiscount").filter(A=>A.selector.includes("benefit")||A.selector==="rc-benefits");for(const A of I){const E=f.querySelector(A.selector);if(E?.shadowRoot){for(const x of Array.from(E.shadowRoot.querySelectorAll("li")))if(x.textContent?.includes("Save")){const R=x.textContent.match(/[\d.]+%/)?.[0];R&&R!==`${v}%`&&$(x,V=>N(V,v))}}}}let y=!1;function w(){if(!y){y=!0;try{p();const f=B(a);if(!f)return;const v=u(f);b(f),k(f,v),S(f,v),C(f);const g=J(a,f);g&&(r==="buttons"||r==="radio"?P(g):_(g)),m(f,v)}finally{y=!1}}}const T=dt({data:a,runUpdates:w});return function(){T(),s()}}const jt=Object.freeze(Object.defineProperty({__proto__:null,subscriptionPreviewRender:Gt},Symbol.toStringTag,{value:"Module"}))})(); })("/", { suffix: "", type: "index" }, "main", 184943116331, false)</script>
    <!-- End of Shoplift scripts -->

    <!-- Google tag (gtag.js) -->
    <script async data-lazy-src="https://www.googletagmanager.com/gtag/js?id=AW-1052679776"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'AW-1052679776');
    </script>

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">


  <meta name="description" content="Discover your happy place at Needlepoint.Com! Explore the finest needlepoint supplies, canvases, kits, and threads. Enjoy our stitching resources, expert tips, and classes to elevate your craft. Shop now for unbeatable quality and inspiration!">


<meta property="og:site_name" content="Needlepoint.Com">
<meta property="og:url" content="https://needlepoint.com/">
<meta property="og:title" content="Needlepoint Kits, Canvases, &amp; Supplies | Needlepoint.Com">
<meta property="og:type" content="website">
<meta property="og:description" content="Discover your happy place at Needlepoint.Com! Explore the finest needlepoint supplies, canvases, kits, and threads. Enjoy our stitching resources, expert tips, and classes to elevate your craft. Shop now for unbeatable quality and inspiration!">






<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Needlepoint Kits, Canvases, &amp; Supplies | Needlepoint.Com">
<meta name="twitter:description" content="Discover your happy place at Needlepoint.Com! Explore the finest needlepoint supplies, canvases, kits, and threads. Enjoy our stitching resources, expert tips, and classes to elevate your craft. Shop now for unbeatable quality and inspiration!">
<link rel="canonical" href="https://needlepoint.com/">
    <link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="icon" type="image/png" href="//needlepoint.com/cdn/shop/files/NP.Com_Logo_Turquoise_ce762665-f737-47c7-bfff-6004fd3ef044_32x32.png?v=1758125530">

    <title>
      Needlepoint Kits, Canvases, &amp; Supplies | Needlepoint.Com
      
      
      
    </title>

    
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="i2b6mw_t9R86OqdO0BepryoAkDDHakZ0CTK30iiB7EI">
<meta name="google-site-verification" content="i2b6mw_t9R86OqdO0BepryoAkDDHakZ0CTK30iiB7EI">
<meta name="facebook-domain-verification" content="yn891bncue0nnkercg4xep7fbr43oo">
<meta name="facebook-domain-verification" content="yn891bncue0nnkercg4xep7fbr43oo">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/25567316/digital_wallets/dialog">
<meta name="shopify-checkout-api-token" content="f4fb18c86b86e48da5e9708c12cf5100">
<meta id="in-context-paypal-metadata" data-shop-id="25567316" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
<link rel="alternate" hreflang="x-default" href="https://needlepoint.com/">
<link rel="alternate" hreflang="en" href="https://needlepoint.com/">
<link rel="alternate" hreflang="en-CA" href="https://needlepoint.com/en-ca">
<link rel="alternate" hreflang="en-GB" href="https://needlepoint.com/en-gb">
<link rel="alternate" hreflang="en-AU" href="https://needlepoint.com/en-au">
<link rel="alternate" hreflang="en-MX" href="https://needlepoint.com/en-mx">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=25567316" crossorigin="anonymous"></script>
<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":25567316,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/25567316","merchantName":"Needlepoint.Com","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Needlepoint.Com","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
<script id="shopify-features" type="application/json">{"accessToken":"f4fb18c86b86e48da5e9708c12cf5100","betas":["rich-media-storefront-analytics"],"domain":"needlepoint.com","predictiveSearch":true,"shopId":25567316,"locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "needlepoint-com.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"USD","rate":"1.0"};
Shopify.country = "US";
Shopify.theme = {"name":"needlepoint\/main","id":184943116331,"schema_name":"Needlepoint.Com Theme","schema_version":"1.0.0","theme_store_id":null,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "needlepoint.com/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";
Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
Shopify.SignInWithShop = Shopify.SignInWithShop || {};
Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
Shopify.SignInWithShop.User.recognized = false;</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script>
  window.ShopifyPay = window.ShopifyPay || {};
  window.ShopifyPay.apiHost = "shop.app\/pay";
  window.ShopifyPay.redirectState = null;
</script>
<script>
  window.Shopify = window.Shopify || {};
  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.01 };
  window.Shopify.SignInWithShop.eligible = true;
</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
<script defer="defer" async type="module" src="//needlepoint.com/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
<script type="module">
  await import("//needlepoint.com/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");

  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});

</script>
<script>
  window.Shopify = window.Shopify || {};
  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
  window.Shopify.featureAssets['shop-js'] = {"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"avatar":["modules/v2/loader.avatar.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"]};
</script>
<script>(function() {
  var isLoaded = false;
  function asyncLoad() {
    if (isLoaded) return;
    isLoaded = true;
    var urls = ["\/\/www.powr.io\/powr.js?powr-token=needlepoint-com.myshopify.com\u0026external-type=shopify\u0026shop=needlepoint-com.myshopify.com","\/\/d1liekpayvooaz.cloudfront.net\/apps\/customizery\/customizery.js?shop=needlepoint-com.myshopify.com","\/\/swymv3pro-01.azureedge.net\/code\/swym_fb_pixel.js?shop=needlepoint-com.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-969d7e18f50d5509e928451a7036b581.js?shop=needlepoint-com.myshopify.com","\/\/cdn.shopify.com\/proxy\/6a802b08deea24befa8b57ee2d076fa8302b45f43e43e82cb844871acf73fa34\/sbzstag.cirkleinc.com\/?shop=needlepoint-com.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"];
    for (var i = 0; i < urls.length; i++) {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = urls[i];
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    }
  };
  if(window.attachEvent) {
    window.attachEvent('onload', asyncLoad);
  } else {
    window.addEventListener('load-head-scripts', asyncLoad, false);
  }
})();</script>
<script id="__st">var __st={"a":25567316,"offset":-14400,"reqid":"abe61b48-1685-4ca5-b977-949210401539-1780970216","pageurl":"needlepoint.com\/?keyword=\u0026gad_source=1\u0026gad_campaignid=20647714233\u0026gclid=Cj0KCQjw0JnRBhDJARIsALobnXbfXiSi0LcpCbO65hJ5rdZUrbc3TufS4ftuhuBfmRlmO2qubH4JLJIaAiFaEALw_wcB","u":"a8c2f829476b","p":"home"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//needlepoint.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
<script crossorigin="anonymous" defer="defer" src="//needlepoint.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-bf1cdb70.js?v=20250812"></script>
<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://needlepoint.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
</script>
<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
</script>
<script async="async" integrity="sha256-hlq21VGceRKy8z+Fjhropk1BwDPACP0RdQ5rBrATyUo=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-67b41cb9.js" crossorigin="anonymous"></script>
<script id='scb4127' type='text/javascript' async='' src='https://needlepoint.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script><link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://needlepoint.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
<style id="shopify-accelerated-checkout-cart">
        #shopify-buyer-consent {
  margin-top: 1em;
  display: inline-block;
  width: 100%;
}

#shopify-buyer-consent.hidden {
  display: none;
}

#shopify-subscription-policy-button {
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
  font-size: inherit;
  cursor: pointer;
}

#shopify-subscription-policy-button::before {
  box-shadow: none;
}

      </style>

<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
    

    <link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
    <link rel="preconnect" href="https://static.hotjar.com"><link href="//needlepoint.com/cdn/shop/t/406/assets/fonts.css?v=153799078881262958861775772177" rel="stylesheet" type="text/css" media="all" />

    <style data-shopify>
      :root {
        --background: #FBFBF8;
        /* --text: #2A2E3F; old color */
        --text: #292d3d; /* new color */
        --swiper-pagination-color: #00A7B5;
        --swiper-pagination-progressbar-bg-color: #00A7B533;
        --swiper-pagination-progressbar-size: 1px;
      }

      html {
        scroll-behavior: smooth;
      }
    </style>



  <script src="//needlepoint.com/cdn/shop/t/406/assets/main-eZhljpxi.js" type="module" crossorigin="anonymous"></script>




  <link href="//needlepoint.com/cdn/shop/t/406/assets/main-DPR_IFis.css" rel="stylesheet" type="text/css" media="all" />

<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>

    <!-- Hotjar Tracking Code for Site 5021869 (Needlepoint.Com) - Deferred for performance -->
    <script>
      (function(h,o,t,j,a,r){
          h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
          h._hjSettings={hjid:5021869,hjsv:6};
          a=o.getElementsByTagName('head')[0];
          r=o.createElement('script');r.async=1;
          r.dataset.lazySrc=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
          a.appendChild(r);
      })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
    </script>

    

    <script>
      // Microsoft Clarity + Shoplift Integration
      function initializeShopliftClarity() {
        if (window.shoplift && window.clarity) {
          const visitorData = window.shoplift.getVisitorData();
          
          if (visitorData.visitor && visitorData.visitorTests.length > 0) {
            // Identify user
            clarity('identify', visitorData.visitor.id, {
              customSessionId: visitorData.visitor.shopifyAnalyticsId
            });
            
            // Set custom tags for each test
            visitorData.visitorTests.forEach(test => {
              clarity('set', `test_${test.testId}`, test.hypothesisId);
              clarity('set', 'is_theme_test', test.isThemeTest.toString());
            });
            
            // Track page view with test context
            clarity('event', 'shoplift_page_view', {
              test_count: visitorData.visitorTests.length,
              device: visitorData.visitor.device
            });
          }
        } else {
          setTimeout(initializeShopliftClarity, 100);
        }
      }

      // Initialize on page load
      initializeShopliftClarity();
    </script>
  <!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
<script type="text/javascript">
  (function (c, l, a, r, i, t, y) {
    c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); };
    t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify";
    y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);

    c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => {
      if (error) {
        console.error("Error loading Shopify features:", error);
        return;
      }

      c[a]('consentv2', {
        ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied",
        analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied",
        source: 101,
      });
    });

    l.addEventListener("visitorConsentCollected", function (e) {
      c[a]('consentv2', {
        ad_Storage: e.detail.marketingAllowed ? "granted" : "denied",
        analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied",
        source: 101,
      });
    });
  })(window, document, "clarity", "script", "opv0npofsu");
</script>



<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->












  <script async src="https://static.klaviyo.com/onsite/js/TxAVmM/klaviyo.js?company_id=TxAVmM"></script>
  <script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>

  




  <script>
    window.klaviyoReviewsProductDesignMode = false
  </script>









<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core -->







<link rel="dns-prefetch" href="https://cdn.judge.me">
<link rel="dns-prefetch" href="https://cdn1.judge.me">
<link rel="dns-prefetch" href="https://api.judge.me">

<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":true,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} review/reviews","badge_star_color":"#00abc0","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank you! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"","widget_rating_filter_color":"","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#00abc0","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"country_state_iso_code","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"★ Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"text","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":true,"featured_carousel_show_header":true,"featured_carousel_title":"Stitcher Reviews","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":300,"featured_carousel_width":100,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#d9d7d7","verified_count_badge_style":"vintage","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":true,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":false,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":4,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","featured_carousel_theme":"card","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":true,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#00abc0","featured_carousel_empty_star_background":"#f5f5f5","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":false,"featured_carousel_verified_badge_color":"#00abc0","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":false,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":false,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subtitle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#00abc0","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":true,"widget_show_product_medals":false,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#108474","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":false,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"widget_show_review_title_input":true,"redirect_reviewers_invited_via_email":"review_widget","request_store_review_after_product_review":false,"request_review_other_products_in_order":false,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":{},"review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":{},"review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":false,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":false,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_store_review_label_text":"Review about the store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":false,"review_widget_qna_enabled":false,"review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural":"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"We’ll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"bold_badge","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","platform":"shopify","branding_url":"https://app.judge.me/reviews/stores/needlepoint.com","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Needlepoint.Com","widget_version":"3.0","footer":true,"autopublish":false,"review_dates":true,"enable_custom_form":false,"shop_use_review_site":true,"shop_locale":"en","enable_multi_locales_translations":true,"show_review_title_input":true,"review_verification_email_status":"never","can_be_branded":true,"reply_name_text":"Needlepoint.Com"};</script> <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #00abc0;--jdgm-secondary-color: rgba(0,171,192,0.1);--jdgm-star-color: #00abc0;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #00abc0;--jdgm-paginate-color: #00abc0;--jdgm-border-radius: 10;--jdgm-reviewer-name-color: #00abc0}.jdgm-histogram__bar-content{background-color:#00abc0}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#00abc0}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#00abc0}.jdgm-widget .jdgm-write-rev-link{display:none}.jdgm-widget .jdgm-rev-widg[data-number-of-reviews='0']{display:none}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-rev .jdgm-rev__icon{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_etsy"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_google_business"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_shop_app"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#108474}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'Needlepoint.Com'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )}
</style> <style class='jdgm-settings-style'></style>

  
  
  
  <style class='jdgm-miracle-styles'>
  @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-prev-badge{display:block !important}

</style>


  
  
   




<script data-cfasync='false' class='jdgm-script'>
!function(e){window.jdgm=window.jdgm||{},jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/019ea81e-eadf-7199-a3d8-70ded874a005/judgeme-563/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/",
jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)?
setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){
!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d),
(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!",
a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))},
jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest;
t.onreadystatechange=function(){4===t.readyState&&(Function(t.response)(),d&&d(t.response))},
t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll(
".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting?
parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"):
jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css")
)}))}(document);
</script>
<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/019ea81e-eadf-7199-a3d8-70ded874a005/judgeme-563/assets/shopify_v2.css"></noscript>

<!-- BEGIN app snippet: theme_fix_tags --><script>
  (function() {
    var jdgmThemeFixes = {"131799318571":{"html":"","css":"","js":"document.addEventListener(\"DOMContentLoaded\", function () {\n  function fixJudgeMeAccessibility() {\n    document.querySelectorAll('.jdgm-rev-widg__summary-stars[role=\"img\"]').forEach(function(el) {\n      el.removeAttribute('role');\n    });\n  }\n\n  fixJudgeMeAccessibility();\n\n  document.addEventListener(\"judgeme:widget:loaded\", fixJudgeMeAccessibility);\n});"},"184650924075":{"html":"","css":"","js":"document.addEventListener(\"DOMContentLoaded\", function () {\n  function fixJudgeMeAccessibility() {\n    document.querySelectorAll('.jdgm-rev-widg__summary-stars[role=\"img\"]').forEach(function(el) {\n      el.removeAttribute('role');\n    });\n  }\n\n  fixJudgeMeAccessibility();\n\n  document.addEventListener(\"judgeme:widget:loaded\", fixJudgeMeAccessibility);\n});"}};
    if (!jdgmThemeFixes) return;
    var thisThemeFix = jdgmThemeFixes[Shopify.theme.id];
    if (!thisThemeFix) return;

    if (thisThemeFix.html) {
      document.addEventListener("DOMContentLoaded", function() {
        var htmlDiv = document.createElement('div');
        htmlDiv.classList.add('jdgm-theme-fix-html');
        htmlDiv.innerHTML = thisThemeFix.html;
        document.body.append(htmlDiv);
      });
    };

    if (thisThemeFix.css) {
      var styleTag = document.createElement('style');
      styleTag.classList.add('jdgm-theme-fix-style');
      styleTag.innerHTML = thisThemeFix.css;
      document.head.append(styleTag);
    };

    if (thisThemeFix.js) {
      var scriptTag = document.createElement('script');
      scriptTag.classList.add('jdgm-theme-fix-script');
      scriptTag.innerHTML = thisThemeFix.js;
      document.head.append(scriptTag);
    };
  })();
</script>
<!-- END app snippet -->
<!-- End of Judge.me Core -->



<!-- END app block --><!-- BEGIN app block: shopify://apps/gorgias-live-chat-helpdesk/blocks/gorgias/a66db725-7b96-4e3f-916e-6c8e6f87aaaa -->
<script defer data-gorgias-loader-chat src="https://config.gorgias.chat/bundle-loader/shopify/needlepoint-com.myshopify.com"></script>


<script defer data-gorgias-loader-convert  src="https://content.9gtb.com/loader.js"></script>


<script defer data-gorgias-loader-mailto-replace  src="https://config.gorgias.help/api/contact-forms/replace-mailto-script.js?shopName=needlepoint-com"></script>


<!-- END app block --><!-- BEGIN app block: shopify://apps/fuego-mobile-app/blocks/embed/9bee76c4-2c1c-4ba7-be11-e927971c6506 --><script src="https://cdn.fuego.io/banner/V5Uy32Pypi.js" async></script>


<!-- END app block --><script src="https://cdn.shopify.com/extensions/019e8f05-7c04-7838-9744-aaf916b6a5c4/nosto-personalization-212/assets/market-init.js" type="text/javascript" defer="defer"></script>
<script src="https://cdn.shopify.com/extensions/019ea81e-eadf-7199-a3d8-70ded874a005/judgeme-563/assets/loader.js" type="text/javascript" defer="defer"></script>
<script src="https://cdn.shopify.com/extensions/019ea8c7-accc-705e-aeec-5661a3d8b719/2026-06-08-19-46-57-UTC--a3fb95d/assets/smile-loader.js" type="text/javascript" defer="defer"></script>
<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 25567316,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script>
  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
</script>
<script id="web-pixels-manager-setup">(function(){var wpmLoader=function(){"use strict";return function(e,d,r,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(!Boolean(null==(i=null==(a=window.Shopify)?void 0:a.analytics)?void 0:i.replayQueue)){var a,i;window.Shopify=window.Shopify||{};var t=window.Shopify;t.analytics=t.analytics||{};var s=t.analytics;s.replayQueue=[],s.publish=function(e,d,r){return s.replayQueue.push([e,d,r]),!0};try{self.performance.mark("wpm:start")}catch(e){}var l,u,c,m,p,f,h,g,y,w,v,b,S,P=(u=(l={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,c=l.legacy,(m=navigator.userAgent).match(u)?"modern":m.match(c)?"legacy":"unknown"),C="modern"===P?"modern":"legacy",_=(null!=n?n:{modern:"",legacy:""})[C],O=[(p={baseUrl:d,hashVersion:r,buildTarget:C}).baseUrl,"/wpm","/b",p.hashVersion,"modern"===p.buildTarget?"m":"l",".js"].join(""),U=(f={version:r,bundleTarget:P,surface:e.surface,pageUrl:self.location.href,monorailEndpoint:e.monorailEndpoint},h=f.version,g=f.bundleTarget,y=f.surface,w=f.pageUrl,v=f.monorailEndpoint,{emit:function(e){var d=e.status,r=e.errorMsg,n=(new Date).getTime(),o=JSON.stringify({metadata:{event_sent_at_ms:n},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:h,bundle_target:g,page_url:w,status:d,surface:y,error_msg:r},metadata:{event_created_at_ms:n}}]});if(!v)return console&&console.warn&&console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{return self.navigator.sendBeacon.bind(self.navigator)(v,o)}catch(e){}var a=new XMLHttpRequest;try{return a.open("POST",v,!0),a.setRequestHeader("Content-Type","text/plain"),a.send(o),!0}catch(e){return console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}});try{o.browserTarget=P,function(e){var d=e.src,r=e.async,n=void 0===r||r,o=e.onload,a=e.onerror,i=e.sri,t=e.scriptDataAttributes,s=void 0===t?{}:t,l=document.createElement("script"),u=document.querySelector("head"),c=document.querySelector("body");if(l.async=n,l.src=d,i&&(l.integrity=i,l.crossOrigin="anonymous"),s)for(var m in s)if(Object.prototype.hasOwnProperty.call(s,m))try{l.dataset[m]=s[m]}catch(e){}if(o&&l.addEventListener("load",o),a&&l.addEventListener("error",a),u)u.appendChild(l);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(l)}}({src:O,async:!0,onload:function(){if(!function(){var e,d;return Boolean(null==(d=null==(e=window.Shopify)?void 0:e.analytics)?void 0:d.initialized)}()){var d=window.webPixelsManager.init(e)||void 0;if(d){var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var r=e[0],n=e[1],o=e[2];d.publishCustomEvent(r,n,o)}),r.replayQueue=[],r.publish=d.publishCustomEvent,r.visitor=d.visitor,r.initialized=!0}}},onerror:function(){return U.emit({status:"failed",errorMsg:"".concat(O," has failed to load")})},sri:(b=_,S=/^sha384-[A-Za-z0-9+/=]+$/,"string"==typeof b&&S.test(b)?_:""),scriptDataAttributes:o}),U.emit({status:"loading"})}catch(e){U.emit({status:"failed",errorMsg:(null==e?void 0:e.message)||"Unknown error"})}}}}();wpmLoader({shopId: 25567316,storefrontBaseUrl: "https://needlepoint.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["2dca8a86","d5bdd5d0","3209b71c","5acaffe6","86d76263","3b3c7daf","6faea013"],webPixelsConfigList: [{"id":"1436680235","configuration":"{\"accountID\":\"TxAVmM\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"524f6c1ee37bacdca7657a665bdca589","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1419640875","configuration":"{\"Enabled\":\"true\",\"UpdatedAt\":\"2026-06-04T03:38:57.892Z\",\"DeveloperPreview\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7913f49eba866a6cbbe1bb85b5400251","type":"APP","apiClientId":34646425601,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"861241387","configuration":"{\"projectId\":\"opv0npofsu\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4e27c3dfbb360ace43db5c8bd52813dd","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"576618539","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"34ad157958823915625854214640f0bf","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"512262187","configuration":"{\"accountID\":\"shopify-25567316\", \"endpoint\":\"https:\/\/connect.nosto.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"85848493c2a1c7a4bbf22728b6f9f31f","type":"APP","apiClientId":272825,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"319553579","configuration":"{\"swymApiEndpoint\":\"https:\/\/swymstore-v3pro-01.swymrelay.com\",\"swymTier\":\"v3pro-01\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5b6f6917e306bc7f24523662663331c0","type":"APP","apiClientId":1350849,"privacyPurposes":["ANALYTICS","MARKETING","PREFERENCES"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"286752811","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-RJ8M78QDQJ\\\",\\\"AW-1052679776\\\",\\\"GT-K8KGJQC\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-RJ8M78QDQJ\\\",\\\"AW-1052679776\\\/gBsVCMbB8IIcEOC8-vUD\\\",\\\"MC-RPDD7GP1F4\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-RJ8M78QDQJ\\\",\\\"AW-1052679776\\\/KdOjCMrC8IIcEOC8-vUD\\\",\\\"MC-RPDD7GP1F4\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-RJ8M78QDQJ\\\",\\\"AW-1052679776\\\/2g37CM_B8IIcEOC8-vUD\\\",\\\"MC-RPDD7GP1F4\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-RJ8M78QDQJ\\\",\\\"AW-1052679776\\\/pXBCCMPB8IIcEOC8-vUD\\\",\\\"AW-1052679776\\\/pzdOCOXq5oMBEOC8-vUD\\\",\\\"MC-RPDD7GP1F4\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-RJ8M78QDQJ\\\",\\\"AW-1052679776\\\/pXZ3CMzB8IIcEOC8-vUD\\\",\\\"MC-RPDD7GP1F4\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-RJ8M78QDQJ\\\",\\\"AW-1052679776\\\/KaYmCM3C8IIcEOC8-vUD\\\",\\\"MC-RPDD7GP1F4\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-RJ8M78QDQJ\\\",\\\"AW-1052679776\\\/tyFfCMnB8IIcEOC8-vUD\\\",\\\"MC-RPDD7GP1F4\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"f15305aac1e98c5c26a7c80e7bc37bde","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"226361387","configuration":"{\"shop\":\"needlepoint-com.myshopify.com\", \"shopliftUrl\":\"https:\/\/events.shoplift.ai\/api\/events\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"24c9ecc3cab2a5cad14f04750f74c9f1","type":"APP","apiClientId":7521861633,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"113901611","configuration":"{\"pixel_id\":\"295254494594565\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"abff2a8add143ccb04deb20f0ebd74a9","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"61669419","configuration":"{\"tagID\":\"2612713167285\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"18031546ee651571ed29edbe71a3550b","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"11960363","configuration":"{\"myshopifyDomain\":\"needlepoint-com.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"23b97d18e2aa74363140dc29c9284e87","type":"APP","apiClientId":2775569,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"17661995","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"LP Google Ads Conversion"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0460","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0460","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Needlepoint.Com","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"needlepoint-com.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/needlepoint.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":null,"purchasingCompany":null,"page":null},},"https://needlepoint.com/cdn","a9664f44w6a62cec8p04af10e4mb91e3447",{"modern":"","legacy":""},{"trekkieShim":true,"apiClientId":"580111","pageType":"home","shopId":"25567316","storefrontBaseUrl":"https:\/\/needlepoint.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"2dca8a86\", \"d5bdd5d0\", \"3209b71c\", \"5acaffe6\", \"86d76263\", \"3b3c7daf\", \"6faea013\"]","isMerchantRequest":"false","hashVersion":"a9664f44w6a62cec8p04af10e4mb91e3447","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script><script>
  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
  window.ShopifyAnalytics.meta.currency = 'USD';
  var meta = {"page":{"pageType":"home","requestId":"abe61b48-1685-4ca5-b977-949210401539-1780970216"}};
  for (var attr in meta) {
    window.ShopifyAnalytics.meta[attr] = meta[attr];
  }
</script>
<script class="analytics">
  (function () {
    var customDocumentWrite = function(content) {
      var jquery = null;

      if (window.jQuery) {
        jquery = window.jQuery;
      } else if (window.Checkout && window.Checkout.$) {
        jquery = window.Checkout.$;
      }

      if (jquery) {
        jquery('body').append(content);
      }
    };

    var hasLoggedConversion = function(token) {
      if (token) {
        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
      }
      return false;
    }

    var setCookieIfConversion = function(token) {
      if (token) {
        var twoMonthsFromNow = new Date(Date.now());
        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);

        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
      }
    }

    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
    if (trekkie.integrations) {
      return;
    }
    trekkie.methods = [
      'identify',
      'page',
      'ready',
      'track',
      'trackForm',
      'trackLink'
    ];
    trekkie.factory = function(method) {
      return function() {
        var args = Array.prototype.slice.call(arguments);
        args.unshift(method);
        trekkie.push(args);
        if (window.__TREKKIE_SHIM_QUEUE && (method == 'track' || method == 'page')) {
          try {
            window.__TREKKIE_SHIM_QUEUE.push({
              from: 'trekkie-stub',
              method: method,
              args: args.slice(1)
            });
          } catch (e) {
            // no-op
          }
        }
        return trekkie;
      };
    };
    for (var i = 0; i < trekkie.methods.length; i++) {
      var key = trekkie.methods[i];
      trekkie[key] = trekkie.factory(key);
    }
    trekkie.load = function(config) {
      trekkie.config = config || {};
      trekkie.config.initialDocumentCookie = document.cookie;
      var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
  var scriptFallback = document.createElement('script');
  scriptFallback.type = 'text/javascript';
  scriptFallback.onerror = function(error) {
          var Monorail = {
      produce: function produce(monorailDomain, schemaId, payload) {
        var currentMs = new Date().getTime();
        var event = {
          schema_id: schemaId,
          payload: payload,
          metadata: {
            event_created_at_ms: currentMs,
            event_sent_at_ms: currentMs
          }
        };
        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
      },
      sendRequest: function sendRequest(endpointUrl, payload) {
        // Try the sendBeacon API
        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
          var blobData = new window.Blob([payload], {
            type: 'text/plain'
          });

          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
            return true;
          } // sendBeacon was not successful

        } // XHR beacon

        var xhr = new XMLHttpRequest();

        try {
          xhr.open('POST', endpointUrl);
          xhr.setRequestHeader('Content-Type', 'text/plain');
          xhr.send(payload);
        } catch (e) {
          console.log(e);
        }

        return false;
      },
      isIos12: function isIos12() {
        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
      }
    };
    Monorail.produce('monorail-edge.shopifysvc.com',
      'trekkie_storefront_load_errors/1.1',
      {shop_id: 25567316,
      theme_id: 184943116331,
      app_name: "storefront",
      context_url: window.location.href,
      source_url: "//needlepoint.com/cdn/s/trekkie.storefront.f7140b8b25ae1195cf346a36a85e3e4bcf46adb3.min.js"});

  };
  scriptFallback.async = true;
  scriptFallback.src = '//needlepoint.com/cdn/s/trekkie.storefront.f7140b8b25ae1195cf346a36a85e3e4bcf46adb3.min.js';
  first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//needlepoint.com/cdn/s/trekkie.storefront.f7140b8b25ae1195cf346a36a85e3e4bcf46adb3.min.js';
first.parentNode.insertBefore(script, first);

    };
    trekkie.load(
      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":25567316,"isMerchantRequest":null,"themeId":184943116331,"themeCityHash":"16374210370852716910","contentLanguage":"en","currency":"USD","eventMetadataId":"5956d9e4-98e7-4b44-bf3f-27eedfc1d3d2"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["b5387b81","d5bdd5d0"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
    );

    var loaded = false;
    trekkie.ready(function() {
      if (loaded) return;
      loaded = true;

      window.ShopifyAnalytics.lib = window.trekkie;

      var originalDocumentWrite = document.write;
      document.write = customDocumentWrite;
      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
      document.write = originalDocumentWrite;

      window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"abe61b48-1685-4ca5-b977-949210401539-1780970216","shopifyEmitted":true});

      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
      var token = match? match[1]: undefined;
      if (!hasLoggedConversion(token)) {
        setCookieIfConversion(token);
        
      }
    });

    var eventsListenerScript = document.createElement('script');
    eventsListenerScript.async = true;
    eventsListenerScript.src = "//needlepoint.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
  <script>
  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
    window.ga = function ga() {
      (window.ga.q = window.ga.q || []).push(arguments);
      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
      }
      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
    };
    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
    }
  }
</script>
<script
  defer
  src="https://needlepoint.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.5.0.min.js"
  data-application="storefront-renderer"
  data-shop-id="25567316"
  data-render-region="gcp-us-central1"
  data-page-type="index"
  data-theme-instance-id="184943116331"
  data-theme-name="Needlepoint.Com Theme"
  data-theme-version="1.0.0"
  data-monorail-region="shop_domain"
  data-resource-timing-sampling-rate="10"
  data-shs="true"
  data-shs-beacon="true"
  data-shs-export-with-fetch="true"
  data-shs-logs-sample-rate="1"
  data-shs-beacon-endpoint="https://needlepoint.com/api/collect"
></script>
</head>

  <body class="template-index bg-off-white">
    <a class="skip-to-content-link button visually-hidden" href="#MainContent">Skip to content</a>

    <div class="page-overlay fixed top-0 right-0 bottom-0 left-0 bg-slate/30 z-50 invisible opacity-0 transition-visibility"></div>
    <div class="page-overlay-under fixed top-0 right-0 bottom-0 left-0 bg-slate/30 z-30 invisible opacity-0 transition-visibility"></div>
    <div class="page-overlay-popover fixed top-0 right-0 bottom-[330px] left-0 bg-slate/30 z-50 invisible opacity-0 transition-visibility md:hidden"></div>

    <div class="header-group sticky top-0 z-40"><!-- BEGIN sections: header-group -->
<div id="shopify-section-sections--26162626887723__announcement" class="shopify-section shopify-section-group-header-group">


<announcement-bar class="max-md:relative max-md:z-[2]">
  <div
    class="announcement-bar py-10 text-white"
    style="background-color: #225f64"
  >
    <div class="page-width flex justify-center md:grid md:grid-cols-2">
      <div class="swiper w-full" role="announcement slider">
        <div class="swiper-wrapper">
          
            <div class="swiper-slide">
              <p class="text-m-body-2 md:text-body-1 [&_a]:underline text-center md:text-left ">Free US Shipping over $75+</p>
            </div>
          
            <div class="swiper-slide">
              <p class="text-m-body-2 md:text-body-1 [&_a]:underline text-center md:text-left ">20% Off Atlantic Blue Canvas - <a href="/collections/atlantic-blue-canvas-1" title="Atlantic Blue Canvas"><strong>Shop Now</strong></a></p>
            </div>
          
            <div class="swiper-slide">
              <p class="text-m-body-2 md:text-body-1 [&_a]:underline text-center md:text-left ">Stitch Your Summer Adventure - <a href="/collections/kirk-bradleys-travel-rounds" title="Kirk & Bradley's Travel Rounds"><strong>Shop Now</strong></a></p>
            </div>
          
        </div>
      </div>
      
        <div class="hidden md:flex flex-row justify-end text-right items-center gap-[38px]">
          
            <ul class="flex flex-row justify-end items-center gap-30" role="list">
              
                <li>
                  <a class="text-m-link-lg md:text-link-sm uppercase inline-block !leading-6" href="/pages/events">Events</a>
                </li>
              
                <li>
                  <a class="text-m-link-lg md:text-link-sm uppercase inline-block !leading-6" href="/blogs/needlepoint-know-how">Blog</a>
                </li>
              
                <li>
                  <a class="text-m-link-lg md:text-link-sm uppercase inline-block !leading-6" href="/pages/rewards">Rewards</a>
                </li>
              
            </ul>
          
          
            <country-selector>
  <form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="disclosure-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/?keyword=&gad_source=1&gad_campaignid=20647714233&gclid=Cj0KCQjw0JnRBhDJARIsALobnXbfXiSi0LcpCbO65hJ5rdZUrbc3TufS4ftuhuBfmRlmO2qubH4JLJIaAiFaEALw_wcB" />
    <dropdown-item data-is-overlay="true">
      <div
        class="currency-selector group/dropdown relative"
        data-dropdown
      >
        <h2 class="visually-hidden" id="currency-heading">Currency Selector</h2>
        <button
          type="button"
          class="currency-selector-button flex items-center gap-10 text-link-sm uppercase"
          aria-haspopup="listbox"
          aria-expanded="false"
          aria-controls="currency-list-"
          aria-label="currency-heading"
          data-dropdown-toggle
        >
          <span class="currency-selector-current">US ($USD)</span>
          <span class="group-[.active]/dropdown:rotate-180 transition-transform">
            
    <svg width="7" height="5" viewBox="0 0 7 5" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0.5 0.5L3.5 3.5L6.5 0.5" stroke="currentColor" stroke-width="1.14583"/>
    </svg>

  

          </span>
        </button>
        <ul
          id="currency-list"
          class="
            w-[125px] max-h-[180px] overflow-y-scroll p-10 flex flex-col gap-10 absolute top-0 md:top-[23px] max-md:left-0 max-md:-translate-y-full md:right-0 bg-background text-text z-30 shadow-dropdown opacity-0 invisible transition-visibility
            group-[.active]/dropdown:visible group-[.active]/dropdown:opacity-100
          "
          role="listbox"
          aria-label="currency-heading"
          style="scrollbar-width: thin;"
          data-dropdown-content
          tabindex="0"
        >
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AL"
                data-replacement="AL (LALL)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AL (LALL)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DZ"
                data-replacement="DZ (د.جDZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DZ (د.جDZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AD"
                data-replacement="AD (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AD (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AO"
                data-replacement="AO ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AO ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AI"
                data-replacement="AI ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AI ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AG"
                data-replacement="AG ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AG ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AR"
                data-replacement="AR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AM"
                data-replacement="AM (դր.AMD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AM (դր.AMD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AW"
                data-replacement="AW (ƒAWG)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AW (ƒAWG)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AU"
                data-replacement="AU ($AUD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AU ($AUD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AT"
                data-replacement="AT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AZ"
                data-replacement="AZ (₼AZN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AZ (₼AZN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BS"
                data-replacement="BS ($BSD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BS ($BSD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BH"
                data-replacement="BH ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BH ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BD"
                data-replacement="BD (৳BDT)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BD (৳BDT)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BB"
                data-replacement="BB ($BBD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BB ($BBD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BE"
                data-replacement="BE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BZ"
                data-replacement="BZ ($BZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BZ ($BZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BJ"
                data-replacement="BJ (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BJ (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BM"
                data-replacement="BM ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BM ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BT"
                data-replacement="BT ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BT ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BO"
                data-replacement="BO (Bs.BOB)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BO (Bs.BOB)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BA"
                data-replacement="BA (КМBAM)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BA (КМBAM)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BW"
                data-replacement="BW (PBWP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BW (PBWP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BR"
                data-replacement="BR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="VG"
                data-replacement="VG ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  VG ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BN"
                data-replacement="BN ($BND)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BN ($BND)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BG"
                data-replacement="BG (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BG (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BF"
                data-replacement="BF (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BF (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BI"
                data-replacement="BI (FrBIF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BI (FrBIF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KH"
                data-replacement="KH (៛KHR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KH (៛KHR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CM"
                data-replacement="CM (CFAXAF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CM (CFAXAF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CA"
                data-replacement="CA ($CAD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CA ($CAD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CV"
                data-replacement="CV ($CVE)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CV ($CVE)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BQ"
                data-replacement="BQ ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BQ ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KY"
                data-replacement="KY ($KYD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KY ($KYD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TD"
                data-replacement="TD (CFAXAF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TD (CFAXAF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CL"
                data-replacement="CL ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CL ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CN"
                data-replacement="CN (¥CNY)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CN (¥CNY)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CO"
                data-replacement="CO ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CO ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KM"
                data-replacement="KM (FrKMF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KM (FrKMF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CK"
                data-replacement="CK ($NZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CK ($NZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CR"
                data-replacement="CR (₡CRC)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CR (₡CRC)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HR"
                data-replacement="HR (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HR (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CW"
                data-replacement="CW (ƒANG)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CW (ƒANG)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CY"
                data-replacement="CY (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CY (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CZ"
                data-replacement="CZ (KčCZK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CZ (KčCZK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DK"
                data-replacement="DK (kr.DKK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DK (kr.DKK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DJ"
                data-replacement="DJ (FdjDJF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DJ (FdjDJF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DM"
                data-replacement="DM ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DM ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DO"
                data-replacement="DO ($DOP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DO ($DOP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="EC"
                data-replacement="EC ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  EC ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="EG"
                data-replacement="EG (ج.مEGP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  EG (ج.مEGP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SV"
                data-replacement="SV ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SV ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GQ"
                data-replacement="GQ (CFAXAF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GQ (CFAXAF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="EE"
                data-replacement="EE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  EE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SZ"
                data-replacement="SZ ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SZ ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ET"
                data-replacement="ET (BrETB)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ET (BrETB)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FK"
                data-replacement="FK (£FKP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FK (£FKP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FO"
                data-replacement="FO (kr.DKK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FO (kr.DKK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FJ"
                data-replacement="FJ ($FJD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FJ ($FJD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FI"
                data-replacement="FI (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FI (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FR"
                data-replacement="FR (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FR (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GF"
                data-replacement="GF (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GF (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PF"
                data-replacement="PF (FrXPF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PF (FrXPF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GA"
                data-replacement="GA (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GA (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GM"
                data-replacement="GM (DGMD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GM (DGMD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GE"
                data-replacement="GE ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GE ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DE"
                data-replacement="DE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GH"
                data-replacement="GH ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GH ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GI"
                data-replacement="GI (£GBP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GI (£GBP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GR"
                data-replacement="GR (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GR (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GL"
                data-replacement="GL (kr.DKK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GL (kr.DKK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GD"
                data-replacement="GD ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GD ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GP"
                data-replacement="GP (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GP (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GT"
                data-replacement="GT (QGTQ)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GT (QGTQ)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GG"
                data-replacement="GG (£GBP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GG (£GBP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GN"
                data-replacement="GN (FrGNF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GN (FrGNF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GW"
                data-replacement="GW (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GW (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GY"
                data-replacement="GY ($GYD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GY ($GYD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HT"
                data-replacement="HT ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HT ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HN"
                data-replacement="HN (LHNL)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HN (LHNL)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HK"
                data-replacement="HK ($HKD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HK ($HKD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HU"
                data-replacement="HU (FtHUF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HU (FtHUF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IS"
                data-replacement="IS (krISK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IS (krISK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IN"
                data-replacement="IN (₹INR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IN (₹INR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ID"
                data-replacement="ID (RpIDR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ID (RpIDR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IE"
                data-replacement="IE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IL"
                data-replacement="IL (₪ILS)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IL (₪ILS)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IT"
                data-replacement="IT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="JM"
                data-replacement="JM ($JMD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  JM ($JMD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="JP"
                data-replacement="JP (¥JPY)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  JP (¥JPY)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="JE"
                data-replacement="JE ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  JE ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="JO"
                data-replacement="JO ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  JO ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KZ"
                data-replacement="KZ (₸KZT)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KZ (₸KZT)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KE"
                data-replacement="KE (KShKES)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KE (KShKES)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KI"
                data-replacement="KI ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KI ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KW"
                data-replacement="KW ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KW ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KG"
                data-replacement="KG (somKGS)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KG (somKGS)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LA"
                data-replacement="LA (₭LAK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LA (₭LAK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LV"
                data-replacement="LV (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LV (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LS"
                data-replacement="LS ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LS ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LI"
                data-replacement="LI (CHFCHF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LI (CHFCHF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LT"
                data-replacement="LT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LU"
                data-replacement="LU (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LU (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MO"
                data-replacement="MO (PMOP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MO (PMOP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MG"
                data-replacement="MG ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MG ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MW"
                data-replacement="MW (MKMWK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MW (MKMWK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MY"
                data-replacement="MY (RMMYR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MY (RMMYR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MV"
                data-replacement="MV (MVRMVR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MV (MVRMVR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MT"
                data-replacement="MT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MQ"
                data-replacement="MQ (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MQ (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MR"
                data-replacement="MR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MU"
                data-replacement="MU (₨MUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MU (₨MUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="YT"
                data-replacement="YT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  YT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MX"
                data-replacement="MX ($MXN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MX ($MXN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MD"
                data-replacement="MD (LMDL)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MD (LMDL)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MC"
                data-replacement="MC (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MC (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MN"
                data-replacement="MN (₮MNT)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MN (₮MNT)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ME"
                data-replacement="ME (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ME (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MS"
                data-replacement="MS ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MS ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MA"
                data-replacement="MA (د.م.MAD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MA (د.م.MAD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MZ"
                data-replacement="MZ ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MZ ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NA"
                data-replacement="NA ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NA ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NR"
                data-replacement="NR ($AUD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NR ($AUD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NP"
                data-replacement="NP (Rs.NPR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NP (Rs.NPR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NL"
                data-replacement="NL (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NL (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NC"
                data-replacement="NC (FrXPF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NC (FrXPF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NZ"
                data-replacement="NZ ($NZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NZ ($NZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NI"
                data-replacement="NI (C$NIO)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NI (C$NIO)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NG"
                data-replacement="NG (₦NGN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NG (₦NGN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NU"
                data-replacement="NU ($NZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NU ($NZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MK"
                data-replacement="MK (денMKD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MK (денMKD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NO"
                data-replacement="NO ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NO ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="OM"
                data-replacement="OM ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  OM ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PK"
                data-replacement="PK (₨PKR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PK (₨PKR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PA"
                data-replacement="PA ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PA ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PG"
                data-replacement="PG (KPGK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PG (KPGK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PY"
                data-replacement="PY (₲PYG)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PY (₲PYG)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PE"
                data-replacement="PE (S/PEN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PE (S/PEN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PH"
                data-replacement="PH (₱PHP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PH (₱PHP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PL"
                data-replacement="PL (złPLN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PL (złPLN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PT"
                data-replacement="PT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="QA"
                data-replacement="QA (ر.قQAR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  QA (ر.قQAR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="RE"
                data-replacement="RE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  RE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="RO"
                data-replacement="RO (LeiRON)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  RO (LeiRON)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="RW"
                data-replacement="RW (FRwRWF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  RW (FRwRWF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="WS"
                data-replacement="WS (TWST)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  WS (TWST)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SM"
                data-replacement="SM (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SM (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ST"
                data-replacement="ST (DbSTD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ST (DbSTD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SA"
                data-replacement="SA (ر.سSAR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SA (ر.سSAR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SN"
                data-replacement="SN (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SN (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="RS"
                data-replacement="RS (РСДRSD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  RS (РСДRSD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SC"
                data-replacement="SC ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SC ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SL"
                data-replacement="SL (LeSLL)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SL (LeSLL)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SG"
                data-replacement="SG ($SGD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SG ($SGD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SK"
                data-replacement="SK (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SK (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SI"
                data-replacement="SI (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SI (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SB"
                data-replacement="SB ($SBD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SB ($SBD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ZA"
                data-replacement="ZA ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ZA ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KR"
                data-replacement="KR (₩KRW)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KR (₩KRW)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ES"
                data-replacement="ES (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ES (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LK"
                data-replacement="LK (₨LKR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LK (₨LKR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BL"
                data-replacement="BL (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BL (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SH"
                data-replacement="SH (£SHP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SH (£SHP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KN"
                data-replacement="KN ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KN ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LC"
                data-replacement="LC ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LC ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MF"
                data-replacement="MF (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MF (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="VC"
                data-replacement="VC ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  VC ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SR"
                data-replacement="SR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SE"
                data-replacement="SE (krSEK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SE (krSEK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CH"
                data-replacement="CH (CHFCHF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CH (CHFCHF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TW"
                data-replacement="TW ($TWD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TW ($TWD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TZ"
                data-replacement="TZ (ShTZS)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TZ (ShTZS)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TH"
                data-replacement="TH (฿THB)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TH (฿THB)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TL"
                data-replacement="TL ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TL ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TG"
                data-replacement="TG (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TG (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TO"
                data-replacement="TO (T$TOP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TO (T$TOP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TT"
                data-replacement="TT ($TTD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TT ($TTD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TN"
                data-replacement="TN ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TN ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TR"
                data-replacement="TR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TC"
                data-replacement="TC ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TC ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TV"
                data-replacement="TV ($AUD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TV ($AUD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="UG"
                data-replacement="UG (UShUGX)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  UG (UShUGX)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AE"
                data-replacement="AE (د.إAED)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AE (د.إAED)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GB"
                data-replacement="GB (£GBP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GB (£GBP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left active">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                  aria-current="true"
                
                role="option"
                data-value="US"
                data-replacement="US ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  US ($USD)
                </span>

                
                  <div class="w-5 h-5 mr-5 rounded-full bg-slate"></div>
                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="UY"
                data-replacement="UY ($UUYU)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  UY ($UUYU)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="UZ"
                data-replacement="UZ (so'mUZS)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  UZ (so'mUZS)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="VU"
                data-replacement="VU (VtVUV)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  VU (VtVUV)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="VN"
                data-replacement="VN (₫VND)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  VN (₫VND)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ZM"
                data-replacement="ZM ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ZM ($USD)
                </span>

                
              </a>
            </li>
          
        </ul>
        <input
          type="hidden"
          name="country_code"
          id="CurrencySelector"
          value="US"
        >
      </div>
    </dropdown-item>
  </form>
</country-selector>
          
        </div>
      
    </div>
  </div>
</announcement-bar>


</div><div id="shopify-section-sections--26162626887723__header" class="shopify-section shopify-section-group-header-group site-header">





<site-header>
  <header
    class="
      header group/header
       bg-white md:border-b-1 border-beige
    "
    
    data-section-id="sections--26162626887723__header"
    data-section-type="header"
  >
    <div class="">
      <div class="page-width grid grid-cols-thirds items-center gap-20 md:gap-60 md:flex">
        <div class="w-full max-w-[550px] mx-auto md:my-[16px] max-md:flex flex-row justify-start items-center max-md:gap-10">
          
            <div class="max-md:hidden"><search-dropdown class="group/search">
  <div class="w-full flex">
    <predictive-search class="w-full">
      <div class="w-full h-fit bg-beige-light border border-dark-beige">
        <form action="/search" method="get" role="search" class="w-full">
          <input type="hidden" name="type" value="product">
          <input type="hidden" name="options[prefix]" value="last">
          <div class="flex">
            <label
              for="search-input-"
              class="visually-hidden"
              >Search </label
            >
            <input
              aria-label="search-label-"
              id="search-input-"
              class="w-full px-[18px] py-[12px] max-md:text-[16px] text-body-4 bg-transparent appearance-none placeholder:text-dark-grey placeholder:text-body-4 focus-visible:outline-0 focus-visible:outline-transparent focus-visible:placeholder:text-text"
              type="search"
              name="q"
              value=""
              autocorrect="off"
              autocomplete="off"
              autocapitalize="off"
              spellcheck="false"
              placeholder="Search For Even More Happiness..."
            >
            <button type="submit" class="pr-20" title="Search Button title" aria-label="Search Button label">
    <svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M16 15.9248L10.8995 10.9239C11.9019 9.80957 12.4503 8.39387 12.4503 6.89504C12.4503 3.52939 9.65786 0.791504 6.22515 0.791504C2.79244 0.791504 0 3.52939 0 6.89504C0 10.2607 2.79244 12.9986 6.22515 12.9986C7.60018 12.9986 8.90721 12.563 9.98285 11.7604L15.1142 16.7915L15.9991 15.9239L16 15.9248ZM1.25139 6.89504C1.25139 4.20651 3.48217 2.01845 6.22515 2.01845C8.96814 2.01845 11.1989 4.20564 11.1989 6.89504C11.1989 8.19731 10.6814 9.42252 9.74264 10.3429C8.803 11.2642 7.55426 11.7716 6.22604 11.7716C3.48393 11.7716 1.25139 9.58444 1.25139 6.89504Z" fill="currentColor"/>
    </svg>

  
<span class="visually-hidden">Search Button</span></button>
          </div>
        </form>
          <button class="p-5 md:hidden" data-close-search>
            
    <svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.05074 5.9055L10.1869 1.76937L9.33796 0.920468L5.20183 5.05659L0.936744 0.791504L0.087839 1.64041L4.35293 5.9055L0 10.2584L0.848906 11.1073L5.20183 6.7544L9.4258 10.9784L10.2747 10.1295L6.05074 5.9055Z" fill="currentColor"/>
    </svg>

  

            <span class="visually-hidden">Close</span>
          </button>
      </div>
      <div class="predictive-search absolute top-full w-full left-0 bg-off-white" style="display: none;"></div>
    </predictive-search>
  </div>
</search-dropdown>
</div>
          

          <button class="mobile-menu-trigger group/mobile-menu relative md:hidden">
            <div class="transition-all duration-100 group-[.open]/mobile-menu:opacity-0 group-[.open]/mobile-menu:scale-[.5]">
              
    <svg width="18" height="15" viewBox="0 0 18 15" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0 1.25024H18" stroke="currentColor"/>
      <path d="M0 14.0996H18" stroke="currentColor"/>
      <path d="M0 7.6748H18" stroke="currentColor"/>
    </svg>

  

               
            </div>
            <div class="absolute top-half left-half -translate-x-half -translate-y-half opacity-0 scale-[.5] transition-all duration-100 group-[.open]/mobile-menu:opacity-100 group-[.open]/mobile-menu:scale-100">
              
    <svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.05074 5.9055L10.1869 1.76937L9.33796 0.920468L5.20183 5.05659L0.936744 0.791504L0.087839 1.64041L4.35293 5.9055L0 10.2584L0.848906 11.1073L5.20183 6.7544L9.4258 10.9784L10.2747 10.1295L6.05074 5.9055Z" fill="currentColor"/>
    </svg>

  

               
            </div>
            <span class="visually-hidden">Toggle mobile menu</span>
          </button>

          
        </div>

        <!-- Logo -->
        <div class="logo w-fit py-20 md:p-0 md:order-first">
          
            <h1>
              <a
                href="/"
                style="--w: 210px; --w-m: 170px;"
                class="w-[var(--w-m)] md:w-[var(--w)] [&_svg]:w-full [&_svg]:h-auto block"
                aria-label="Go to homepage"
              >
                <span class="visually-hidden">Go to homepage</span>
                
    <svg width="530" height="59" viewBox="0 0 530 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="#00ABC0"/>
      <path d="M105.73 2.7998V45.2898H97.2296L80.0696 16.2298L79.8796 16.2598V45.2898H71.3496V2.7998H79.8796L97.0396 31.7998L97.2296 31.7698V2.7998H105.73Z" fill="black"/>
      <path d="M127.01 46.0002C122.47 46.0002 118.83 44.5602 116.1 41.6902C113.36 38.8102 112 35.0802 112 30.5002V29.3302C112 26.1902 112.58 23.4102 113.74 20.9602C114.9 18.5202 116.56 16.6102 118.73 15.2402C120.9 13.8702 123.42 13.1802 126.27 13.1802C130.51 13.1802 133.81 14.4502 136.16 16.9902C138.52 19.5302 139.7 23.0202 139.7 27.4502V32.0902H120.86L120.8 32.2802C120.95 34.4202 121.65 36.1502 122.91 37.4502C124.16 38.7602 125.76 39.4102 127.71 39.4102C129.66 39.4102 131.25 39.2302 132.48 38.8702C133.71 38.5102 135.12 37.9002 136.7 37.0402L139 42.2902V42.3202C137.64 43.4402 135.92 44.3402 133.86 45.0002C131.77 45.6702 129.49 46.0002 127.01 46.0002ZM131.32 25.7302C131.32 23.8702 130.89 22.4202 130.04 21.3702C129.19 20.3202 127.95 19.8002 126.33 19.8002C124.71 19.8002 123.43 20.3802 122.5 21.5502C121.57 22.7202 121 24.3202 120.78 26.3502L120.88 26.5102H131.32V25.7302Z" fill="black"/>
      <path d="M158.66 46.0002C154.12 46.0002 150.48 44.5602 147.75 41.6902C145.01 38.8102 143.65 35.0802 143.65 30.5002V29.3302C143.65 26.1902 144.23 23.4102 145.39 20.9602C146.55 18.5202 148.21 16.6102 150.38 15.2402C152.55 13.8702 155.07 13.1802 157.92 13.1802C162.16 13.1802 165.46 14.4502 167.81 16.9902C170.17 19.5302 171.35 23.0202 171.35 27.4502V32.0902H152.5L152.44 32.2802C152.59 34.4202 153.29 36.1502 154.55 37.4502C155.8 38.7602 157.4 39.4102 159.35 39.4102C161.3 39.4102 162.89 39.2302 164.12 38.8702C165.35 38.5102 166.76 37.9002 168.34 37.0402L170.64 42.2902V42.3202C169.28 43.4402 167.56 44.3402 165.5 45.0002C163.42 45.6702 161.15 46.0002 158.66 46.0002ZM162.98 25.7302C162.98 23.8702 162.55 22.4202 161.7 21.3702C160.85 20.3202 159.61 19.8002 157.99 19.8002C156.37 19.8002 155.09 20.3802 154.16 21.5502C153.23 22.7202 152.66 24.3202 152.44 26.3502L152.54 26.5102H162.98V25.7302Z" fill="black"/>
      <path d="M187.37 13.1801C190.46 13.1801 192.99 14.5001 194.96 17.1401V-0.189941H203.52V45.3501H196.19L195.48 41.4901C193.45 44.4701 190.71 45.9701 187.27 45.9701C183.42 45.9701 180.42 44.5701 178.25 41.7701C176.08 38.9701 175.01 35.1901 175.01 30.4301L175.04 29.8101C175.04 24.7301 176.12 20.6901 178.28 17.6801C180.45 14.6801 183.47 13.1801 187.37 13.1801ZM189.47 39.3501C191.89 39.3501 193.7 38.3801 194.89 36.4301V22.9701C193.68 20.8701 191.88 19.8201 189.51 19.8201C187.48 19.8201 185.96 20.7101 184.97 22.4801C183.97 24.2501 183.48 26.7001 183.48 29.8101L183.51 30.4301C183.51 36.3801 185.5 39.3501 189.47 39.3501Z" fill="black"/>
      <path d="M218.99 -0.25V45.29H210.46V-0.25H218.99Z" fill="black"/>
      <path d="M240.01 46.0002C235.47 46.0002 231.83 44.5602 229.1 41.6902C226.36 38.8102 225 35.0802 225 30.5002V29.3302C225 26.1902 225.58 23.4102 226.74 20.9602C227.9 18.5202 229.56 16.6102 231.73 15.2402C233.9 13.8702 236.42 13.1802 239.27 13.1802C243.51 13.1802 246.81 14.4502 249.16 16.9902C251.52 19.5302 252.7 23.0202 252.7 27.4502V32.0902H233.86L233.8 32.2802C233.95 34.4202 234.65 36.1502 235.91 37.4502C237.16 38.7602 238.76 39.4102 240.71 39.4102C242.66 39.4102 244.25 39.2302 245.48 38.8702C246.71 38.5102 248.12 37.9002 249.7 37.0402L252 42.2902V42.3202C250.64 43.4402 248.92 44.3402 246.86 45.0002C244.77 45.6702 242.49 46.0002 240.01 46.0002ZM244.32 25.7302C244.32 23.8702 243.89 22.4202 243.04 21.3702C242.19 20.3202 240.95 19.8002 239.33 19.8002C237.71 19.8002 236.43 20.3802 235.5 21.5502C234.57 22.7202 234 24.3202 233.78 26.3502L233.88 26.5102H244.32V25.7302Z" fill="black"/>
      <path d="M273.8 47.23C270.49 47.23 267.93 46.03 266.11 43.63V58.78H257.61V15.06H265.3L265.79 18.79C267.74 15.91 270.41 14.48 273.8 14.48C277.67 14.48 280.69 15.98 282.87 18.99C285.04 22 286.13 26.04 286.13 31.12L286.1 31.74C286.1 36.48 285.01 40.24 282.84 43.04C280.66 45.83 277.65 47.23 273.8 47.23ZM277.6 31.73V31.11C277.6 28 277.09 25.55 276.08 23.76C275.06 21.98 273.56 21.08 271.57 21.08C269.04 21.08 267.23 22.1 266.15 24.13V37.95C267.21 39.79 269.04 40.71 271.63 40.71C273.64 40.71 275.14 39.93 276.12 38.36C277.11 36.79 277.6 34.58 277.6 31.73Z" fill="black"/>
      <path d="M290.05 29.8799V29.2599C290.05 24.4399 291.37 20.5499 294.02 17.5999C296.67 14.6499 300.3 13.1699 304.92 13.1699C309.54 13.1699 313.18 14.6499 315.85 17.5999C318.52 20.5499 319.86 24.4399 319.86 29.2599V29.8799C319.86 34.7199 318.53 38.6199 315.87 41.5599C313.21 44.4999 309.57 45.9699 304.96 45.9699C300.34 45.9699 296.71 44.4999 294.05 41.5599C291.38 38.6199 290.05 34.7199 290.05 29.8799ZM298.55 29.2599V29.8799C298.55 32.8899 299.07 35.2299 300.12 36.8999C301.17 38.5799 302.77 39.4099 304.94 39.4099C307.11 39.4099 308.71 38.5699 309.76 36.8799C310.81 35.1899 311.33 32.8599 311.33 29.8699V29.2499C311.33 26.3099 310.8 23.9899 309.74 22.2899C308.68 20.5899 307.08 19.7399 304.94 19.7399C302.8 19.7399 301.2 20.5899 300.14 22.2999C299.08 24.0299 298.55 26.3499 298.55 29.2599Z" fill="black"/>
      <path d="M334.07 -0.25V6.14H325.54V-0.25H334.07ZM334.07 13.7V45.29H325.54V13.7H334.07Z" fill="black"/>
      <path d="M358.33 13.1099C361.59 13.1099 364.1 14.1399 365.85 16.1899C367.6 18.2399 368.48 21.3699 368.48 25.5599V45.2799H359.92V25.5699C359.92 23.4899 359.5 21.9999 358.67 21.0899C357.84 20.1799 356.54 19.7299 354.76 19.7299C352.51 19.7299 350.74 20.6099 349.44 22.3599V45.2899H340.91V13.6999L348.89 13.7299L349.28 18.2699C351.46 14.8299 354.48 13.1099 358.33 13.1099Z" fill="black"/>
      <path d="M376.39 6.04004H384.92V13.76H390.24V19.76H384.92V35.85C384.92 38.12 385.86 39.26 387.74 39.26C388.41 39.26 389.17 39.15 390.01 38.94L390.72 45.1C388.93 45.68 387.21 45.98 385.56 45.98C379.44 45.98 376.38 42.62 376.38 35.89V19.76H371.77V13.76H376.38V6.04004H376.39Z" fill="black"/>
      <path d="M405.13 37.8301V45.2901H396.63V37.8301H405.13Z" fill="black"/>
      <path d="M437.6 30.92H445.81L445.84 31.08C445.93 35.69 444.54 39.32 441.67 41.98C438.8 44.64 434.81 45.97 429.68 45.97C424.56 45.97 420.4 44.34 417.23 41.07C414.05 37.81 412.46 33.56 412.46 28.32V19.89C412.46 14.7 414.02 10.46 417.13 7.18C420.24 3.89 424.36 2.25 429.49 2.25C434.61 2.25 438.66 3.59 441.62 6.27C444.58 8.95 446.02 12.63 445.93 17.3L445.87 17.49H437.6C437.6 11.7 434.83 8.8 429.3 8.8C426.77 8.8 424.75 9.82 423.25 11.87C421.75 13.91 421 16.57 421 19.83V28.33C421 31.64 421.79 34.31 423.37 36.36C424.95 38.4 427.08 39.42 429.76 39.42C432.44 39.42 434.42 38.72 435.7 37.31C436.96 35.9 437.6 33.77 437.6 30.92Z" fill="black"/>
      <path d="M449.95 29.8799V29.2599C449.95 24.4399 451.27 20.5499 453.92 17.5999C456.57 14.6499 460.2 13.1699 464.82 13.1699C469.44 13.1699 473.08 14.6499 475.75 17.5999C478.42 20.5499 479.76 24.4399 479.76 29.2599V29.8799C479.76 34.7199 478.43 38.6199 475.77 41.5599C473.11 44.4999 469.47 45.9699 464.86 45.9699C460.24 45.9699 456.61 44.4999 453.95 41.5599C451.28 38.6199 449.95 34.7199 449.95 29.8799ZM458.45 29.2599V29.8799C458.45 32.8899 458.97 35.2299 460.02 36.8999C461.07 38.5799 462.67 39.4099 464.84 39.4099C467.01 39.4099 468.61 38.5699 469.66 36.8799C470.71 35.1899 471.23 32.8599 471.23 29.8699V29.2499C471.23 26.3099 470.7 23.9899 469.64 22.2899C468.58 20.5899 466.98 19.7399 464.84 19.7399C462.7 19.7399 461.1 20.5899 460.04 22.2999C458.98 24.0299 458.45 26.3499 458.45 29.2599Z" fill="black"/>
      <path d="M511.77 22.7799L511.83 24.5299V45.2899H503.33V26.1499C503.33 23.8599 502.95 22.2099 502.19 21.2199C501.43 20.2299 500.25 19.7299 498.65 19.7299C496.4 19.7299 494.68 20.5699 493.49 22.2599V45.2899H484.99V13.6999H492.94L493.3 17.8799C495.4 14.6999 498.48 13.1099 502.54 13.1099C506.6 13.1099 509.37 14.9199 510.84 18.5299C512.89 14.9199 515.99 13.1099 520.12 13.1099C523.32 13.1099 525.8 14.1999 527.55 16.3899C529.3 18.5699 530.18 21.8299 530.18 26.1499V45.2899H521.65V26.1499C521.65 23.8099 521.28 22.1599 520.53 21.1899C519.78 20.2199 518.61 19.7299 517.01 19.7299C514.63 19.7299 512.88 20.7499 511.77 22.7799Z" fill="black"/>
    </svg>

  

              </a>
            </h1>
          
        </div>

        <!-- Icons -->
        <div class="flex justify-end items-center gap-10 flex-shrink-0 relative md:gap-[24px] text-link">
          
            <a
              href="https://needlepoint.com/customer_authentication/redirect?locale=en&region_country=US"
              class="group/link relative max-md:hidden"
            >
              <span class="py-20 flex flex-row justify-start items-center gap-5">
                
    <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M7.6377 8.61694C11.279 8.61704 13.5363 11.2479 14.4482 13.6013C14.7718 14.4364 14.0976 15.2058 13.3037 15.2058H1.97461C1.17655 15.2058 0.507793 14.4337 0.823242 13.6003C1.63793 11.4491 3.65257 8.61694 7.6377 8.61694Z" stroke="currentColor"/>
      <path d="M7.63672 1.2915C9.64906 1.2915 11.2811 2.92275 11.2812 4.93506C11.2812 6.94749 9.64915 8.57959 7.63672 8.57959C5.62441 8.57944 3.99316 6.9474 3.99316 4.93506C3.99331 2.92285 5.62451 1.29165 7.63672 1.2915Z" stroke="currentColor"/>
    </svg>
  

                Sign in</span>
              <div
                class="hidden absolute bottom-0 left-0 right-full border-b-1 border-slate transition-position group-hover/link:right-0 md:block"
              ></div>
            </a>
          

          <a
            id="mi_wish"
            href="#swym-wishlist"
            class="header__icon small-hide py-20 flex flex-row justify-start items-center gap-5 max-md:hidden"
            aria-label="#swym-wishlist"
          >
            
    <svg width="21" height="17" viewBox="0 0 21 17" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M3.81738 0.762009C5.92631 0.32929 7.68026 1.69535 8.81738 2.96513C9.40182 3.61779 9.86606 4.29031 10.1826 4.79716C10.3413 5.05131 10.4639 5.2661 10.5479 5.41826C10.5489 5.42018 10.5497 5.42222 10.5508 5.42412C10.5527 5.4206 10.5547 5.41697 10.5566 5.41338C10.6376 5.26136 10.7565 5.04707 10.9102 4.79326C11.2166 4.28718 11.667 3.6151 12.2383 2.96318C13.3504 1.69416 15.0777 0.329988 17.1885 0.762985H17.1895C18.1616 0.963164 18.8096 1.57502 19.1943 2.26103C19.572 2.93458 19.7117 3.70284 19.6768 4.30888C19.5956 5.72406 19.0152 7.16133 18.2334 8.49541C17.4484 9.83487 16.4374 11.1094 15.4473 12.2083C14.4555 13.3089 13.4744 14.2441 12.7422 14.9036C12.3758 15.2336 12.0706 15.4952 11.8564 15.6751C11.7495 15.7649 11.6655 15.8347 11.6074 15.8821C11.5784 15.9058 11.5555 15.9244 11.54 15.9368C11.5326 15.9428 11.5266 15.9472 11.5225 15.9505C11.5206 15.952 11.5187 15.9535 11.5176 15.9544L11.5156 15.9563C11.5156 15.9564 11.5155 15.9563 11.5146 15.9554C10.9412 16.429 10.1228 16.4403 9.53613 15.9847V15.9837L9.50586 15.9612L9.49902 15.9554L9.85059 15.512L9.49805 15.9554L9.49609 15.9544C9.49503 15.9535 9.49398 15.9519 9.49219 15.9505C9.48804 15.9472 9.48136 15.942 9.47363 15.9358C9.45818 15.9234 9.4362 15.9048 9.40723 15.8811C9.34912 15.8338 9.26426 15.7649 9.15723 15.6751C8.94281 15.4952 8.63731 15.2327 8.27051 14.9026C7.53761 14.2432 6.55519 13.3089 5.5625 12.2083C4.57132 11.1094 3.56016 9.83409 2.77441 8.49443C1.99191 7.16028 1.41028 5.72345 1.3291 4.30791C1.2942 3.70193 1.43396 2.93368 1.81152 2.26006C2.19622 1.57378 2.84477 0.96163 3.81738 0.762009Z" stroke="currentColor" stroke-width="1.13323"/>
    </svg>

  

            <span class="">Wishlist</span>
          </a>

          
            <button
              class="relative md:py-20"
              data-open-cart
              id="cart-icon-bubble"
              aria-label="Cart,  items"
              data-id="sections--26162626887723__header"
            >
              
  <span class="items-center gap-5 flex flex-row justify-start [&>svg]:w-20 [&>svg]:h-20 relative">
    
    <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0 0.745115C0 0.609853 0.0537339 0.48013 0.149381 0.384485C0.245028 0.28884 0.374753 0.235107 0.510018 0.235107H2.04007C2.15384 0.235139 2.26433 0.273206 2.35397 0.343254C2.44361 0.413303 2.50726 0.511311 2.53479 0.621693L2.9479 2.27514H14.7905C14.866 2.27518 14.9404 2.29196 15.0086 2.32425C15.0768 2.35655 15.1369 2.40356 15.1847 2.4619C15.2325 2.52024 15.2668 2.58846 15.2851 2.66164C15.3033 2.73482 15.3051 2.81115 15.2903 2.88511L14.2703 7.98519C14.248 8.0964 14.1892 8.197 14.1033 8.27108C14.0174 8.34516 13.9093 8.38849 13.796 8.39421L4.21071 8.87566L4.50346 10.4353H13.2605C13.3957 10.4353 13.5255 10.489 13.6211 10.5846C13.7168 10.6803 13.7705 10.81 13.7705 10.9453C13.7705 11.0805 13.7168 11.2103 13.6211 11.3059C13.5255 11.4015 13.3957 11.4553 13.2605 11.4553H4.08014C3.96124 11.4552 3.84611 11.4135 3.75466 11.3375C3.66321 11.2615 3.60118 11.156 3.57931 11.0391L2.05027 2.89429L1.64226 1.25512H0.510018C0.374753 1.25512 0.245028 1.20139 0.149381 1.10575C0.0537339 1.0101 0 0.880378 0 0.745115ZM3.16415 3.29515L4.02098 7.8638L13.3482 7.39562L14.1683 3.29515H3.16415ZM5.10018 11.4553C4.55912 11.4553 4.04022 11.6702 3.65763 12.0528C3.27504 12.4354 3.06011 12.9543 3.06011 13.4953C3.06011 14.0364 3.27504 14.5552 3.65763 14.9378C4.04022 15.3204 4.55912 15.5353 5.10018 15.5353C5.64124 15.5353 6.16014 15.3204 6.54273 14.9378C6.92532 14.5552 7.14025 14.0364 7.14025 13.4953C7.14025 12.9543 6.92532 12.4354 6.54273 12.0528C6.16014 11.6702 5.64124 11.4553 5.10018 11.4553ZM12.2404 11.4553C11.6994 11.4553 11.1805 11.6702 10.7979 12.0528C10.4153 12.4354 10.2004 12.9543 10.2004 13.4953C10.2004 14.0364 10.4153 14.5552 10.7979 14.9378C11.1805 15.3204 11.6994 15.5353 12.2404 15.5353C12.7815 15.5353 13.3004 15.3204 13.683 14.9378C14.0656 14.5552 14.2805 14.0364 14.2805 13.4953C14.2805 12.9543 14.0656 12.4354 13.683 12.0528C13.3004 11.6702 12.7815 11.4553 12.2404 11.4553ZM5.10018 12.4753C5.37071 12.4753 5.63016 12.5828 5.82146 12.774C6.01275 12.9653 6.12022 13.2248 6.12022 13.4953C6.12022 13.7658 6.01275 14.0253 5.82146 14.2166C5.63016 14.4079 5.37071 14.5153 5.10018 14.5153C4.82965 14.5153 4.5702 14.4079 4.37891 14.2166C4.18761 14.0253 4.08014 13.7658 4.08014 13.4953C4.08014 13.2248 4.18761 12.9653 4.37891 12.774C4.5702 12.5828 4.82965 12.4753 5.10018 12.4753ZM12.2404 12.4753C12.511 12.4753 12.7704 12.5828 12.9617 12.774C13.153 12.9653 13.2605 13.2248 13.2605 13.4953C13.2605 13.7658 13.153 14.0253 12.9617 14.2166C12.7704 14.4079 12.511 14.5153 12.2404 14.5153C11.9699 14.5153 11.7105 14.4079 11.5192 14.2166C11.3279 14.0253 11.2204 13.7658 11.2204 13.4953C11.2204 13.2248 11.3279 12.9653 11.5192 12.774C11.7105 12.5828 11.9699 12.4753 12.2404 12.4753Z" fill="currentColor"/>
    </svg>

  

    <span class="max-md:visually-hidden">My Cart</span>
    
  </span>
  

            </button>
          
        </div>
      </div>

      <!-- Navigation -->
      
        <div class="bg-beige-light border-b border border-beige-dark page-width hidden md:block">
          <nav class="flex flex-shrink-0 justify-center">
            <ul class="hidden items-center gap-20 md:flex md:gap-40 lg:gap-60" role="list">
              
                
                

                

                

                
                  <li class="group/nav">
                    <a
                      href="/collections/newest-products"
                      aria-label="Shop All"
                      class="py-20 flex items-center gap-10 text-link-lg uppercase relative hover:text-cerulean transition-colors"
                      
                    >
                      Shop All
                      <div class="transition-transform origin-center ease-in-out group-hover/link:rotate-180">
                        
    <svg width="7" height="5" viewBox="0 0 7 5" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0.5 0.5L3.5 3.5L6.5 0.5" stroke="currentColor" stroke-width="1.14583"/>
    </svg>

  

                      </div>
                    </a>

                    
                      
                      
                      

                      
                        <div class="group/megamenu" >
                          <div
                            class="
                              overflow-clip
                              w-full absolute top-full left-0 invisible opacity-0 text-left z-20 bg-off-white border-b-1 border-beige-dark transition-visibility duration-300
                              group-hover/nav:visible group-hover/nav:opacity-100
                              group-[.active]/megamenu:visible group-[.active]/megamenu:opacity-100
                            "
                          >
                            <div class="page-width flex justify-between gap-60 py-40">
                              <div class="flex gap-40 w-full">
                                
                                  <div>
                                    <h2 class="mb-[6px] text-sh4 uppercase">Collections</h2>
                                    <ul class="flex flex-col gap-5">
                                      
                                        <li>
                                          <a
                                            href="/collections/newest-products"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="New Arrivals"
                                          >New Arrivals</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/recently-restocked"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Recently Restocked"
                                          >Recently Restocked</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/best-selling-products"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Best Sellers"
                                          >Best Sellers</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/pages/shop-by-theme"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Shop by Theme"
                                          >Shop by Theme</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/sale-needlepoint-canvases-and-accessories"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Sale"
                                          >Sale</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/in-stock-products"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Shop All"
                                          >Shop All</a>
                                        </li>
                                      
                                    </ul>
                                  </div>
                                
                                  <div>
                                    <h2 class="mb-[6px] text-sh4 uppercase">Categories</h2>
                                    <ul class="flex flex-col gap-5">
                                      
                                        <li>
                                          <a
                                            href="/collections/all-canvases"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Canvases"
                                          >Canvases</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/kits"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Kits"
                                          >Kits</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/needlepoint-accessories"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Accessories"
                                          >Accessories</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/acrylics"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Acrylics"
                                          >Acrylics</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/stitch-guides"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Stitch Guides"
                                          >Stitch Guides</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/in-stock-online-classes"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Online Classes"
                                          >Online Classes</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/self-finishing"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Self Finishing"
                                          >Self Finishing</a>
                                        </li>
                                      
                                    </ul>
                                  </div>
                                
                                  <div>
                                    <h2 class="mb-[6px] text-sh4 uppercase">Brands</h2>
                                    <ul class="flex flex-col gap-5">
                                      
                                        <li>
                                          <a
                                            href="https://needlepoint.com/collections/needlepoint-to-go"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Needlepoint To Go"
                                          >Needlepoint To Go</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/two-sisters-needlepoint"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Two Sisters Needlepoint"
                                          >Two Sisters Needlepoint</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/kirk-bradley"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Kirk & Bradley"
                                          >Kirk & Bradley</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/burnett-bradley"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Burnett & Bradley"
                                          >Burnett & Bradley</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/associated-talents"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Associated Talents"
                                          >Associated Talents</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/elizabeth-bradley-design-needlepoint-kits"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Elizabeth Bradley "
                                          >Elizabeth Bradley </a>
                                        </li>
                                      
                                    </ul>
                                  </div>
                                
                                  <div>
                                    <h2 class="mb-[6px] text-sh4 uppercase">Skill Level</h2>
                                    <ul class="flex flex-col gap-5">
                                      
                                        <li>
                                          <a
                                            href="/collections/level-1-kits"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Level 1"
                                          >Level 1</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/level-2-kits"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Level 2"
                                          >Level 2</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/level-3-kits-online-classes"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Level 3"
                                          >Level 3</a>
                                        </li>
                                      
                                        <li>
                                          <a
                                            href="/collections/level-4-kits-online-classes"
                                            class="block text-body-1 hover:text-cerulean transition-colors"
                                            aria-label="Level 4"
                                          >Level 4</a>
                                        </li>
                                      
                                    </ul>
                                  </div>
                                
                              </div>
                              <div class="flex flex-row justify-end items-start gap-[28px] w-full">
                                
                                  <div class="relative group/promo w-full max-w-[294px] h-auto aspect-[1.28/1] overflow-clip">
                                    <div class="relative w-full h-full object-cover">
                                      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=4000" alt="New Arrivals - " srcset="//needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=150 150w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=200 200w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=240 240w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=280 280w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=300 300w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=360 360w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=400 400w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=450 450w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=500 500w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=550 550w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=600 600w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=650 650w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=700 700w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=750 750w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=800 800w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=850 850w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=900 900w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=950 950w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/3__x_6__tray.jpg?v=1778616043&amp;width=1400 1400w" width="4000" height="5197" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-full w-full inset object-cover" fetchpriority="low" sizes="400x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


                                    </div>
                                    
                                      <a href="/collections/newest-products" class="inset peer z-[1]" aria-label="Go to New Arrivals"
                                        ><span class="visually-hidden">Go to New Arrivals</span></a
                                      >
                                    
                                    
                                      <div class="absolute top-half left-half -translate-y-half -translate-x-half button button--inner button--white-outline px-40 py-[14px]">
                                        <p class="text-cta uppercase whitespace-nowrap">
                                          New Arrivals
                                          <svg
                                            class="inline mb-[3px]"
                                            width="6"
                                            height="11"
                                            viewBox="0 0 6 11"
                                            fill="none"
                                            xmlns="http://www.w3.org/2000/svg"
                                          >
                                            <path fill-rule="evenodd" clip-rule="evenodd" d="M0.930269 0.430267L-4.06634e-08 1.36054L4.13946 5.5L-4.02547e-07 9.63946L0.930269 10.5697L6 5.5L0.930269 0.430267Z" fill="currentColor"/>
                                          </svg>
                                        </p>
                                      </div>
                                    
                                  </div>
                                
                                
                                  <div class="relative hidden lg:block group/promo w-full max-w-[294px] h-auto aspect-[1.28/1] overflow-clip">
                                    <div class="relative w-full h-full object-cover">
                                      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=4128" alt="Kits - " srcset="//needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=150 150w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=200 200w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=240 240w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=280 280w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=300 300w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=360 360w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=400 400w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=450 450w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=500 500w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=550 550w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=600 600w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=650 650w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=700 700w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=750 750w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=800 800w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=850 850w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=900 900w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=950 950w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/Needlepoint.Com6.31936.jpg?v=1780328547&amp;width=1400 1400w" width="4128" height="6191" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-full w-full inset object-cover" fetchpriority="low" sizes="400x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


                                    </div>
                                    
                                      <a href="/collections/all-needlepoint-kits" class="inset peer z-[1]" aria-label="Go to Kits"
                                        ><span class="visually-hidden">Go to Kits</span></a
                                      >
                                    
                                    
                                      <div class="absolute top-half left-half -translate-y-half -translate-x-half button button--inner button--white-outline px-40 py-[14px]">
                                        <p class="text-cta uppercase whitespace-nowrap">
                                          Kits
                                          <svg
                                            class="inline mb-[3px]"
                                            width="6"
                                            height="11"
                                            viewBox="0 0 6 11"
                                            fill="none"
                                            xmlns="http://www.w3.org/2000/svg"
                                          >
                                            <path fill-rule="evenodd" clip-rule="evenodd" d="M0.930269 0.430267L-4.06634e-08 1.36054L4.13946 5.5L-4.02547e-07 9.63946L0.930269 10.5697L6 5.5L0.930269 0.430267Z" fill="currentColor"/>
                                          </svg>
                                        </p>
                                      </div>
                                    
                                  </div>
                                
                              </div>
                            </div>

                            <div class="w-full h-[28px] mb-10 logo-pattern mt-70"></div>
                          </div>
                        </div>
                      
                    
                  </li>
                
              
                
                

                

                

                
                  <li class="group/nav">
                    
                      <div class="group/link peer py-20 cursor-pointer relative">
                        <div class="flex items-center gap-10 hover:text-cerulean transition-colors">
                          <span class="text-link-lg uppercase" aria-label="Learn">Learn</span>
                          <div class="transition-transform ease-in-out group-hover/nav:rotate-180">
                            
    <svg width="7" height="5" viewBox="0 0 7 5" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0.5 0.5L3.5 3.5L6.5 0.5" stroke="currentColor" stroke-width="1.14583"/>
    </svg>

  

                          </div>
                        </div>

                        <ul
                          class="min-w-[170px] pt-20 px-20 pb-15 flex flex-col gap-5 absolute top-full -translate-x-20 -translate-y-px opacity-0 invisible bg-background border-1 border-beige group-hover/nav:opacity-100 group-hover/nav:visible transition-visibility ease-in-out"
                          role="list"
                          tabindex="-1"
                        >
                          
                            <li class="group/childnav relative">
                              <a
                                href="/pages/learn-how-to-needlepoint"
                                class="pb-5 flex items-center gap-10 text-body-4 relative hover:text-cerulean transition-colors"
                                aria-label="How To Needlepoint"
                                
                              >
                                How To Needlepoint
                                
                              </a>
                              
                            </li>
                          
                            <li class="group/childnav relative">
                              <a
                                href="/pages/tips-tricks"
                                class="pb-5 flex items-center gap-10 text-body-4 relative hover:text-cerulean transition-colors"
                                aria-label="Thread Tips"
                                
                              >
                                Thread Tips
                                
                              </a>
                              
                            </li>
                          
                            <li class="group/childnav relative">
                              <a
                                href="/pages/videos-1"
                                class="pb-5 flex items-center gap-10 text-body-4 relative hover:text-cerulean transition-colors"
                                aria-label="Videos"
                                
                              >
                                Videos
                                
                              </a>
                              
                            </li>
                          
                            <li class="group/childnav relative">
                              <a
                                href="/collections/online-classes-for-needlepoint"
                                class="pb-5 flex items-center gap-10 text-body-4 relative hover:text-cerulean transition-colors"
                                aria-label="Online Classes"
                                
                              >
                                Online Classes
                                
                              </a>
                              
                            </li>
                          
                            <li class="group/childnav relative">
                              <a
                                href="/pages/events"
                                class="pb-5 flex items-center gap-10 text-body-4 relative hover:text-cerulean transition-colors"
                                aria-label="In-Person Classes"
                                
                              >
                                In-Person Classes
                                
                              </a>
                              
                            </li>
                          
                            <li class="group/childnav relative">
                              <a
                                href="/pages/community"
                                class="pb-5 flex items-center gap-10 text-body-4 relative hover:text-cerulean transition-colors"
                                aria-label="Community"
                                
                              >
                                Community
                                
                              </a>
                              
                            </li>
                          
                            <li class="group/childnav relative">
                              <a
                                href="/pages/designer-showcase-schedule"
                                class="pb-5 flex items-center gap-10 text-body-4 relative hover:text-cerulean transition-colors"
                                aria-label="Designer Showcase Schedule"
                                
                              >
                                Designer Showcase Schedule
                                
                              </a>
                              
                            </li>
                          
                        </ul>
                      </div>
                    
                  </li>
                
              
                
                

                

                

                
                  <li class="group/nav">
                    
                      <a
                        href="/pages/our-stores"
                        class="group/link py-20 block text-link uppercase relative"
                        
                      >
                        Stores
                      </a>
                    
                  </li>
                
              
                
                

                

                

                
                  <li class="group/nav">
                    
                      <a
                        href="/pages/beginners"
                        class="group/link py-20 block text-link uppercase relative"
                        
                      >
                        For Beginners
                      </a>
                    
                  </li>
                
              
                
                

                

                

                
                  <li class="group/nav">
                    
                      <a
                        href="/pages/finishing"
                        class="group/link py-20 block text-link uppercase relative"
                        
                      >
                        Finishing
                      </a>
                    
                  </li>
                
              
                
                

                

                

                
                  <li class="group/nav">
                    
                      <a
                        href="/pages/interiors"
                        class="group/link py-20 block text-link uppercase relative"
                        
                      >
                        Interiors
                      </a>
                    
                  </li>
                
              
            </ul>
          </nav>
        </div>
      

      <div class="md:hidden max-md:pb-10">
        <predictive-search>
          <form
            action="/search"
            method="get"
            role="search"
            class="mx-20 rounded-[100px] bg-beige-light border border-dark-beige overflow-clip"
          >
            <input type="hidden" name="type" value="product">
            <input type="hidden" name="options[prefix]" value="last">
            <div class="flex">
              <label for="mobile-search" class="visually-hidden">Search</label>
              <input
                aria-label="search-label"
                id="mobile-search"
                class="w-full py-[7px] px-[17px] max-md:text-[16px] text-m-body-1 placeholder:text-m-body-1 bg-beige-light appearance-none placeholder:text-dark-grey focus-visible:outline-0 focus-visible:outline-transparent focus-visible:placeholder:text-text"
                type="search"
                name="q"
                value=""
                placeholder="Search For Even More Happiness..."
              >
              <button
                class="pr-20"
                aria-label="Search"
              >
                
    <svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M16 15.9248L10.8995 10.9239C11.9019 9.80957 12.4503 8.39387 12.4503 6.89504C12.4503 3.52939 9.65786 0.791504 6.22515 0.791504C2.79244 0.791504 0 3.52939 0 6.89504C0 10.2607 2.79244 12.9986 6.22515 12.9986C7.60018 12.9986 8.90721 12.563 9.98285 11.7604L15.1142 16.7915L15.9991 15.9239L16 15.9248ZM1.25139 6.89504C1.25139 4.20651 3.48217 2.01845 6.22515 2.01845C8.96814 2.01845 11.1989 4.20564 11.1989 6.89504C11.1989 8.19731 10.6814 9.42252 9.74264 10.3429C8.803 11.2642 7.55426 11.7716 6.22604 11.7716C3.48393 11.7716 1.25139 9.58444 1.25139 6.89504Z" fill="currentColor"/>
    </svg>

  

                <span class="visually-hidden">Search</span>
              </button>
            </div>
          </form>

          <div
            class="predictive-search inset bg-background overflow-auto"
            style="display: none; top: var(--header-group-height); height: calc(100dvh - var(--header-group-height));"
          ></div>
        </predictive-search>
      </div>
    </div>
  </header>
</site-header>

<script>
  
</script>

<style>
  :root {
    --header-height: 55px;
    --header-group-height: 87px;
  }

  .header-logo {
    width: 210px;
  }

  @media screen and (max-width: 767px) {
    :root {
      --header-height: 59px;
      --header-from-top: 91px;
    }

    .header-logo {
      width: 170px;
    }
  }

  
</style>

<script type="application/ld+json">
  {
    "@context": "http://schema.org",
    "@type": "Organization",
    "name": "Needlepoint.Com",
    
    "sameAs": [
      "",
      "https:\/\/facebook.com\/needlepoint-com",
      "https:\/\/www.pinterest.com\/NeedlepointCom\/_shop\/",
      "http:\/\/instagram.com\/needlepointdotcom",
      "",
      "",
      "https:\/\/www.youtube.com\/channel\/UCXYbr9it4_wiswDplzJDnMg",
      ""
    ],
    "url": "https:\/\/needlepoint.com"
  }
</script>

<script type="application/ld+json">
  {
    "@context": "http://schema.org",
    "@type": "WebSite",
    "name": "Needlepoint.Com",
    "potentialAction": {
      "@type": "SearchAction",
      "target": null,
      "query-input": "required name=search_term_string"
    },
    "url": "https:\/\/needlepoint.com"
  }
</script>


</div><section id="shopify-section-sections--26162626887723__1772477596ea20eb15" class="shopify-section shopify-section-group-header-group spaced-section"><div style="--bg: #fbfbf8;" class="bg-[var(--bg)] page-width">
  
</div>


</section>
<!-- END sections: header-group --></div><div id="shopify-section-mobile-menu" class="shopify-section"><mobile-menu>
  <div
    id="mobile-menu"
    class="
      w-full h-full flex flex-col fixed left-0 right-0 bottom-0 overflow-x-hidden overflow-y-auto z-top bg-off-white opacity-0 invisible transition-visibility
      aria-unhidden:opacity-100 aria-unhidden:visible
    "
    aria-modal="true"
    aria-label="Menu Drawer"
    role="dialog"
    tabindex="-1"
    style="top: var(--header-group-height); height: calc(100dvh - var(--header-group-height));"
  >
    <div class="h-full pb-20 flex flex-col justify-between relative">
      <ul class="" role="list">
        
          <li class="border-b-1 border-sky-blue px-20 ">
            
              <button
                class="dropdown-button w-full py-15 flex justify-between items-center text-m-body-3"
                href="/collections/newest-products"
                aria-label="Shop All"
              >
                <span>Shop All</span>
                <span class="-rotate-90">
                  
    <svg width="11" height="7" viewBox="0 0 11 7" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path fill-rule="evenodd" clip-rule="evenodd" d="M0 1.22177L0.930269 0.291504L5.06973 4.43097L9.20919 0.291504L10.1395 1.22177L5.06973 6.2915L0 1.22177Z" fill="currentColor"/>
    </svg>

  

                </span>
              </button>
              <div class="dropdown group/dropdown">
                <div
                  class="
                    absolute top-0 right-0 bottom-0 left-0 z-[1] overflow-y-auto translate-x-full transition-transform bg-off-white
                    group-[.active]/dropdown:translate-x-0
                  "
                >
                  <button class="dropdown-back w-full pl-10 py-15 flex items-center gap-10 border-b-1 border-sky-blue text-m-body-3">
                    <span class="rotate-90">
                      
    <svg width="11" height="7" viewBox="0 0 11 7" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path fill-rule="evenodd" clip-rule="evenodd" d="M0 1.22177L0.930269 0.291504L5.06973 4.43097L9.20919 0.291504L10.1395 1.22177L5.06973 6.2915L0 1.22177Z" fill="currentColor"/>
    </svg>

  

                    </span>
                    <span>Shop All</span>
                  </button>
                  <ul class="" role="list">
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <dropdown-item>
                            <div class="group/child-dropdown" data-dropdown>
                              <button
                                class="w-full text-m-body-3 flex justify-between items-center gap-20 text-left py-20 group-[.active]/child-dropdown:text-cerulean transition-colors"
                                data-dropdown-toggle
                                aria-label="dropdown icon"
                              >Collections<span class="flex transition-transform group-[.active]/child-dropdown:rotate-180">
                                  
    <svg width="7" height="5" viewBox="0 0 7 5" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0.5 0.5L3.5 3.5L6.5 0.5" stroke="currentColor" stroke-width="1.14583"/>
    </svg>

  

                                </span>
                              </button>
                              <div
                                class="hidden group-[.active]/child-dropdown:block"
                                data-dropdown-content
                              >
                                <ul class="pb-5 flex flex-col gap-5">
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/newest-products" aria-label="New Arrivals">New Arrivals</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/recently-restocked" aria-label="Recently Restocked">Recently Restocked</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/best-selling-products" aria-label="Best Sellers">Best Sellers</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/pages/shop-by-theme" aria-label="Shop by Theme">Shop by Theme</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/sale-needlepoint-canvases-and-accessories" aria-label="Sale">Sale</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/in-stock-products" aria-label="Shop All">Shop All</a>
                                    </li>
                                  
                                </ul>
                              </div>
                            </div>
                          </dropdown-item>
                        
                      </li>
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <dropdown-item>
                            <div class="group/child-dropdown" data-dropdown>
                              <button
                                class="w-full text-m-body-3 flex justify-between items-center gap-20 text-left py-20 group-[.active]/child-dropdown:text-cerulean transition-colors"
                                data-dropdown-toggle
                                aria-label="dropdown icon"
                              >Categories<span class="flex transition-transform group-[.active]/child-dropdown:rotate-180">
                                  
    <svg width="7" height="5" viewBox="0 0 7 5" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0.5 0.5L3.5 3.5L6.5 0.5" stroke="currentColor" stroke-width="1.14583"/>
    </svg>

  

                                </span>
                              </button>
                              <div
                                class="hidden group-[.active]/child-dropdown:block"
                                data-dropdown-content
                              >
                                <ul class="pb-5 flex flex-col gap-5">
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/all-canvases" aria-label="Canvases">Canvases</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/kits" aria-label="Kits">Kits</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/needlepoint-accessories" aria-label="Accessories">Accessories</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/acrylics" aria-label="Acrylics">Acrylics</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/stitch-guides" aria-label="Stitch Guides">Stitch Guides</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/in-stock-online-classes" aria-label="Online Classes">Online Classes</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/self-finishing" aria-label="Self Finishing">Self Finishing</a>
                                    </li>
                                  
                                </ul>
                              </div>
                            </div>
                          </dropdown-item>
                        
                      </li>
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <dropdown-item>
                            <div class="group/child-dropdown" data-dropdown>
                              <button
                                class="w-full text-m-body-3 flex justify-between items-center gap-20 text-left py-20 group-[.active]/child-dropdown:text-cerulean transition-colors"
                                data-dropdown-toggle
                                aria-label="dropdown icon"
                              >Brands<span class="flex transition-transform group-[.active]/child-dropdown:rotate-180">
                                  
    <svg width="7" height="5" viewBox="0 0 7 5" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0.5 0.5L3.5 3.5L6.5 0.5" stroke="currentColor" stroke-width="1.14583"/>
    </svg>

  

                                </span>
                              </button>
                              <div
                                class="hidden group-[.active]/child-dropdown:block"
                                data-dropdown-content
                              >
                                <ul class="pb-5 flex flex-col gap-5">
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="https://needlepoint.com/collections/needlepoint-to-go" aria-label="Needlepoint To Go">Needlepoint To Go</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/two-sisters-needlepoint" aria-label="Two Sisters Needlepoint">Two Sisters Needlepoint</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/kirk-bradley" aria-label="Kirk & Bradley">Kirk & Bradley</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/burnett-bradley" aria-label="Burnett & Bradley">Burnett & Bradley</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/associated-talents" aria-label="Associated Talents">Associated Talents</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label="Elizabeth Bradley ">Elizabeth Bradley </a>
                                    </li>
                                  
                                </ul>
                              </div>
                            </div>
                          </dropdown-item>
                        
                      </li>
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <dropdown-item>
                            <div class="group/child-dropdown" data-dropdown>
                              <button
                                class="w-full text-m-body-3 flex justify-between items-center gap-20 text-left py-20 group-[.active]/child-dropdown:text-cerulean transition-colors"
                                data-dropdown-toggle
                                aria-label="dropdown icon"
                              >Skill Level<span class="flex transition-transform group-[.active]/child-dropdown:rotate-180">
                                  
    <svg width="7" height="5" viewBox="0 0 7 5" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0.5 0.5L3.5 3.5L6.5 0.5" stroke="currentColor" stroke-width="1.14583"/>
    </svg>

  

                                </span>
                              </button>
                              <div
                                class="hidden group-[.active]/child-dropdown:block"
                                data-dropdown-content
                              >
                                <ul class="pb-5 flex flex-col gap-5">
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/level-1-kits" aria-label="Level 1">Level 1</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/level-2-kits" aria-label="Level 2">Level 2</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/level-3-kits-online-classes" aria-label="Level 3">Level 3</a>
                                    </li>
                                  
                                    <li>
                                      <a class="py-15 block text-m-body-3" href="/collections/level-4-kits-online-classes" aria-label="Level 4">Level 4</a>
                                    </li>
                                  
                                </ul>
                              </div>
                            </div>
                          </dropdown-item>
                        
                      </li>
                    
                  </ul>
                  
                  
                </div>
              </div>
            
          </li>
        
          <li class="border-b-1 border-sky-blue px-20 ">
            
              <button
                class="dropdown-button w-full py-15 flex justify-between items-center text-m-body-3"
                href="/pages/learn-how-to-needlepoint"
                aria-label="Learn"
              >
                <span>Learn</span>
                <span class="-rotate-90">
                  
    <svg width="11" height="7" viewBox="0 0 11 7" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path fill-rule="evenodd" clip-rule="evenodd" d="M0 1.22177L0.930269 0.291504L5.06973 4.43097L9.20919 0.291504L10.1395 1.22177L5.06973 6.2915L0 1.22177Z" fill="currentColor"/>
    </svg>

  

                </span>
              </button>
              <div class="dropdown group/dropdown">
                <div
                  class="
                    absolute top-0 right-0 bottom-0 left-0 z-[1] overflow-y-auto translate-x-full transition-transform bg-off-white
                    group-[.active]/dropdown:translate-x-0
                  "
                >
                  <button class="dropdown-back w-full pl-10 py-15 flex items-center gap-10 border-b-1 border-sky-blue text-m-body-3">
                    <span class="rotate-90">
                      
    <svg width="11" height="7" viewBox="0 0 11 7" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path fill-rule="evenodd" clip-rule="evenodd" d="M0 1.22177L0.930269 0.291504L5.06973 4.43097L9.20919 0.291504L10.1395 1.22177L5.06973 6.2915L0 1.22177Z" fill="currentColor"/>
    </svg>

  

                    </span>
                    <span>Learn</span>
                  </button>
                  <ul class="" role="list">
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <a class="py-15 block text-m-body-3" href="/pages/learn-how-to-needlepoint" aria-label="How To Needlepoint">How To Needlepoint</a>
                        
                      </li>
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <a class="py-15 block text-m-body-3" href="/pages/tips-tricks" aria-label="Thread Tips">Thread Tips</a>
                        
                      </li>
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <a class="py-15 block text-m-body-3" href="/pages/videos-1" aria-label="Videos">Videos</a>
                        
                      </li>
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <a class="py-15 block text-m-body-3" href="/collections/online-classes-for-needlepoint" aria-label="Online Classes">Online Classes</a>
                        
                      </li>
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <a class="py-15 block text-m-body-3" href="/pages/events" aria-label="In-Person Classes">In-Person Classes</a>
                        
                      </li>
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <a class="py-15 block text-m-body-3" href="/pages/community" aria-label="Community">Community</a>
                        
                      </li>
                    
                      <li class="border-b-1 border-sky-blue px-20">
                        
                          <a class="py-15 block text-m-body-3" href="/pages/designer-showcase-schedule" aria-label="Designer Showcase Schedule">Designer Showcase Schedule</a>
                        
                      </li>
                    
                  </ul>
                  
                  
                </div>
              </div>
            
          </li>
        
          <li class="border-b-1 border-sky-blue px-20 ">
            
              <a class="py-15 block text-m-body-3" href="/pages/our-stores" aria-label="Stores">Stores</a>
            
          </li>
        
          <li class="border-b-1 border-sky-blue px-20 ">
            
              <a class="py-15 block text-m-body-3" href="/pages/beginners" aria-label="For Beginners">For Beginners</a>
            
          </li>
        
          <li class="border-b-1 border-sky-blue px-20 ">
            
              <a class="py-15 block text-m-body-3" href="/pages/finishing" aria-label="Finishing">Finishing</a>
            
          </li>
        
          <li class="border-b-1 border-sky-blue px-20 ">
            
              <a class="py-15 block text-m-body-3" href="/pages/interiors" aria-label="Interiors">Interiors</a>
            
          </li>
        
        
          <li>
            <ul class="py-10 px-20" role="list">
              
                <li>
                  <a class="py-15 block text-m-body-2" href="/pages/our-stores" aria-label="Stores">Stores</a>
                </li>
              
                <li>
                  <a class="py-15 block text-m-body-2" href="/pages/events" aria-label="Events">Events</a>
                </li>
              
                <li>
                  <a class="py-15 block text-m-body-2" href="/pages/community" aria-label="Community">Community</a>
                </li>
              
                <li>
                  <a class="py-15 block text-m-body-2" href="/pages/rewards" aria-label="Rewards">Rewards</a>
                </li>
              
              
                <li>
                  <a
                    href="https://needlepoint.com/customer_authentication/redirect?locale=en&region_country=US"
                    class="group/link relative "
                  >
                    <span class="py-15 text-m-body-2 flex flex-row justify-start items-center gap-5">
                      
    <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M7.6377 8.61694C11.279 8.61704 13.5363 11.2479 14.4482 13.6013C14.7718 14.4364 14.0976 15.2058 13.3037 15.2058H1.97461C1.17655 15.2058 0.507793 14.4337 0.823242 13.6003C1.63793 11.4491 3.65257 8.61694 7.6377 8.61694Z" stroke="currentColor"/>
      <path d="M7.63672 1.2915C9.64906 1.2915 11.2811 2.92275 11.2812 4.93506C11.2812 6.94749 9.64915 8.57959 7.63672 8.57959C5.62441 8.57944 3.99316 6.9474 3.99316 4.93506C3.99331 2.92285 5.62451 1.29165 7.63672 1.2915Z" stroke="currentColor"/>
    </svg>
  

                      Sign in</span>
                  </a>
                </li>
              
              <li>
                <a
                  id="mi_wish"
                  href="#swym-wishlist"
                  class="header__icon small-hide py-15 text-m-body-2 flex flex-row justify-start items-center gap-5"
                  aria-label="#swym-wishlist"
                >
                  
    <svg width="21" height="17" viewBox="0 0 21 17" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M3.81738 0.762009C5.92631 0.32929 7.68026 1.69535 8.81738 2.96513C9.40182 3.61779 9.86606 4.29031 10.1826 4.79716C10.3413 5.05131 10.4639 5.2661 10.5479 5.41826C10.5489 5.42018 10.5497 5.42222 10.5508 5.42412C10.5527 5.4206 10.5547 5.41697 10.5566 5.41338C10.6376 5.26136 10.7565 5.04707 10.9102 4.79326C11.2166 4.28718 11.667 3.6151 12.2383 2.96318C13.3504 1.69416 15.0777 0.329988 17.1885 0.762985H17.1895C18.1616 0.963164 18.8096 1.57502 19.1943 2.26103C19.572 2.93458 19.7117 3.70284 19.6768 4.30888C19.5956 5.72406 19.0152 7.16133 18.2334 8.49541C17.4484 9.83487 16.4374 11.1094 15.4473 12.2083C14.4555 13.3089 13.4744 14.2441 12.7422 14.9036C12.3758 15.2336 12.0706 15.4952 11.8564 15.6751C11.7495 15.7649 11.6655 15.8347 11.6074 15.8821C11.5784 15.9058 11.5555 15.9244 11.54 15.9368C11.5326 15.9428 11.5266 15.9472 11.5225 15.9505C11.5206 15.952 11.5187 15.9535 11.5176 15.9544L11.5156 15.9563C11.5156 15.9564 11.5155 15.9563 11.5146 15.9554C10.9412 16.429 10.1228 16.4403 9.53613 15.9847V15.9837L9.50586 15.9612L9.49902 15.9554L9.85059 15.512L9.49805 15.9554L9.49609 15.9544C9.49503 15.9535 9.49398 15.9519 9.49219 15.9505C9.48804 15.9472 9.48136 15.942 9.47363 15.9358C9.45818 15.9234 9.4362 15.9048 9.40723 15.8811C9.34912 15.8338 9.26426 15.7649 9.15723 15.6751C8.94281 15.4952 8.63731 15.2327 8.27051 14.9026C7.53761 14.2432 6.55519 13.3089 5.5625 12.2083C4.57132 11.1094 3.56016 9.83409 2.77441 8.49443C1.99191 7.16028 1.41028 5.72345 1.3291 4.30791C1.2942 3.70193 1.43396 2.93368 1.81152 2.26006C2.19622 1.57378 2.84477 0.96163 3.81738 0.762009Z" stroke="currentColor" stroke-width="1.13323"/>
    </svg>

  

                  <span class="">Wishlist</span>
                </a>
              </li>
            </ul>
          </li>
        
      </ul>
      <div class="flex flex-row justify-between items-end gap-10 px-20">
        <div>
          
            <country-selector>
  <form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="disclosure-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/?keyword=&gad_source=1&gad_campaignid=20647714233&gclid=Cj0KCQjw0JnRBhDJARIsALobnXbfXiSi0LcpCbO65hJ5rdZUrbc3TufS4ftuhuBfmRlmO2qubH4JLJIaAiFaEALw_wcB" />
    <dropdown-item data-is-overlay="true">
      <div
        class="currency-selector group/dropdown relative"
        data-dropdown
      >
        <h2 class="visually-hidden" id="currency-heading">Currency Selector</h2>
        <button
          type="button"
          class="currency-selector-button flex items-center gap-10 text-link-sm uppercase"
          aria-haspopup="listbox"
          aria-expanded="false"
          aria-controls="currency-list-"
          aria-label="currency-heading"
          data-dropdown-toggle
        >
          <span class="currency-selector-current">US ($USD)</span>
          <span class="group-[.active]/dropdown:rotate-180 transition-transform">
            
    <svg width="7" height="5" viewBox="0 0 7 5" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M0.5 0.5L3.5 3.5L6.5 0.5" stroke="currentColor" stroke-width="1.14583"/>
    </svg>

  

          </span>
        </button>
        <ul
          id="currency-list"
          class="
            w-[125px] max-h-[180px] overflow-y-scroll p-10 flex flex-col gap-10 absolute top-0 md:top-[23px] max-md:left-0 max-md:-translate-y-full md:right-0 bg-background text-text z-30 shadow-dropdown opacity-0 invisible transition-visibility
            group-[.active]/dropdown:visible group-[.active]/dropdown:opacity-100
          "
          role="listbox"
          aria-label="currency-heading"
          style="scrollbar-width: thin;"
          data-dropdown-content
          tabindex="0"
        >
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AL"
                data-replacement="AL (LALL)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AL (LALL)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DZ"
                data-replacement="DZ (د.جDZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DZ (د.جDZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AD"
                data-replacement="AD (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AD (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AO"
                data-replacement="AO ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AO ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AI"
                data-replacement="AI ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AI ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AG"
                data-replacement="AG ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AG ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AR"
                data-replacement="AR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AM"
                data-replacement="AM (դր.AMD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AM (դր.AMD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AW"
                data-replacement="AW (ƒAWG)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AW (ƒAWG)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AU"
                data-replacement="AU ($AUD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AU ($AUD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AT"
                data-replacement="AT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AZ"
                data-replacement="AZ (₼AZN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AZ (₼AZN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BS"
                data-replacement="BS ($BSD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BS ($BSD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BH"
                data-replacement="BH ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BH ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BD"
                data-replacement="BD (৳BDT)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BD (৳BDT)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BB"
                data-replacement="BB ($BBD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BB ($BBD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BE"
                data-replacement="BE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BZ"
                data-replacement="BZ ($BZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BZ ($BZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BJ"
                data-replacement="BJ (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BJ (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BM"
                data-replacement="BM ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BM ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BT"
                data-replacement="BT ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BT ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BO"
                data-replacement="BO (Bs.BOB)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BO (Bs.BOB)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BA"
                data-replacement="BA (КМBAM)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BA (КМBAM)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BW"
                data-replacement="BW (PBWP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BW (PBWP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BR"
                data-replacement="BR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="VG"
                data-replacement="VG ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  VG ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BN"
                data-replacement="BN ($BND)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BN ($BND)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BG"
                data-replacement="BG (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BG (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BF"
                data-replacement="BF (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BF (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BI"
                data-replacement="BI (FrBIF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BI (FrBIF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KH"
                data-replacement="KH (៛KHR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KH (៛KHR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CM"
                data-replacement="CM (CFAXAF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CM (CFAXAF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CA"
                data-replacement="CA ($CAD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CA ($CAD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CV"
                data-replacement="CV ($CVE)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CV ($CVE)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BQ"
                data-replacement="BQ ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BQ ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KY"
                data-replacement="KY ($KYD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KY ($KYD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TD"
                data-replacement="TD (CFAXAF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TD (CFAXAF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CL"
                data-replacement="CL ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CL ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CN"
                data-replacement="CN (¥CNY)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CN (¥CNY)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CO"
                data-replacement="CO ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CO ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KM"
                data-replacement="KM (FrKMF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KM (FrKMF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CK"
                data-replacement="CK ($NZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CK ($NZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CR"
                data-replacement="CR (₡CRC)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CR (₡CRC)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HR"
                data-replacement="HR (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HR (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CW"
                data-replacement="CW (ƒANG)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CW (ƒANG)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CY"
                data-replacement="CY (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CY (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CZ"
                data-replacement="CZ (KčCZK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CZ (KčCZK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DK"
                data-replacement="DK (kr.DKK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DK (kr.DKK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DJ"
                data-replacement="DJ (FdjDJF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DJ (FdjDJF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DM"
                data-replacement="DM ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DM ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DO"
                data-replacement="DO ($DOP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DO ($DOP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="EC"
                data-replacement="EC ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  EC ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="EG"
                data-replacement="EG (ج.مEGP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  EG (ج.مEGP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SV"
                data-replacement="SV ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SV ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GQ"
                data-replacement="GQ (CFAXAF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GQ (CFAXAF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="EE"
                data-replacement="EE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  EE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SZ"
                data-replacement="SZ ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SZ ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ET"
                data-replacement="ET (BrETB)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ET (BrETB)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FK"
                data-replacement="FK (£FKP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FK (£FKP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FO"
                data-replacement="FO (kr.DKK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FO (kr.DKK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FJ"
                data-replacement="FJ ($FJD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FJ ($FJD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FI"
                data-replacement="FI (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FI (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="FR"
                data-replacement="FR (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  FR (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GF"
                data-replacement="GF (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GF (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PF"
                data-replacement="PF (FrXPF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PF (FrXPF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GA"
                data-replacement="GA (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GA (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GM"
                data-replacement="GM (DGMD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GM (DGMD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GE"
                data-replacement="GE ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GE ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="DE"
                data-replacement="DE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  DE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GH"
                data-replacement="GH ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GH ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GI"
                data-replacement="GI (£GBP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GI (£GBP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GR"
                data-replacement="GR (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GR (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GL"
                data-replacement="GL (kr.DKK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GL (kr.DKK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GD"
                data-replacement="GD ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GD ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GP"
                data-replacement="GP (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GP (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GT"
                data-replacement="GT (QGTQ)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GT (QGTQ)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GG"
                data-replacement="GG (£GBP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GG (£GBP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GN"
                data-replacement="GN (FrGNF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GN (FrGNF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GW"
                data-replacement="GW (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GW (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GY"
                data-replacement="GY ($GYD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GY ($GYD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HT"
                data-replacement="HT ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HT ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HN"
                data-replacement="HN (LHNL)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HN (LHNL)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HK"
                data-replacement="HK ($HKD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HK ($HKD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="HU"
                data-replacement="HU (FtHUF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  HU (FtHUF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IS"
                data-replacement="IS (krISK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IS (krISK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IN"
                data-replacement="IN (₹INR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IN (₹INR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ID"
                data-replacement="ID (RpIDR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ID (RpIDR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IE"
                data-replacement="IE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IL"
                data-replacement="IL (₪ILS)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IL (₪ILS)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="IT"
                data-replacement="IT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  IT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="JM"
                data-replacement="JM ($JMD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  JM ($JMD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="JP"
                data-replacement="JP (¥JPY)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  JP (¥JPY)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="JE"
                data-replacement="JE ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  JE ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="JO"
                data-replacement="JO ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  JO ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KZ"
                data-replacement="KZ (₸KZT)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KZ (₸KZT)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KE"
                data-replacement="KE (KShKES)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KE (KShKES)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KI"
                data-replacement="KI ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KI ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KW"
                data-replacement="KW ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KW ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KG"
                data-replacement="KG (somKGS)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KG (somKGS)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LA"
                data-replacement="LA (₭LAK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LA (₭LAK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LV"
                data-replacement="LV (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LV (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LS"
                data-replacement="LS ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LS ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LI"
                data-replacement="LI (CHFCHF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LI (CHFCHF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LT"
                data-replacement="LT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LU"
                data-replacement="LU (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LU (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MO"
                data-replacement="MO (PMOP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MO (PMOP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MG"
                data-replacement="MG ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MG ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MW"
                data-replacement="MW (MKMWK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MW (MKMWK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MY"
                data-replacement="MY (RMMYR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MY (RMMYR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MV"
                data-replacement="MV (MVRMVR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MV (MVRMVR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MT"
                data-replacement="MT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MQ"
                data-replacement="MQ (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MQ (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MR"
                data-replacement="MR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MU"
                data-replacement="MU (₨MUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MU (₨MUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="YT"
                data-replacement="YT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  YT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MX"
                data-replacement="MX ($MXN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MX ($MXN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MD"
                data-replacement="MD (LMDL)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MD (LMDL)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MC"
                data-replacement="MC (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MC (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MN"
                data-replacement="MN (₮MNT)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MN (₮MNT)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ME"
                data-replacement="ME (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ME (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MS"
                data-replacement="MS ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MS ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MA"
                data-replacement="MA (د.م.MAD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MA (د.م.MAD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MZ"
                data-replacement="MZ ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MZ ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NA"
                data-replacement="NA ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NA ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NR"
                data-replacement="NR ($AUD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NR ($AUD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NP"
                data-replacement="NP (Rs.NPR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NP (Rs.NPR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NL"
                data-replacement="NL (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NL (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NC"
                data-replacement="NC (FrXPF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NC (FrXPF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NZ"
                data-replacement="NZ ($NZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NZ ($NZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NI"
                data-replacement="NI (C$NIO)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NI (C$NIO)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NG"
                data-replacement="NG (₦NGN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NG (₦NGN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NU"
                data-replacement="NU ($NZD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NU ($NZD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MK"
                data-replacement="MK (денMKD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MK (денMKD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="NO"
                data-replacement="NO ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  NO ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="OM"
                data-replacement="OM ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  OM ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PK"
                data-replacement="PK (₨PKR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PK (₨PKR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PA"
                data-replacement="PA ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PA ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PG"
                data-replacement="PG (KPGK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PG (KPGK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PY"
                data-replacement="PY (₲PYG)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PY (₲PYG)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PE"
                data-replacement="PE (S/PEN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PE (S/PEN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PH"
                data-replacement="PH (₱PHP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PH (₱PHP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PL"
                data-replacement="PL (złPLN)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PL (złPLN)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="PT"
                data-replacement="PT (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  PT (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="QA"
                data-replacement="QA (ر.قQAR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  QA (ر.قQAR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="RE"
                data-replacement="RE (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  RE (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="RO"
                data-replacement="RO (LeiRON)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  RO (LeiRON)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="RW"
                data-replacement="RW (FRwRWF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  RW (FRwRWF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="WS"
                data-replacement="WS (TWST)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  WS (TWST)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SM"
                data-replacement="SM (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SM (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ST"
                data-replacement="ST (DbSTD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ST (DbSTD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SA"
                data-replacement="SA (ر.سSAR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SA (ر.سSAR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SN"
                data-replacement="SN (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SN (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="RS"
                data-replacement="RS (РСДRSD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  RS (РСДRSD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SC"
                data-replacement="SC ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SC ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SL"
                data-replacement="SL (LeSLL)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SL (LeSLL)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SG"
                data-replacement="SG ($SGD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SG ($SGD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SK"
                data-replacement="SK (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SK (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SI"
                data-replacement="SI (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SI (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SB"
                data-replacement="SB ($SBD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SB ($SBD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ZA"
                data-replacement="ZA ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ZA ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KR"
                data-replacement="KR (₩KRW)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KR (₩KRW)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ES"
                data-replacement="ES (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ES (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LK"
                data-replacement="LK (₨LKR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LK (₨LKR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="BL"
                data-replacement="BL (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  BL (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SH"
                data-replacement="SH (£SHP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SH (£SHP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="KN"
                data-replacement="KN ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  KN ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="LC"
                data-replacement="LC ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  LC ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="MF"
                data-replacement="MF (€EUR)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  MF (€EUR)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="VC"
                data-replacement="VC ($XCD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  VC ($XCD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SR"
                data-replacement="SR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="SE"
                data-replacement="SE (krSEK)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  SE (krSEK)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="CH"
                data-replacement="CH (CHFCHF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  CH (CHFCHF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TW"
                data-replacement="TW ($TWD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TW ($TWD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TZ"
                data-replacement="TZ (ShTZS)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TZ (ShTZS)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TH"
                data-replacement="TH (฿THB)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TH (฿THB)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TL"
                data-replacement="TL ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TL ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TG"
                data-replacement="TG (FrXOF)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TG (FrXOF)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TO"
                data-replacement="TO (T$TOP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TO (T$TOP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TT"
                data-replacement="TT ($TTD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TT ($TTD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TN"
                data-replacement="TN ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TN ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TR"
                data-replacement="TR ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TR ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TC"
                data-replacement="TC ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TC ($USD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="TV"
                data-replacement="TV ($AUD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  TV ($AUD)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="UG"
                data-replacement="UG (UShUGX)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  UG (UShUGX)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="AE"
                data-replacement="AE (د.إAED)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  AE (د.إAED)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="GB"
                data-replacement="GB (£GBP)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  GB (£GBP)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left active">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                  aria-current="true"
                
                role="option"
                data-value="US"
                data-replacement="US ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  US ($USD)
                </span>

                
                  <div class="w-5 h-5 mr-5 rounded-full bg-slate"></div>
                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="UY"
                data-replacement="UY ($UUYU)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  UY ($UUYU)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="UZ"
                data-replacement="UZ (so'mUZS)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  UZ (so'mUZS)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="VU"
                data-replacement="VU (VtVUV)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  VU (VtVUV)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="VN"
                data-replacement="VN (₫VND)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  VN (₫VND)
                </span>

                
              </a>
            </li>
          
            <li class="group/country text-link-sm text-left">
              <a
                class="currency-selector-option group/link flex justify-between items-center !leading-6"
                href="#"
                
                role="option"
                data-value="ZM"
                data-replacement="ZM ($USD)"
              >
                <span class="underline-offset-2 group-hover/link:underline">
                  ZM ($USD)
                </span>

                
              </a>
            </li>
          
        </ul>
        <input
          type="hidden"
          name="country_code"
          id="CurrencySelector"
          value="US"
        >
      </div>
    </dropdown-item>
  </form>
</country-selector>
          
          
          </div>

        
      </div>
    </div>
  </div>
</mobile-menu>


</div><div id="shopify-section-cart-drawer" class="shopify-section"><cart-drawer>
  <div class="cart-drawer max-w-custom w-full h-[100dvh] fixed top-0 right-0 bg-off-white z-top translate-x-full transition-transform ease-in-out aria-unhidden:translate-x-0" style="--width: 500px;" id="cart-drawer" aria-modal="true" aria-label="Cart Drawer" role="dialog" tabindex="0">
    <form id="cart-drawer__form" action="/cart" method="post" class="h-full">

      <div id="cart-drawer__inner" class="h-full flex flex-col" data-id="cart-drawer">
        <div class="sticky top-0 text-center">
          <div class="mx-20 py-20 flex justify-between items-center md:mx-30">
            <div class="flex items-center gap-10">
              <h2 class="text-m-h1 font-sans md:text-h4" tabindex="0">My Cart</h2>
              <div id="cart-count">
                
              </div>
            </div>
            <button type="button" class="py-5 pl-5 block" data-close-cart aria-label="Close cart drawer"> 
              
    <svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.05074 5.9055L10.1869 1.76937L9.33796 0.920468L5.20183 5.05659L0.936744 0.791504L0.087839 1.64041L4.35293 5.9055L0 10.2584L0.848906 11.1073L5.20183 6.7544L9.4258 10.9784L10.2747 10.1295L6.05074 5.9055Z" fill="currentColor"/>
    </svg>

  

            </button>
          </div>

          <div class="mx-20 md:mx-30">
            
  
  
  
  

  

  <div class="pb-[12px] text-center">
    
      <p class="text-caption">You're $75 away from free shipping</p>
    
  </div>
  <div class="h-10 bg-sky-blue relative">
    <div class="absolute top-0 left-0 bottom-0 bg-cerulean" style="width: 0.0%;"></div>
  </div>

          </div>

        </div>

        
          <div class="w-full p-20 h-full flex flex-col justify-center text-center">
            <p class="mb-30 text-sh1 ">Your cart is empty.</p>
            <a href="/collections/in-stock-products" class="button w-full">Shop All</a>
          </div>
        

        <div class="w-full pb-20 px-20 sticky bottom-0 bg-off-white md:px-30 hidden">

          
            <button class="w-full mb-15 py-10 flex justify-start items-center gap-10 text-caption border-y border-sky-blue" data-cart-note-toggle data-open-cart-note>
              <span>
                <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
                  <rect x="0.5" y="0.5" width="19" height="19" stroke="#4CC3D2"/>
                  <path class="hidden" d="M14 6.5L8.27273 13.5L6 11.3571" stroke="#2A2E3F"/>
                </svg>
              </span>
              <span>Add An Order Note</span>
            </button>
          

          

          <div class="mb-15 flex justify-between items-center gap-20" id="cart-drawer-subtotal">
            <p class="text-link uppercase">Subtotal</p>
            <p class="text-link uppercase">$0.00</p>
          </div>
          <a href="/checkout" class="w-full button" name="checkout" form="cart">Checkout</a>
          <p class="mt-10 text-m-body-2 text-center md:text-body-4">Shipping & Taxes Calculated at Checkout</p>
        </div>

        <div id="cart-drawer-loading" class="hidden inset bg-background/40">
          <div class="h-full w-full flex justify-center items-center">
            <svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg>
          </div>
        </div>
      </div>
    </form> 

    
      <cart-note>
        <div class="cart-note group/cart-note inset z-20 invisible opacity-0 transition-visibility [&.active]:opacity-100 [&.active]:visible">
          <button class="inset bg-slate/20" data-close-cart-note><span class="visually-hidden">Close cart note</span></button>
          <div class="absolute bottom-0 left-0 right-0 bg-off-white py-30 px-20 md:px-30 translate-y-full transition-transform group-[.active]/cart-note:translate-y-0">
            <div class="mb-20 flex justify-between items-center">
              <h3 class="text-m-h3 font-sans font-md:text-h4">Add An Order Note</h3>
              <button class="flex" data-close-cart-note>
    <svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.05074 5.9055L10.1869 1.76937L9.33796 0.920468L5.20183 5.05659L0.936744 0.791504L0.087839 1.64041L4.35293 5.9055L0 10.2584L0.848906 11.1073L5.20183 6.7544L9.4258 10.9784L10.2747 10.1295L6.05074 5.9055Z" fill="currentColor"/>
    </svg>

  
<span class="visually-hidden">Close cart note</span></button>
            </div>
            <label class="visually-hidden" for="CartDrawer-Note">Cart Note</label>
            <textarea
              id="CartDrawer-Note"
              class="mb-10 field__input"
              name="note"
              placeholder="Enter a message..."
            ></textarea>
            <button class="button w-full" data-close-cart-note>Close</button>
          </div>
        </div>
      </cart-note>
    
  </div>
</cart-drawer>

<style>
  cart-drawer .cart-upsells-slider {
    overflow: visible;
  }
</style>

</div><pickup-availability-drawer>
      <div id="pickup-availability-drawer" class="pickup-availability-drawer max-w-custom w-full h-[100dvh] fixed top-0 right-0 bg-off-white z-top translate-x-full transition-transform ease-in-out aria-unhidden:translate-x-0" style="--width: 500px;" aria-modal="true" aria-label="Pickup Availability" role="dialog" tabindex="-1"> 
        <div id="pickup-availability-drawer__inner" class="h-full flex flex-col">
          <div class="sticky top-0 text-center">
            <div class="p-10 flex justify-end items-center">
              <button type="button" class="py-5 pl-5 block [&_svg]:w-full [&_svg]:h-auto" data-close-pickup-availability-drawer aria-label="Close pikcup availability">
                
    <svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.05074 5.9055L10.1869 1.76937L9.33796 0.920468L5.20183 5.05659L0.936744 0.791504L0.087839 1.64041L4.35293 5.9055L0 10.2584L0.848906 11.1073L5.20183 6.7544L9.4258 10.9784L10.2747 10.1295L6.05074 5.9055Z" fill="currentColor"/>
    </svg>

  

              </button>
            </div>

          </div>

          <div data-drawer-content class="w-full h-full px-20 flex flex-col overflow-y-scroll md:px-30o">
        
          </div>
        </div>
      </div>
    </pickup-availability-drawer>

    <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1" aria-label="main-content">
      <div id="shopify-section-template--26162629541931__hero_rBVb9X" class="shopify-section">

<div class="hero min-h-[550px] flex relative overflow-hidden  flex flex-col md:flex-row items-stretch  justify-end   md:min-h-[600px]">
  <div class=" relative w-full max-md:aspect-[1.44/1] md:absolute md:top-0 md:left-0 md:h-full md:w-[50vw]">
    
      
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=3000" alt="Dekstop Hero - " srcset="//needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=700 700w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=750 750w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=800 800w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=850 850w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=900 900w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=950 950w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1400 1400w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1500 1500w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1600 1600w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1800 1800w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2000 2000w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2200 2200w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2400 2400w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2600 2600w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2800 2800w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=3000 3000w" width="3000" height="2112" loading="eager" class="size-full inset object-cover hidden md:block" fetchpriority="high" sizes="100vw" onload=""></div>

  



      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=3000" alt="Dekstop Hero - " srcset="//needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=700 700w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=750 750w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=800 800w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=850 850w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=900 900w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=950 950w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1400 1400w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1500 1500w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1600 1600w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=1800 1800w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2000 2000w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2200 2200w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2400 2400w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2600 2600w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=2800 2800w, //needlepoint.com/cdn/shop/files/ABANNEE.jpg?v=1779995918&amp;width=3000 3000w" width="3000" height="2112" loading="eager" class="size-full inset object-cover md:hidden" fetchpriority="high" sizes="100vw" onload=""></div>

  


      
    
    
    
  </div>

  
    <div style="--content-bg: #eff9f7;" class="flex flex-col  justify-center items-center text-center md:justify-center md:items-center md:text-center bg-[var(--content-bg)] relative w-full md:w-[50vw]  
        py-20   
       ">
      <div class="pattern-border w-full h-full py-0 md:py-40 px-5 md:px-40  pattern-border-y flex flex-col  justify-center items-center text-center md:justify-center md:items-center md:text-center">
  
  <div
    class="max-w-custom py-40 flex flex-col gap-20 relative text-text md:py-30"
    style="--width: 564px;"
  >
    
<h2
  class="text-m-h1 md:text-h1"
  style="margin-top: 0px;margin-bottom: 0px;"
   
>
  Stitch Your Summer adventure
</h2>


<div
  class="rte  text-m-body-1 md:text-body-1"
  style="margin-top: 0px;margin-bottom: 0px;"
   
>
  <p>Travel the world via needlepoint</p>
</div>



<div
  style="
  --mt: 0px;
  --mb: 0px;
  --mt-m: 0px;
  --mb-m: 0px;
"
  class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] "
   
>
  
    <a href="/collections/kirk-bradleys-travel-rounds" class="w-fit button  button--secondary  ">
      Shop Travel Rounds&nbsp;<svg class="inline mr-10 align-middle mb-[3px]" width="7" height="11" viewBox="0 0 7 11" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path fill-rule="evenodd" clip-rule="evenodd" d="M1.43027 0.430176L0.5 1.36044L4.63946 5.49991L0.5 9.63937L1.43027 10.5696L6.5 5.49991L1.43027 0.430176Z" fill="currentColor"/>
        </svg></a>
  
</div>


  </div>
  
    </div>
    </div>
  
</div>

<style data-shopify>
  .transparent-header #MainContent > .shopify-section:first-child .hero.top {
    padding-top: var(--header-height);
  }
</style>

</div><div id="shopify-section-template--26162629541931__text_marquee_HcWxYU" class="shopify-section">
  
  <div class="bg-cerulean">
    <div class="overflow-clip text-white flex justify-center">
      <div class="w-full">
        <press-marquee>
          <div class="press-marquee">
            <div class="marquee">
              <div class="flex justify-center items-center shrink-0 overflow-x-hidden py-[16px]"> 
                <div class="flex items-center shrink-0 whitespace-nowrap animate-marquee" style="animation-duration: 28s">
                  
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Free US shipping over $75+
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Welcome to Your Happy Place
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Over 7,000+ 5-Star Reviews
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Premium Kits & Canvases
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
  
                </div>
                <div class="flex items-center shrink-0 whitespace-nowrap animate-marquee" style="animation-duration: 28s">
                  
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Free US shipping over $75+
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Welcome to Your Happy Place
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Over 7,000+ 5-Star Reviews
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Premium Kits & Canvases
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
  
                </div>
                <div class="flex items-center shrink-0 whitespace-nowrap animate-marquee" style="animation-duration: 28s">
                  
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Free US shipping over $75+
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Welcome to Your Happy Place
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Over 7,000+ 5-Star Reviews
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60">
        Premium Kits & Canvases
      </div>

      <div class="relative flex-shrink-0 whitespace-nowrap text-sh3 mr-60 [&_svg]:w-[13px] [&_svg]:h-[12px]">
        
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  

      </div>
    
  
                </div>
                
              </div>
            </div>
          </div>
        </press-marquee>
      </div>
    </div>
  </div>
  
  
  </div><div id="shopify-section-template--26162629541931__collection_slider_eBjcaR" class="shopify-section"><collection-slider data-desktop-columns="5" data-mobile-columns="2">
  <div class="my-60 md:my-80">
    <div class="block overflow-hidden">
      <div class="page-width">
        <div  class="mb-10 flex flex-row justify-between items-center md:m-0" >

          <div class="text-left">
            
              <h2 class="mb-10 text-m-h2  md:text-h2" data-animate>New Arrivals</h2>
            

            
          </div>
          
          

          
            
              <a href="/collections/newest-products" class="group/text-link py-10 inline-block text-m-sh4 md:text-cta uppercase relative !pt-0 text-cerulean">
  Shop Now
  
    <svg class="inline ml-5 mr-10 align-middle mb-[3px]" width="7" height="11" viewBox="0 0 7 11" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path fill-rule="evenodd" clip-rule="evenodd" d="M1.43027 0.430176L0.5 1.36044L4.63946 5.49991L0.5 9.63937L1.43027 10.5696L6.5 5.49991L1.43027 0.430176Z" fill="currentColor"/>
    </svg>
  
</a>
               
            
          
        </div>
        
        <div class="collection-slider-container">
          
            
            <div class="collection-slider-wrapper group-wrapper " data-id="collection-template--26162629541931__collection_slider_eBjcaR-1" >
              <div class="relative">
                
                  <div class="nosto_element" id="frontpage-nosto-3"></div>
                
              </div>

              
            </div>
          
        </div>
      </div>
    </div>
  </div>
</collection-slider>

<style>
  

  /* Style before slider has loaded */
  .collection-slider-template--26162629541931__collection_slider_eBjcaR:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: 1fr;
    grid-auto-rows: 0;
    gap: 20px;
  }

  @media screen and (max-width: 767px) {
    .collection-slider-template--26162629541931__collection_slider_eBjcaR:not(.swiper-initialized) .swiper-wrapper {
      grid-template-columns: repeat(2, 1fr);
    }
  }
</style>

</div><div id="shopify-section-template--26162629541931__image_text_Y7CaiW" class="shopify-section">

<div class="
    flex flex-col gap-0  text-text
     mt-0 md:mt-80
     mb-0 md:mb-80
     md:flex-row
  "
   style="background-color: #eff9f7"
>
  <div class="relative overflow-clip md:max-w-[57%] aspect-[1.27/1] h-auto w-full">
    
      <div class="sticky-bar  aspect-square h-auto ">
        
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=3648" alt=" - " srcset="//needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=700 700w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=750 750w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=800 800w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=850 850w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=900 900w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=950 950w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=1400 1400w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=1500 1500w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=1600 1600w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=1800 1800w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=2000 2000w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=2200 2200w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=2400 2400w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=2600 2600w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=2800 2800w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=3000 3000w, //needlepoint.com/cdn/shop/files/AQ6A0128_58726650-21d6-462c-aab8-f13bb4fa98f1.jpg?v=1780925517&amp;width=3500 3500w" width="3648" height="5472" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 size-full inset object-cover" fetchpriority="low" sizes="100vw" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      </div>
    
  </div>
  <div class="flex justify-center items-center text-center md:w-[43%]   py-20 md:py-30   px-20 md:px-30 ">
    <div class="pattern-border w-full h-full flex justify-center items-center text-center p-20  ">
    <div class="max-w-custom w-full flex flex-col gap-10 md:gap-20 my-40 md:my-60" style="--width: 380px;">
      <p
  class="text-m-sh1 md:text-sh1 "
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  <strong>Designer Showcase</strong>
</p>


<h2
  class="text-m-h1 md:text-h1"
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  Atlantic Blue Canvas
</h2>


<div
  class="rte  text-m-body-1 md:text-body-1"
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  <p>Shop all in stock canvases from Atlantic Blue Canvas for 20% off through the end of the month.</p>
</div>



<div
  style="
  --mt: 0px;
  --mb: 0px;
  --mt-m: 0px;
  --mb-m: 0px;
"
  class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] "
  data-animate 
>
  
    <a href="/collections/atlantic-blue-canvas-1" class="w-fit button  button--white-outline  ">
      Shop Now&nbsp;<svg class="inline mr-10 align-middle mb-[3px]" width="7" height="11" viewBox="0 0 7 11" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path fill-rule="evenodd" clip-rule="evenodd" d="M1.43027 0.430176L0.5 1.36044L4.63946 5.49991L0.5 9.63937L1.43027 10.5696L6.5 5.49991L1.43027 0.430176Z" fill="currentColor"/>
        </svg></a>
  
</div>


    </div>
    </div>
  </div>
</div>

</div><div id="shopify-section-template--26162629541931__1772477185a95789df" class="shopify-section">

</div><div id="shopify-section-template--26162629541931__grid_q6EbY7" class="shopify-section">


<div class="group/grid mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] text-text " style=" 
  --mt: 0px;
  --mb: 0px;
  --mt-m: 19px;
  --mb-m: 19px;
">
  <div class="page-width">
    

    <div class="grid gap-20 md:grid-cols-2 text-text">
      

<div class="relative grid-item" data-animate >
  <a href="/collections/all-canvases" aria-label="Shop Canvases" class="block relative aspect-square">
    




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=1300" alt="Shop Canvases - " srcset="//needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=150 150w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=200 200w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=240 240w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=280 280w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=300 300w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=360 360w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=400 400w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=450 450w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=500 500w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=550 550w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=600 600w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=650 650w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=700 700w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=750 750w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=800 800w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=850 850w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=900 900w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=950 950w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/j.jpg?v=1780327956&amp;width=1300 1300w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 size-full inset object-cover" fetchpriority="low" sizes="(min-width: 767px) calc(50vw - 80px), calc(100vw - 40px)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



    
      <div class="inset bg-slate/20"></div>
    

    <span class="visually-hidden">Shop Canvases</span>

    
  </a>

  <div class="inset px-30 py-40  flex justify-center items-center text-center text-text">
    <div class="max-w-custom w-full flex flex-col gap-5 relative  no-animation [&_[class*='text-sh']]:text-cerulean" style="--width: 420px;">
      



<div
  style="
  --mt: 0px;
  --mb: 0px;
  --mt-m: 0px;
  --mb-m: 0px;
"
  class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] "
  data-animate 
>
  
    <a href="/collections/in-stock-canvases-1" class="w-fit button  button--white-outline  ">
      Shop Canvases&nbsp;<svg class="inline mr-10 align-middle mb-[3px]" width="7" height="11" viewBox="0 0 7 11" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path fill-rule="evenodd" clip-rule="evenodd" d="M1.43027 0.430176L0.5 1.36044L4.63946 5.49991L0.5 9.63937L1.43027 10.5696L6.5 5.49991L1.43027 0.430176Z" fill="currentColor"/>
        </svg></a>
  
</div>


    </div>
  </div>
</div>



<div class="relative grid-item" data-animate >
  <a href="/collections/kits" aria-label="Shop  Kits" class="block relative aspect-square">
    




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=1300" alt="Shop  Kits - " srcset="//needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=150 150w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=200 200w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=240 240w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=280 280w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=300 300w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=360 360w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=400 400w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=450 450w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=500 500w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=550 550w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=600 600w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=650 650w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=700 700w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=750 750w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=800 800w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=850 850w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=900 900w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=950 950w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/mnbvc.jpg?v=1780328068&amp;width=1300 1300w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 size-full inset object-cover" fetchpriority="low" sizes="(min-width: 767px) calc(50vw - 80px), calc(100vw - 40px)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



    
      <div class="inset bg-slate/20"></div>
    

    <span class="visually-hidden">Shop  Kits</span>

    
  </a>

  <div class="inset px-30 py-40  flex justify-center items-center text-center text-text">
    <div class="max-w-custom w-full flex flex-col gap-5 relative  no-animation [&_[class*='text-sh']]:text-cerulean" style="--width: 420px;">
      



<div
  style="
  --mt: 0px;
  --mb: 0px;
  --mt-m: 0px;
  --mb-m: 0px;
"
  class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] "
  data-animate 
>
  
    <a href="/collections/kits" class="w-fit button  button--white-outline  ">
      Shop  Kits&nbsp;<svg class="inline mr-10 align-middle mb-[3px]" width="7" height="11" viewBox="0 0 7 11" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path fill-rule="evenodd" clip-rule="evenodd" d="M1.43027 0.430176L0.5 1.36044L4.63946 5.49991L0.5 9.63937L1.43027 10.5696L6.5 5.49991L1.43027 0.430176Z" fill="currentColor"/>
        </svg></a>
  
</div>


    </div>
  </div>
</div>



<div class="relative grid-item" data-animate >
  <a href="/collections/needlepoint-accessories" aria-label="View details" class="block relative aspect-square">
    




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=3080" alt=" - " srcset="//needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=150 150w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=200 200w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=240 240w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=280 280w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=300 300w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=360 360w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=400 400w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=450 450w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=500 500w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=550 550w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=600 600w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=650 650w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=700 700w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=750 750w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=800 800w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=850 850w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=900 900w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=950 950w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/Accessories_4.jpg?v=1780580451&amp;width=1400 1400w" width="3080" height="3000" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 size-full inset object-cover" fetchpriority="low" sizes="(min-width: 767px) calc(50vw - 80px), calc(100vw - 40px)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



    
      <div class="inset bg-slate/20"></div>
    

    <span class="visually-hidden">View details</span>

    
  </a>

  <div class="inset px-30 py-40  flex justify-center items-center text-center text-text">
    <div class="max-w-custom w-full flex flex-col gap-5 relative  no-animation [&_[class*='text-sh']]:text-cerulean" style="--width: 420px;">
      



<div
  style="
  --mt: 0px;
  --mb: 0px;
  --mt-m: 0px;
  --mb-m: 0px;
"
  class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] "
  data-animate 
>
  
    <a href="/collections/needlepoint-accessories" class="w-fit button  button--white-outline  ">
      Shop Accessories&nbsp;<svg class="inline mr-10 align-middle mb-[3px]" width="7" height="11" viewBox="0 0 7 11" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path fill-rule="evenodd" clip-rule="evenodd" d="M1.43027 0.430176L0.5 1.36044L4.63946 5.49991L0.5 9.63937L1.43027 10.5696L6.5 5.49991L1.43027 0.430176Z" fill="currentColor"/>
        </svg></a>
  
</div>


    </div>
  </div>
</div>


    </div>
  </div>
</div>

<style>
  
    @media screen and (min-width: 769px) {
      #shopify-section-template--26162629541931__grid_q6EbY7 .grid-item:last-of-type:nth-of-type(odd){
        grid-column: span 2;
      }
      #shopify-section-template--26162629541931__grid_q6EbY7 .grid-item:last-of-type:nth-of-type(odd) > a.aspect-square {
        aspect-ratio: 3/1;
      }

      #shopify-section-template--26162629541931__grid_q6EbY7 .grid-item:last-of-type:nth-of-type(odd) > a.aspect-tall {
        aspect-ratio: 3/2;
      }
    }
  
</style>


</div><div id="shopify-section-template--26162629541931__collection_slider_GJHAj6" class="shopify-section"><collection-slider data-desktop-columns="4" data-mobile-columns="1.5">
  <div class="my-60 md:my-80">
    <div class="block overflow-hidden">
      <div class="page-width">
        <div >

          <div class="">
            
              <h2 class="mb-10 text-m-h2  text-center  md:text-h2" data-animate>discover our best sellers</h2>
            

            
              <p class="mb-10 text-m-body-1 md:text-body-1 max-w-[400px]  text-center mx-auto" data-animate>These needlepoint kits, canvases, and more are at the top of our stitchers' shopping lists.</p>
            
          </div>
          
          
            <div class="mb-30 md:flex md:justify-between md:mb-40 md:gap-40 mt-40" data-animate>
              
                <div class="-mx-20 px-20 overflow-x-auto no-scrollbar md:my-0 md:mx-auto md:p-[2px]">
                  <div class="w-fit mx-auto flex items-start gap-40">
                    
                      <button class="collection-slider-tab group/button relative text-cta uppercase whitespace-nowrap active  opacity-70 [&.active]:opacity-100 [&.active]:font-semibold" data-id="collection-template--26162629541931__collection_slider_GJHAj6-1" >
                        Best Sellers
                      </button>
                    
                      <button class="collection-slider-tab group/button relative text-cta uppercase whitespace-nowrap  opacity-70 [&.active]:opacity-100 [&.active]:font-semibold" data-id="collection-template--26162629541931__collection_slider_GJHAj6-2" >
                        Kits
                      </button>
                    
                      <button class="collection-slider-tab group/button relative text-cta uppercase whitespace-nowrap  opacity-70 [&.active]:opacity-100 [&.active]:font-semibold" data-id="collection-template--26162629541931__collection_slider_GJHAj6-3" >
                        Canvases
                      </button>
                    
                      <button class="collection-slider-tab group/button relative text-cta uppercase whitespace-nowrap  opacity-70 [&.active]:opacity-100 [&.active]:font-semibold" data-id="collection-template--26162629541931__collection_slider_GJHAj6-4" >
                        Online classes
                      </button>
                    
                    
                      <a href="/collections/in-stock-products" class="group/text-link py-10 inline-block text-m-sh4 md:text-cta uppercase relative !pt-0 text-cerulean">
  Shop All
  
    <div class="absolute left-0 right-0 bottom-0 border-b-1 border-current transition-position group-hover/text-link:bottom-5"></div>
  
</a>
                    
                  </div>
                </div>
              
            </div>
          

          
        </div>
        
        <div class="collection-slider-container">
          
            
            <div class="collection-slider-wrapper group-wrapper " data-id="collection-template--26162629541931__collection_slider_GJHAj6-1" >
              <div class="relative">
                
                  <div class="collection-slider swiper collection-slider-template--26162629541931__collection_slider_GJHAj6 group/slider overflow-visible md:overflow-hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-1">
                    <div class="swiper-wrapper group-[:not(.swiper-initialized)]/slider:overflow-hidden">
                      
                        
                        
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/letter-insert" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=3727" alt="Letter Insert - 1" srcset="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=150 150w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=200 200w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=240 240w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=280 280w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=300 300w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=360 360w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=400 400w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=450 450w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=500 500w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=550 550w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=600 600w" width="3727" height="3727" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=700" alt="Letter Insert - 2" srcset="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=150 150w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=200 200w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=240 240w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=280 280w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=300 300w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=360 360w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=400 400w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=450 450w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=500 500w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=550 550w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=600 600w" width="700" height="1007" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7267916087339" data-swaction="addToWishlist" data-product-id="7267916087339" data-variant-id="41165559726123" data-product-url="https://needlepoint.com/products/letter-insert">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/letter-insert"
            data-id="41165559726123"
            aria-label="Letter Insert Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/letter-insert" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Letter Insert</a>
    

<p data-id="price--7267916087339" id="price--7267916087339" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$35.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1308wsg-kirk-and-bradley-charleston-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=2535" alt="Travel Round - Charleston with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=600 600w" width="2535" height="2535" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=1300" alt="Travel Round - Charleston with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194462380075" data-swaction="addToWishlist" data-product-id="1194462380075" data-variant-id="32975720644651" data-product-url="https://needlepoint.com/products/kb1308wsg-kirk-and-bradley-charleston-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1308wsg-kirk-and-bradley-charleston-travel-round"
            data-id="32975720644651"
            aria-label="Travel Round - Charleston with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1308wsg-kirk-and-bradley-charleston-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Charleston with Stitch Guide</a>
    

<p data-id="price--1194462380075" id="price--1194462380075" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/travel-round-italy-with-stitch-guide-kb1503wsg" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=3024" alt="Travel Round - Italy with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=600 600w" width="3024" height="3024" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=1300" alt="Travel Round - Italy with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_4399500197931" data-swaction="addToWishlist" data-product-id="4399500197931" data-variant-id="32975716089899" data-product-url="https://needlepoint.com/products/travel-round-italy-with-stitch-guide-kb1503wsg">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/travel-round-italy-with-stitch-guide-kb1503wsg"
            data-id="32975716089899"
            aria-label="Travel Round - Italy with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/travel-round-italy-with-stitch-guide-kb1503wsg" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Italy with Stitch Guide</a>
    

<p data-id="price--4399500197931" id="price--4399500197931" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1319wsg-kirk-and-bradley-ireland-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=2227" alt="Travel Round - Ireland with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=600 600w" width="2227" height="2227" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=1300" alt="Travel Round - Ireland with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194475028523" data-swaction="addToWishlist" data-product-id="1194475028523" data-variant-id="32975720480811" data-product-url="https://needlepoint.com/products/kb1319wsg-kirk-and-bradley-ireland-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1319wsg-kirk-and-bradley-ireland-travel-round"
            data-id="32975720480811"
            aria-label="Travel Round - Ireland with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1319wsg-kirk-and-bradley-ireland-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Ireland with Stitch Guide</a>
    

<p data-id="price--1194475028523" id="price--1194475028523" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kirk-and-bradley-nativity-ornament-kit-online-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=1300" alt="Nativity Ornament Kit &amp; Online Class - 1" srcset="//needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=150 150w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=200 200w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=240 240w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=280 280w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=300 300w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=360 360w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=400 400w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=450 450w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=500 500w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=550 550w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=500" alt="Nativity Ornament Kit &amp; Online Class - 2" srcset="//needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=150 150w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=200 200w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=240 240w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=280 280w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=300 300w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=360 360w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=400 400w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=450 450w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1871983149099" data-swaction="addToWishlist" data-product-id="1871983149099" data-variant-id="17236775567403" data-product-url="https://needlepoint.com/products/kirk-and-bradley-nativity-ornament-kit-online-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kirk-and-bradley-nativity-ornament-kit-online-class"
            data-id="17236775567403"
            aria-label="Nativity Ornament Kit & Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 4">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kirk-and-bradley-nativity-ornament-kit-online-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Nativity Ornament Kit & Online Class</a>
    

<p data-id="price--1871983149099" id="price--1871983149099" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$155.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 4">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1329wsg" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/sporting-round-augusta-with-stitch-guide-painted-canvas-needlepointcom-804759.jpg?v=1745859384&amp;width=457" alt="Sporting Round - Augusta with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/sporting-round-augusta-with-stitch-guide-painted-canvas-needlepointcom-804759.jpg?v=1745859384&amp;width=150 150w, //needlepoint.com/cdn/shop/products/sporting-round-augusta-with-stitch-guide-painted-canvas-needlepointcom-804759.jpg?v=1745859384&amp;width=200 200w, //needlepoint.com/cdn/shop/products/sporting-round-augusta-with-stitch-guide-painted-canvas-needlepointcom-804759.jpg?v=1745859384&amp;width=240 240w, //needlepoint.com/cdn/shop/products/sporting-round-augusta-with-stitch-guide-painted-canvas-needlepointcom-804759.jpg?v=1745859384&amp;width=280 280w, //needlepoint.com/cdn/shop/products/sporting-round-augusta-with-stitch-guide-painted-canvas-needlepointcom-804759.jpg?v=1745859384&amp;width=300 300w, //needlepoint.com/cdn/shop/products/sporting-round-augusta-with-stitch-guide-painted-canvas-needlepointcom-804759.jpg?v=1745859384&amp;width=360 360w, //needlepoint.com/cdn/shop/products/sporting-round-augusta-with-stitch-guide-painted-canvas-needlepointcom-804759.jpg?v=1745859384&amp;width=400 400w, //needlepoint.com/cdn/shop/products/sporting-round-augusta-with-stitch-guide-painted-canvas-needlepointcom-804759.jpg?v=1745859384&amp;width=450 450w" width="457" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194609639467" data-swaction="addToWishlist" data-product-id="1194609639467" data-variant-id="32975720153131" data-product-url="https://needlepoint.com/products/kb1329wsg">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1329wsg"
            data-id="32975720153131"
            aria-label="Sporting Round - Augusta with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1329wsg" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Sporting Round - Augusta with Stitch Guide</a>
    

<p data-id="price--1194609639467" id="price--1194609639467" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/a-new-york-holiday-rockefeller-center-1" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=700" alt="A New York Holiday - Rockefeller Center - 1" srcset="//needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=150 150w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=200 200w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=240 240w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=280 280w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=300 300w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=360 360w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=400 400w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=450 450w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=500 500w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=550 550w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7214091665451" data-swaction="addToWishlist" data-product-id="7214091665451" data-variant-id="41041598054443" data-product-url="https://needlepoint.com/products/a-new-york-holiday-rockefeller-center-1">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/a-new-york-holiday-rockefeller-center-1"
            data-id="41041598054443"
            aria-label="A New York Holiday - Rockefeller Center Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/a-new-york-holiday-rockefeller-center-1" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">A New York Holiday - Rockefeller Center</a>
    

<p data-id="price--7214091665451" id="price--7214091665451" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$58.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1257wsg-kirk-and-bradley-rome-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=1714" alt="Travel Round - Rome with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=600 600w" width="1714" height="1713" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194297753643" data-swaction="addToWishlist" data-product-id="1194297753643" data-variant-id="32975723692075" data-product-url="https://needlepoint.com/products/kb1257wsg-kirk-and-bradley-rome-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1257wsg-kirk-and-bradley-rome-travel-round"
            data-id="32975723692075"
            aria-label="Travel Round - Rome with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1257wsg-kirk-and-bradley-rome-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Rome with Stitch Guide</a>
    

<p data-id="price--1194297753643" id="price--1194297753643" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/palm-beach-chaise" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=600" alt="Palm Beach Chaise Canvas with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=150 150w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=200 200w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=240 240w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=280 280w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=300 300w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=360 360w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=400 400w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=450 450w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=500 500w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=550 550w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=600" alt="Palm Beach Chaise Canvas with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=150 150w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=200 200w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=240 240w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=280 280w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=300 300w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=360 360w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=400 400w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=450 450w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=500 500w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=550 550w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6913792671787" data-swaction="addToWishlist" data-product-id="6913792671787" data-variant-id="40270280556587" data-product-url="https://needlepoint.com/products/palm-beach-chaise">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/palm-beach-chaise"
            data-id="40270280556587"
            aria-label="Palm Beach Chaise Canvas with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/palm-beach-chaise" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Palm Beach Chaise Canvas with Stitch Guide</a>
    

<p data-id="price--6913792671787" id="price--6913792671787" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1353wsg-kirk-and-bradley-north-carolina-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=700" alt="Travel Round - North Carolina with Stitch Guide &amp; Online Class - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-north-carolina-with-stitch-guide-online-class-painted-canvas-kirk-bradley-508954.jpg?v=1758906961&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194669604907" data-swaction="addToWishlist" data-product-id="1194669604907" data-variant-id="32975719694379" data-product-url="https://needlepoint.com/products/kb1353wsg-kirk-and-bradley-north-carolina-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1353wsg-kirk-and-bradley-north-carolina-travel-round"
            data-id="32975719694379"
            aria-label="Travel Round - North Carolina with Stitch Guide & Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1353wsg-kirk-and-bradley-north-carolina-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - North Carolina with Stitch Guide & Online Class</a>
    

<p data-id="price--1194669604907" id="price--1194669604907" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/travel-round-iceland-kb1476wsg" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=3771" alt="Travel Round - Iceland with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-painted-canvas-kirk-bradley-610469.jpg?v=1757098306&amp;width=600 600w" width="3771" height="3771" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=1300" alt="Travel Round - Iceland with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-iceland-with-stitch-guide-printed-canvas-kirk-bradley-712281.jpg?v=1774922740&amp;width=600 600w" width="1300" height="1299" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1871371534379" data-swaction="addToWishlist" data-product-id="1871371534379" data-variant-id="32975717138475" data-product-url="https://needlepoint.com/products/travel-round-iceland-kb1476wsg">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/travel-round-iceland-kb1476wsg"
            data-id="32975717138475"
            aria-label="Travel Round - Iceland with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/travel-round-iceland-kb1476wsg" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Iceland with Stitch Guide</a>
    

<p data-id="price--1871371534379" id="price--1871371534379" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1360wsg-kirk-and-bradley-florence-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=500" alt="Travel Round - Florence with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=150 150w, //needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=200 200w, //needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=240 240w, //needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=280 280w, //needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=300 300w, //needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=360 360w, //needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=400 400w, //needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=450 450w, //needlepoint.com/cdn/shop/products/travel-round-florence-with-stitch-guide-painted-canvas-needlepointcom-651492.jpg?v=1745858921&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1464695717931" data-swaction="addToWishlist" data-product-id="1464695717931" data-variant-id="32975718219819" data-product-url="https://needlepoint.com/products/kb1360wsg-kirk-and-bradley-florence-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1360wsg-kirk-and-bradley-florence-travel-round"
            data-id="32975718219819"
            aria-label="Travel Round - Florence with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1360wsg-kirk-and-bradley-florence-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Florence with Stitch Guide</a>
    

<p data-id="price--1464695717931" id="price--1464695717931" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/london-store-fronts-fortnum-and-mason" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=3564" alt="London Store Fronts - Fortnum and Mason with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=600 600w" width="3564" height="3564" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=4000" alt="London Store Fronts - Fortnum and Mason with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=600 600w" width="4000" height="4001" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7252300333099" data-swaction="addToWishlist" data-product-id="7252300333099" data-variant-id="41124207427627" data-product-url="https://needlepoint.com/products/london-store-fronts-fortnum-and-mason">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/london-store-fronts-fortnum-and-mason"
            data-id="41124207427627"
            aria-label="London Store Fronts - Fortnum and Mason with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/london-store-fronts-fortnum-and-mason" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">London Store Fronts - Fortnum and Mason with Stitch Guide</a>
    

<p data-id="price--7252300333099" id="price--7252300333099" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/london-store-fronts-liberty" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=3285" alt="London Store Fronts- Liberty with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=600 600w" width="3285" height="3285" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=4000" alt="London Store Fronts- Liberty with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=600 600w" width="4000" height="4000" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7252305379371" data-swaction="addToWishlist" data-product-id="7252305379371" data-variant-id="41124212637739" data-product-url="https://needlepoint.com/products/london-store-fronts-liberty">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/london-store-fronts-liberty"
            data-id="41124212637739"
            aria-label="London Store Fronts- Liberty with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/london-store-fronts-liberty" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">London Store Fronts- Liberty with Stitch Guide</a>
    

<p data-id="price--7252305379371" id="price--7252305379371" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/charleston-bag-charm-insert" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=700" alt="Charleston Bag Charm Insert - 1" srcset="//needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=150 150w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=200 200w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=240 240w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=280 280w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=300 300w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=360 360w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=400 400w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=450 450w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=500 500w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=550 550w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=600 600w" width="700" height="699" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=700" alt="Charleston Bag Charm Insert - 2" srcset="//needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=150 150w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=200 200w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=240 240w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=280 280w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=300 300w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=360 360w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=400 400w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=450 450w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=500 500w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=550 550w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7240741879851" data-swaction="addToWishlist" data-product-id="7240741879851" data-variant-id="41100220891179" data-product-url="https://needlepoint.com/products/charleston-bag-charm-insert">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #eff9f7; color: #225f64">Exclusive</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/charleston-bag-charm-insert"
            data-id="41100220891179"
            aria-label="Charleston Bag Charm Insert Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/charleston-bag-charm-insert" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Charleston Bag Charm Insert</a>
    

<p data-id="price--7240741879851" id="price--7240741879851" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$48.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1406wsg-kirk-and-bradley-switzerland-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=500" alt="Travel Round - Switzerland with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=150 150w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=200 200w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=240 240w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=280 280w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=300 300w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=360 360w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=400 400w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=450 450w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=1300" alt="Travel Round - Switzerland with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1497844711467" data-swaction="addToWishlist" data-product-id="1497844711467" data-variant-id="32975718055979" data-product-url="https://needlepoint.com/products/kb1406wsg-kirk-and-bradley-switzerland-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1406wsg-kirk-and-bradley-switzerland-travel-round"
            data-id="32975718055979"
            aria-label="Travel Round - Switzerland with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1406wsg-kirk-and-bradley-switzerland-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Switzerland with Stitch Guide</a>
    

<p data-id="price--1497844711467" id="price--1497844711467" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb6140-kirk-and-bradley-explore-america-great-smoky-mountains" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=500" alt="Explore America - Great Smoky Mountains with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=150 150w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=200 200w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=240 240w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=280 280w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=300 300w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=360 360w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=400 400w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=450 450w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-307445.jpg?v=1745859031&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-480525.jpg?v=1745859031&amp;width=400" alt="Explore America - Great Smoky Mountains with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-480525.jpg?v=1745859031&amp;width=150 150w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-480525.jpg?v=1745859031&amp;width=200 200w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-480525.jpg?v=1745859031&amp;width=240 240w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-480525.jpg?v=1745859031&amp;width=280 280w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-480525.jpg?v=1745859031&amp;width=300 300w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-480525.jpg?v=1745859031&amp;width=360 360w, //needlepoint.com/cdn/shop/products/explore-america-great-smoky-mountains-with-stitch-guide-painted-canvas-burnett-bradley-480525.jpg?v=1745859031&amp;width=400 400w" width="400" height="400" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1390679228459" data-swaction="addToWishlist" data-product-id="1390679228459" data-variant-id="32975724052523" data-product-url="https://needlepoint.com/products/kb6140-kirk-and-bradley-explore-america-great-smoky-mountains">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb6140-kirk-and-bradley-explore-america-great-smoky-mountains"
            data-id="32975724052523"
            aria-label="Explore America - Great Smoky Mountains with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb6140-kirk-and-bradley-explore-america-great-smoky-mountains" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Explore America - Great Smoky Mountains with Stitch Guide</a>
    

<p data-id="price--1390679228459" id="price--1390679228459" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/a-new-york-holiday-radio-city-rockettes-1" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=700" alt="A New York Holiday - Radio City Rockettes - 1" srcset="//needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=150 150w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=200 200w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=240 240w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=280 280w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=300 300w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=360 360w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=400 400w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=450 450w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=500 500w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=550 550w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7214090354731" data-swaction="addToWishlist" data-product-id="7214090354731" data-variant-id="41041579016235" data-product-url="https://needlepoint.com/products/a-new-york-holiday-radio-city-rockettes-1">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/a-new-york-holiday-radio-city-rockettes-1"
            data-id="41041579016235"
            aria-label="A New York Holiday - Radio City Rockettes Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/a-new-york-holiday-radio-city-rockettes-1" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">A New York Holiday - Radio City Rockettes</a>
    

<p data-id="price--7214090354731" id="price--7214090354731" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$58.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb6139-kirk-and-bradley-explore-america-grand-canyon" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=500" alt="Explore America - Grand Canyon with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=150 150w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=200 200w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=240 240w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=280 280w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=300 300w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=360 360w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=400 400w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=450 450w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-832672.jpg?v=1745859030&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-884042.jpg?v=1745859030&amp;width=400" alt="Explore America - Grand Canyon with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-884042.jpg?v=1745859030&amp;width=150 150w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-884042.jpg?v=1745859030&amp;width=200 200w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-884042.jpg?v=1745859030&amp;width=240 240w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-884042.jpg?v=1745859030&amp;width=280 280w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-884042.jpg?v=1745859030&amp;width=300 300w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-884042.jpg?v=1745859030&amp;width=360 360w, //needlepoint.com/cdn/shop/products/explore-america-grand-canyon-with-stitch-guide-painted-canvas-burnett-bradley-884042.jpg?v=1745859030&amp;width=400 400w" width="400" height="400" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1390679916587" data-swaction="addToWishlist" data-product-id="1390679916587" data-variant-id="32975724118059" data-product-url="https://needlepoint.com/products/kb6139-kirk-and-bradley-explore-america-grand-canyon">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb6139-kirk-and-bradley-explore-america-grand-canyon"
            data-id="32975724118059"
            aria-label="Explore America - Grand Canyon with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb6139-kirk-and-bradley-explore-america-grand-canyon" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Explore America - Grand Canyon with Stitch Guide</a>
    

<p data-id="price--1390679916587" id="price--1390679916587" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1262wsg-kirk-and-bradley-chicago-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=1932" alt="Travel Round - Chicago with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-chicago-with-stitch-guide-painted-canvas-kirk-bradley-298631.jpg?v=1757098237&amp;width=600 600w" width="1932" height="1932" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194380656683" data-swaction="addToWishlist" data-product-id="1194380656683" data-variant-id="32975723364395" data-product-url="https://needlepoint.com/products/kb1262wsg-kirk-and-bradley-chicago-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1262wsg-kirk-and-bradley-chicago-travel-round"
            data-id="32975723364395"
            aria-label="Travel Round - Chicago with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1262wsg-kirk-and-bradley-chicago-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Chicago with Stitch Guide</a>
    

<p data-id="price--1194380656683" id="price--1194380656683" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                      
                    </div>
                  </div>

                  <div data-id="collection-template--26162629541931__collection_slider_GJHAj6-1" class="swiper-pagination-wrap block md:hidden">
                      <div class="swiper-pagination relative mt-[35px]"></div>
                  </div>
                  <div class="max-md:hidden absolute z-[1] top-half -translate-y-half left-0 w-[calc(100%_+_44px)] ml-[-22px] swiper-buttons flex flex-row justify-between items-center gap-30" data-id="collection-template--26162629541931__collection_slider_GJHAj6-1" >
                    <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
                      <span class="visually-hidden">Previous slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.8523" r="22.5" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M23.0697 17.3523L24 18.2826L19.8605 22.422L24 26.5615L23.0697 27.4918L18 22.422L23.0697 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                    <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
                      <span class="visually-hidden">Next slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.5" r="22.5" transform="matrix(-1 0 0 1 45 0.352295)" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M21.9303 17.3523L21 18.2826L25.1395 22.422L21 26.5615L21.9303 27.4918L27 22.422L21.9303 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                  </div>
                
              </div>

              
                <a href="/collections/best-of-the-best-from-our-brands" class="button mt-40 mx-auto block justify-self-center">Shop All Best Sellers</a>
              
            </div>
          
            
            <div class="collection-slider-wrapper group-wrapper  hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-2" >
              <div class="relative">
                
                  <div class="collection-slider swiper collection-slider-template--26162629541931__collection_slider_GJHAj6 group/slider overflow-visible md:overflow-hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-2">
                    <div class="swiper-wrapper group-[:not(.swiper-initialized)]/slider:overflow-hidden">
                      
                        
                        
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/letter-insert" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=3727" alt="Letter Insert - 1" srcset="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=150 150w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=200 200w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=240 240w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=280 280w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=300 300w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=360 360w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=400 400w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=450 450w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=500 500w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=550 550w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=600 600w" width="3727" height="3727" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=700" alt="Letter Insert - 2" srcset="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=150 150w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=200 200w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=240 240w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=280 280w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=300 300w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=360 360w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=400 400w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=450 450w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=500 500w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=550 550w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=600 600w" width="700" height="1007" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7267916087339" data-swaction="addToWishlist" data-product-id="7267916087339" data-variant-id="41165559726123" data-product-url="https://needlepoint.com/products/letter-insert">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/letter-insert"
            data-id="41165559726123"
            aria-label="Letter Insert Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/letter-insert" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Letter Insert</a>
    

<p data-id="price--7267916087339" id="price--7267916087339" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$35.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/anne-fisher-medallion-eyeglass-case" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=600" alt="Medallion Eyeglass Case Kit - 1" srcset="//needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=150 150w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=200 200w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=240 240w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=280 280w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=300 300w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=360 360w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=400 400w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=450 450w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=500 500w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=550 550w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-green-747786.jpg?v=1733944804&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=600" alt="Medallion Eyeglass Case Kit - 2" srcset="//needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=150 150w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=200 200w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=240 240w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=280 280w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=300 300w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=360 360w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=400 400w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=450 450w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=500 500w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=550 550w, //needlepoint.com/cdn/shop/products/medallion-eyeglass-case-kit-kits-anne-fisher-needlepoint-llc-orange-439953.jpg?v=1733944804&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_4812114001963" data-swaction="addToWishlist" data-product-id="4812114001963" data-variant-id="32894715232299" data-product-url="https://needlepoint.com/products/anne-fisher-medallion-eyeglass-case">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/anne-fisher-medallion-eyeglass-case"
            data-id="32894715232299"
            aria-label="Medallion Eyeglass Case Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/anne-fisher-needlepoint-llc" aria-label=" - Anne Fisher Needlepoint LLC" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Anne Fisher Needlepoint LLC</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/anne-fisher-medallion-eyeglass-case" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Medallion Eyeglass Case Kit</a>
    

<p data-id="price--4812114001963" id="price--4812114001963" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$70.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/elf-hat-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=600" alt="Elf Hat Kit - 1" srcset="//needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=150 150w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=200 200w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=240 240w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=280 280w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=300 300w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=360 360w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=400 400w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=450 450w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=500 500w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=550 550w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-red-569588.jpg?v=1636387825&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=600" alt="Elf Hat Kit - 2" srcset="//needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=150 150w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=200 200w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=240 240w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=280 280w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=300 300w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=360 360w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=400 400w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=450 450w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=500 500w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=550 550w, //needlepoint.com/cdn/shop/products/elf-hat-kit-kits-pepperberry-designs-909130.jpg?v=1636387820&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6647988551723" data-swaction="addToWishlist" data-product-id="6647988551723" data-variant-id="39574584066091" data-product-url="https://needlepoint.com/products/elf-hat-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/elf-hat-kit"
            data-id="39574584066091"
            aria-label="Elf Hat Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/pepperberry-designs" aria-label=" - Pepperberry Designs" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Pepperberry Designs</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/elf-hat-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Elf Hat Kit</a>
    

<p data-id="price--6647988551723" id="price--6647988551723" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$60.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/monogram-wreath-with-bow-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=700" alt="Monogram Wreath with Bow Kit - 1" srcset="//needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=150 150w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=200 200w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=240 240w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=280 280w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=300 300w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=360 360w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=400 400w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=450 450w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=500 500w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=550 550w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-317440.jpg?v=1689212183&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=700" alt="Monogram Wreath with Bow Kit - 2" srcset="//needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=150 150w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=200 200w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=240 240w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=280 280w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=300 300w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=360 360w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=400 400w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=450 450w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=500 500w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=550 550w, //needlepoint.com/cdn/shop/products/monogram-wreath-with-bow-kit-kits-kcn-designers-476015.jpg?v=1689212127&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7128583864363" data-swaction="addToWishlist" data-product-id="7128583864363" data-variant-id="40831820464171" data-product-url="https://needlepoint.com/products/monogram-wreath-with-bow-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/monogram-wreath-with-bow-kit"
            data-id="40831820464171"
            aria-label="Monogram Wreath with Bow Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kcn-designers" aria-label=" - KCN Designers" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">KCN Designers</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/monogram-wreath-with-bow-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Monogram Wreath with Bow Kit</a>
    

<p data-id="price--7128583864363" id="price--7128583864363" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$85.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/anne-fisher-christmas-sled-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=500" alt="Christmas Sled Kit - 1" srcset="//needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=150 150w, //needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=200 200w, //needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=240 240w, //needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=280 280w, //needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=300 300w, //needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=360 360w, //needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=400 400w, //needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=450 450w, //needlepoint.com/cdn/shop/products/christmas-sled-kit-kits-needlepointcom-297311.jpg?v=1574019875&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_4327595671595" data-swaction="addToWishlist" data-product-id="4327595671595" data-variant-id="31085615120427" data-product-url="https://needlepoint.com/products/anne-fisher-christmas-sled-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/anne-fisher-christmas-sled-kit"
            data-id="31085615120427"
            aria-label="Christmas Sled Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/anne-fisher-needlepoint-llc" aria-label=" - Anne Fisher Needlepoint LLC" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Anne Fisher Needlepoint LLC</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/anne-fisher-christmas-sled-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Christmas Sled Kit</a>
    

<p data-id="price--4327595671595" id="price--4327595671595" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$85.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/hydrangea-mini-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=600" alt="Hydrangea Mini Kit - 1" srcset="//needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=150 150w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=200 200w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=240 240w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=280 280w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=300 300w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=360 360w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=400 400w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=450 450w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=500 500w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=550 550w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=1080" alt="Hydrangea Mini Kit - 2" srcset="//needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=150 150w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=200 200w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=240 240w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=280 280w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=300 300w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=360 360w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=400 400w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=450 450w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=500 500w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=550 550w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=600 600w" width="1080" height="1080" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6846991564843" data-swaction="addToWishlist" data-product-id="6846991564843" data-variant-id="40070915719211" data-product-url="https://needlepoint.com/products/hydrangea-mini-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/hydrangea-mini-kit"
            data-id="40070915719211"
            aria-label="Hydrangea Mini Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
    </div>
    <a href="/products/hydrangea-mini-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Hydrangea Mini Kit</a>
    

<p data-id="price--6846991564843" id="price--6846991564843" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kirk-and-bradley-nativity-ornament-kit-online-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=1300" alt="Nativity Ornament Kit &amp; Online Class - 1" srcset="//needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=150 150w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=200 200w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=240 240w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=280 280w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=300 300w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=360 360w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=400 400w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=450 450w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=500 500w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=550 550w, //needlepoint.com/cdn/shop/files/nativity-ornament-kit-online-class-kits-kirk-bradley-614934.jpg?v=1771352046&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=500" alt="Nativity Ornament Kit &amp; Online Class - 2" srcset="//needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=150 150w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=200 200w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=240 240w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=280 280w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=300 300w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=360 360w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=400 400w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=450 450w, //needlepoint.com/cdn/shop/products/nativity-ornament-kit-online-class-online-classes-kirk-bradley-990378.jpg?v=1771342284&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1871983149099" data-swaction="addToWishlist" data-product-id="1871983149099" data-variant-id="17236775567403" data-product-url="https://needlepoint.com/products/kirk-and-bradley-nativity-ornament-kit-online-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kirk-and-bradley-nativity-ornament-kit-online-class"
            data-id="17236775567403"
            aria-label="Nativity Ornament Kit & Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 4">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kirk-and-bradley-nativity-ornament-kit-online-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Nativity Ornament Kit & Online Class</a>
    

<p data-id="price--1871983149099" id="price--1871983149099" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$155.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 4">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/elizabeth-bradley-sunflower-mini-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=600" alt="Mini Sunflower Needlepoint Kit - 1" srcset="//needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=150 150w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=200 200w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=240 240w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=280 280w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=300 300w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=360 360w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=400 400w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=450 450w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=500 500w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=550 550w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=500" alt="Mini Sunflower Needlepoint Kit - 2" srcset="//needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=150 150w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=200 200w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=240 240w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=280 280w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=300 300w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=360 360w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=400 400w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=450 450w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=500 500w" width="500" height="499" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1366701473835" data-swaction="addToWishlist" data-product-id="1366701473835" data-variant-id="39992090296363" data-product-url="https://needlepoint.com/products/elizabeth-bradley-sunflower-mini-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/elizabeth-bradley-sunflower-mini-kit"
            data-id="39992090296363"
            aria-label="Mini Sunflower Needlepoint Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
    </div>
    <a href="/products/elizabeth-bradley-sunflower-mini-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Mini Sunflower Needlepoint Kit</a>
    

<p data-id="price--1366701473835" id="price--1366701473835" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/iris-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=700" alt="Iris Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=150 150w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=200 200w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=240 240w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=280 280w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=300 300w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=360 360w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=400 400w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=450 450w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=500 500w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=550 550w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=1200" alt="Iris Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=150 150w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=200 200w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=240 240w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=280 280w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=300 300w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=360 360w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=400 400w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=450 450w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=500 500w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=550 550w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=600 600w" width="1200" height="1200" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6620881584171" data-swaction="addToWishlist" data-product-id="6620881584171" data-variant-id="39467948933163" data-product-url="https://needlepoint.com/products/iris-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/iris-starter-kit"
            data-id="39467948933163"
            aria-label="Iris Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/iris-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Iris Starter Kit</a>
    

<p data-id="price--6620881584171" id="price--6620881584171" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/simple-snowman-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=600" alt="Simple Snowman Kit - 1" srcset="//needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=150 150w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=200 200w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=240 240w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=280 280w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=300 300w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=360 360w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=400 400w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=450 450w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=500 500w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=550 550w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-349387.jpg?v=1642208337&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=600" alt="Simple Snowman Kit - 2" srcset="//needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=150 150w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=200 200w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=240 240w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=280 280w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=300 300w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=360 360w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=400 400w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=450 450w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=500 500w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=550 550w, //needlepoint.com/cdn/shop/products/simple-snowman-kit-kits-pepperberry-designs-158230.jpg?v=1642208342&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6745200230443" data-swaction="addToWishlist" data-product-id="6745200230443" data-variant-id="39800520310827" data-product-url="https://needlepoint.com/products/simple-snowman-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/simple-snowman-kit"
            data-id="39800520310827"
            aria-label="Simple Snowman Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/pepperberry-designs" aria-label=" - Pepperberry Designs" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Pepperberry Designs</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/simple-snowman-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Simple Snowman Kit</a>
    

<p data-id="price--6745200230443" id="price--6745200230443" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$70.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/poppy-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=700" alt="Poppy Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=150 150w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=200 200w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=240 240w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=280 280w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=300 300w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=360 360w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=400 400w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=450 450w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=500 500w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=550 550w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=1200" alt="Poppy Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=150 150w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=200 200w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=240 240w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=280 280w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=300 300w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=360 360w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=400 400w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=450 450w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=500 500w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=550 550w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=600 600w" width="1200" height="1200" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6620882534443" data-swaction="addToWishlist" data-product-id="6620882534443" data-variant-id="39467950702635" data-product-url="https://needlepoint.com/products/poppy-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/poppy-starter-kit"
            data-id="39467950702635"
            aria-label="Poppy Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/poppy-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Poppy Starter Kit</a>
    

<p data-id="price--6620882534443" id="price--6620882534443" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/openwork-backgrounds-needlepoint-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=2688" alt="Openwork Backgrounds Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=150 150w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=200 200w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=240 240w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=280 280w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=300 300w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=360 360w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=400 400w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=450 450w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=500 500w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=550 550w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=600 600w" width="2688" height="2688" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=500" alt="Openwork Backgrounds Online Technique Class - 2" srcset="//needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=150 150w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=200 200w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=240 240w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=280 280w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=300 300w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=360 360w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=400 400w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=450 450w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1274212876331" data-swaction="addToWishlist" data-product-id="1274212876331" data-variant-id="12201048145963" data-product-url="https://needlepoint.com/products/openwork-backgrounds-needlepoint-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/openwork-backgrounds-needlepoint-class"
            data-id="12201048145963"
            aria-label="Openwork Backgrounds Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/openwork-backgrounds-needlepoint-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Openwork Backgrounds Online Technique Class</a>
    

<p data-id="price--1274212876331" id="price--1274212876331" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/holly-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=700" alt="Holly Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=150 150w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=200 200w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=240 240w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=280 280w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=300 300w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=360 360w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=400 400w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=450 450w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=500 500w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=550 550w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=600" alt="Holly Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=150 150w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=200 200w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=240 240w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=280 280w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=300 300w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=360 360w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=400 400w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=450 450w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=500 500w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=550 550w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6846991466539" data-swaction="addToWishlist" data-product-id="6846991466539" data-variant-id="40070915620907" data-product-url="https://needlepoint.com/products/holly-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/holly-starter-kit"
            data-id="40070915620907"
            aria-label="Holly Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/holly-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Holly Starter Kit</a>
    

<p data-id="price--6846991466539" id="price--6846991466539" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/bluebell-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=700" alt="Bluebell Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=150 150w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=200 200w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=240 240w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=280 280w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=300 300w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=360 360w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=400 400w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=450 450w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=500 500w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=550 550w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=600" alt="Bluebell Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=150 150w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=200 200w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=240 240w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=280 280w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=300 300w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=360 360w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=400 400w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=450 450w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=500 500w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=550 550w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6623739674667" data-swaction="addToWishlist" data-product-id="6623739674667" data-variant-id="39474067374123" data-product-url="https://needlepoint.com/products/bluebell-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/bluebell-starter-kit"
            data-id="39474067374123"
            aria-label="Bluebell Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/bluebell-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Bluebell Starter Kit</a>
    

<p data-id="price--6623739674667" id="price--6623739674667" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/ho3-ornament" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=500" alt="Ho3 Ornament Kit &amp; Online Class - 1" srcset="//needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=150 150w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=200 200w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=240 240w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=280 280w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=300 300w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=360 360w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=400 400w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=450 450w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-305415.jpg?v=1554851644&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-241081.jpg?v=1554892477&amp;width=494" alt="Ho3 Ornament Kit &amp; Online Class - 2" srcset="//needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-241081.jpg?v=1554892477&amp;width=150 150w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-241081.jpg?v=1554892477&amp;width=200 200w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-241081.jpg?v=1554892477&amp;width=240 240w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-241081.jpg?v=1554892477&amp;width=280 280w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-241081.jpg?v=1554892477&amp;width=300 300w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-241081.jpg?v=1554892477&amp;width=360 360w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-241081.jpg?v=1554892477&amp;width=400 400w, //needlepoint.com/cdn/shop/products/ho3-ornament-kit-online-class-online-course-needlepointcom-241081.jpg?v=1554892477&amp;width=450 450w" width="494" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1706579296299" data-swaction="addToWishlist" data-product-id="1706579296299" data-variant-id="15700108116011" data-product-url="https://needlepoint.com/products/ho3-ornament">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/ho3-ornament"
            data-id="15700108116011"
            aria-label="Ho3 Ornament Kit & Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/pepperberry-designs" aria-label=" - Pepperberry Designs" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Pepperberry Designs</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/ho3-ornament" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Ho3 Ornament Kit & Online Class</a>
    

<p data-id="price--1706579296299" id="price--1706579296299" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$70.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/winter-door-ornament-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=719" alt="Winter Door Ornament Kit - 1" srcset="//needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=150 150w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=200 200w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=240 240w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=280 280w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=300 300w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=360 360w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=400 400w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=450 450w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=500 500w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=550 550w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-137292.jpg?v=1744728876&amp;width=600 600w" width="719" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=700" alt="Winter Door Ornament Kit - 2" srcset="//needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=150 150w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=200 200w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=240 240w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=280 280w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=300 300w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=360 360w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=400 400w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=450 450w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=500 500w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=550 550w, //needlepoint.com/cdn/shop/files/winter-door-ornament-kit-kits-alice-peterson-company-851407.jpg?v=1744728866&amp;width=600 600w" width="700" height="671" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_4876862816299" data-swaction="addToWishlist" data-product-id="4876862816299" data-variant-id="33090654928939" data-product-url="https://needlepoint.com/products/winter-door-ornament-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/winter-door-ornament-kit"
            data-id="33090654928939"
            aria-label="Winter Door Ornament Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/alice-peterson-company" aria-label=" - Alice Peterson Company" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Alice Peterson Company</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/winter-door-ornament-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Winter Door Ornament Kit</a>
    

<p data-id="price--4876862816299" id="price--4876862816299" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$95.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/holidays-in-new-york-rockefeller-center-kit-online-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=600" alt="Holidays in New York - Rockefeller Center Kit &amp; Online Class - 1" srcset="//needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=150 150w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=200 200w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=240 240w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=280 280w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=300 300w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=360 360w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=400 400w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=450 450w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=500 500w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=550 550w, //needlepoint.com/cdn/shop/products/holidays-in-new-york-rockefeller-center-kit-online-class-online-classes-kirk-bradley-789088.jpg?v=1620398076&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6569093333035" data-swaction="addToWishlist" data-product-id="6569093333035" data-variant-id="39340429934635" data-product-url="https://needlepoint.com/products/holidays-in-new-york-rockefeller-center-kit-online-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/holidays-in-new-york-rockefeller-center-kit-online-class"
            data-id="39340429934635"
            aria-label="Holidays in New York - Rockefeller Center Kit & Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/holidays-in-new-york-rockefeller-center-kit-online-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Holidays in New York - Rockefeller Center Kit & Online Class</a>
    

<p data-id="price--6569093333035" id="price--6569093333035" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$110.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/palm-beach-christmas-palm-tree-flamingo-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=700" alt="Palm Beach Christmas - Palm Tree &amp; Flamingo Kit - 1" srcset="//needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=150 150w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=200 200w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=240 240w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=280 280w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=300 300w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=360 360w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=400 400w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=450 450w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=500 500w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=550 550w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=700" alt="Palm Beach Christmas - Palm Tree &amp; Flamingo Kit - 2" srcset="//needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=150 150w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=200 200w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=240 240w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=280 280w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=300 300w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=360 360w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=400 400w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=450 450w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=500 500w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=550 550w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6937659670571" data-swaction="addToWishlist" data-product-id="6937659670571" data-variant-id="40349407019051" data-product-url="https://needlepoint.com/products/palm-beach-christmas-palm-tree-flamingo-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/palm-beach-christmas-palm-tree-flamingo-kit"
            data-id="40349407019051"
            aria-label="Palm Beach Christmas - Palm Tree & Flamingo Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/palm-beach-christmas-palm-tree-flamingo-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Palm Beach Christmas - Palm Tree & Flamingo Kit</a>
    

<p data-id="price--6937659670571" id="price--6937659670571" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$95.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/lily-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=3477" alt="Lily Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=150 150w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=200 200w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=240 240w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=280 280w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=300 300w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=360 360w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=400 400w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=450 450w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=500 500w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=550 550w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=600 600w" width="3477" height="3477" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=600" alt="Lily Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=150 150w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=200 200w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=240 240w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=280 280w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=300 300w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=360 360w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=400 400w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=450 450w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=500 500w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=550 550w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6623720177707" data-swaction="addToWishlist" data-product-id="6623720177707" data-variant-id="39474041323563" data-product-url="https://needlepoint.com/products/lily-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/lily-starter-kit"
            data-id="39474041323563"
            aria-label="Lily Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/lily-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Lily Starter Kit</a>
    

<p data-id="price--6623720177707" id="price--6623720177707" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/alice-peterson-birds-with-christmas-gifts-kit-online-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=500" alt="Birds with Christmas Gifts Kit &amp; Online Class - 1" srcset="//needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=150 150w, //needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=200 200w, //needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=240 240w, //needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=280 280w, //needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=300 300w, //needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=360 360w, //needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=400 400w, //needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=450 450w, //needlepoint.com/cdn/shop/products/birds-with-christmas-gifts-kit-online-class-online-classes-alice-peterson-company-374245.jpg?v=1570274660&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1836045828139" data-swaction="addToWishlist" data-product-id="1836045828139" data-variant-id="16775587135531" data-product-url="https://needlepoint.com/products/alice-peterson-birds-with-christmas-gifts-kit-online-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/alice-peterson-birds-with-christmas-gifts-kit-online-class"
            data-id="16775587135531"
            aria-label="Birds with Christmas Gifts Kit & Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/alice-peterson-company" aria-label=" - Alice Peterson Company" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Alice Peterson Company</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/alice-peterson-birds-with-christmas-gifts-kit-online-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Birds with Christmas Gifts Kit & Online Class</a>
    

<p data-id="price--1836045828139" id="price--1836045828139" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$110.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                      
                    </div>
                  </div>

                  <div data-id="collection-template--26162629541931__collection_slider_GJHAj6-2" class="swiper-pagination-wrap block md:hidden">
                      <div class="swiper-pagination relative mt-[35px]"></div>
                  </div>
                  <div class="max-md:hidden absolute z-[1] top-half -translate-y-half left-0 w-[calc(100%_+_44px)] ml-[-22px] swiper-buttons flex flex-row justify-between items-center gap-30 hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-2" >
                    <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
                      <span class="visually-hidden">Previous slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.8523" r="22.5" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M23.0697 17.3523L24 18.2826L19.8605 22.422L24 26.5615L23.0697 27.4918L18 22.422L23.0697 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                    <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
                      <span class="visually-hidden">Next slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.5" r="22.5" transform="matrix(-1 0 0 1 45 0.352295)" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M21.9303 17.3523L21 18.2826L25.1395 22.422L21 26.5615L21.9303 27.4918L27 22.422L21.9303 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                  </div>
                
              </div>

              
                <a href="/collections/kits-bestsellers" class="button mt-40 mx-auto block justify-self-center">Shop All Kits</a>
              
            </div>
          
            
            <div class="collection-slider-wrapper group-wrapper  hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-3" >
              <div class="relative">
                
                  <div class="collection-slider swiper collection-slider-template--26162629541931__collection_slider_GJHAj6 group/slider overflow-visible md:overflow-hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-3">
                    <div class="swiper-wrapper group-[:not(.swiper-initialized)]/slider:overflow-hidden">
                      
                        
                        
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/pre-cut-blank-canvas" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=700" alt="Pre-Cut Blank Canvas - 1" srcset="//needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=150 150w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=200 200w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=240 240w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=280 280w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=300 300w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=360 360w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=400 400w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=450 450w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=500 500w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=550 550w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-585713.jpg?v=1743114595&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=700" alt="Pre-Cut Blank Canvas - 2" srcset="//needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=150 150w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=200 200w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=240 240w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=280 280w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=300 300w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=360 360w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=400 400w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=450 450w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=500 500w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=550 550w, //needlepoint.com/cdn/shop/files/pre-cut-blank-canvas-blank-canvas-needlepointcom-911743.jpg?v=1744898152&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7348281409579" data-swaction="addToWishlist" data-product-id="7348281409579" data-variant-id="41437230202923" data-product-url="https://needlepoint.com/products/pre-cut-blank-canvas">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/pre-cut-blank-canvas"
            data-id="41437230202923"
            aria-label="Pre-Cut Blank Canvas Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
    </div>
    <a href="/products/pre-cut-blank-canvas" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Pre-Cut Blank Canvas</a>
    

<p data-id="price--7348281409579" id="price--7348281409579" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$12.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1259wsg-kirk-and-bradley-london-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=2848" alt="Travel Round - London with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-painted-canvas-kirk-bradley-613890.jpg?v=1757098272&amp;width=600 600w" width="2848" height="2848" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=1300" alt="Travel Round - London with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-london-with-stitch-guide-printed-canvas-kirk-bradley-735056.jpg?v=1774922748&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194360733739" data-swaction="addToWishlist" data-product-id="1194360733739" data-variant-id="32975723561003" data-product-url="https://needlepoint.com/products/kb1259wsg-kirk-and-bradley-london-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1259wsg-kirk-and-bradley-london-travel-round"
            data-id="32975723561003"
            aria-label="Travel Round - London with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1259wsg-kirk-and-bradley-london-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - London with Stitch Guide</a>
    

<p data-id="price--1194360733739" id="price--1194360733739" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1308wsg-kirk-and-bradley-charleston-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=2535" alt="Travel Round - Charleston with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-painted-canvas-kirk-bradley-700200.webp?v=1759166443&amp;width=600 600w" width="2535" height="2535" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=1300" alt="Travel Round - Charleston with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-charleston-with-stitch-guide-printed-canvas-kirk-bradley-188395.jpg?v=1774922753&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194462380075" data-swaction="addToWishlist" data-product-id="1194462380075" data-variant-id="32975720644651" data-product-url="https://needlepoint.com/products/kb1308wsg-kirk-and-bradley-charleston-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1308wsg-kirk-and-bradley-charleston-travel-round"
            data-id="32975720644651"
            aria-label="Travel Round - Charleston with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1308wsg-kirk-and-bradley-charleston-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Charleston with Stitch Guide</a>
    

<p data-id="price--1194462380075" id="price--1194462380075" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/travel-round-italy-with-stitch-guide-kb1503wsg" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=3024" alt="Travel Round - Italy with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-painted-canvas-kirk-bradley-796789.webp?v=1759215500&amp;width=600 600w" width="3024" height="3024" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=1300" alt="Travel Round - Italy with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-italy-with-stitch-guide-printed-canvas-kirk-bradley-814251.jpg?v=1774922718&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_4399500197931" data-swaction="addToWishlist" data-product-id="4399500197931" data-variant-id="32975716089899" data-product-url="https://needlepoint.com/products/travel-round-italy-with-stitch-guide-kb1503wsg">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/travel-round-italy-with-stitch-guide-kb1503wsg"
            data-id="32975716089899"
            aria-label="Travel Round - Italy with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/travel-round-italy-with-stitch-guide-kb1503wsg" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Italy with Stitch Guide</a>
    

<p data-id="price--4399500197931" id="price--4399500197931" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1328wsg-kirk-and-bradley-hawaii-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=2166" alt="Travel Round - Hawaii with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-painted-canvas-kirk-bradley-966289.jpg?v=1757098347&amp;width=600 600w" width="2166" height="2167" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=1300" alt="Travel Round - Hawaii with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-hawaii-with-stitch-guide-printed-canvas-kirk-bradley-259806.jpg?v=1774922727&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194587455531" data-swaction="addToWishlist" data-product-id="1194587455531" data-variant-id="32975720284203" data-product-url="https://needlepoint.com/products/kb1328wsg-kirk-and-bradley-hawaii-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1328wsg-kirk-and-bradley-hawaii-travel-round"
            data-id="32975720284203"
            aria-label="Travel Round - Hawaii with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1328wsg-kirk-and-bradley-hawaii-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Hawaii with Stitch Guide</a>
    

<p data-id="price--1194587455531" id="price--1194587455531" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1258wsg-kirk-and-bradley-paris-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=2090" alt="Travel Round - Paris with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-566912.jpg?v=1757098210&amp;width=600 600w" width="2090" height="2090" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=1300" alt="Travel Round - Paris with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-paris-with-stitch-guide-painted-canvas-kirk-bradley-113936.jpg?v=1774896763&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194351755307" data-swaction="addToWishlist" data-product-id="1194351755307" data-variant-id="32975723626539" data-product-url="https://needlepoint.com/products/kb1258wsg-kirk-and-bradley-paris-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1258wsg-kirk-and-bradley-paris-travel-round"
            data-id="32975723626539"
            aria-label="Travel Round - Paris with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1258wsg-kirk-and-bradley-paris-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Paris with Stitch Guide</a>
    

<p data-id="price--1194351755307" id="price--1194351755307" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1319wsg-kirk-and-bradley-ireland-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=2227" alt="Travel Round - Ireland with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-255379.webp?v=1759215496&amp;width=600 600w" width="2227" height="2227" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=1300" alt="Travel Round - Ireland with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-ireland-with-stitch-guide-painted-canvas-kirk-bradley-528012.jpg?v=1774896767&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194475028523" data-swaction="addToWishlist" data-product-id="1194475028523" data-variant-id="32975720480811" data-product-url="https://needlepoint.com/products/kb1319wsg-kirk-and-bradley-ireland-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1319wsg-kirk-and-bradley-ireland-travel-round"
            data-id="32975720480811"
            aria-label="Travel Round - Ireland with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1319wsg-kirk-and-bradley-ireland-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Ireland with Stitch Guide</a>
    

<p data-id="price--1194475028523" id="price--1194475028523" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/travel-round-france-with-stitch-guide-kb1517wsg" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=3328" alt="Travel Round - France with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-314120.jpg?v=1757098468&amp;width=600 600w" width="3328" height="3329" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=1300" alt="Travel Round - France with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-france-with-stitch-guide-painted-canvas-kirk-bradley-317167.jpg?v=1774896771&amp;width=600 600w" width="1300" height="1299" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_4398523613227" data-swaction="addToWishlist" data-product-id="4398523613227" data-variant-id="32975716220971" data-product-url="https://needlepoint.com/products/travel-round-france-with-stitch-guide-kb1517wsg">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/travel-round-france-with-stitch-guide-kb1517wsg"
            data-id="32975716220971"
            aria-label="Travel Round - France with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/travel-round-france-with-stitch-guide-kb1517wsg" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - France with Stitch Guide</a>
    

<p data-id="price--4398523613227" id="price--4398523613227" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1279wsg-kirk-and-bradley-scotland-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=2531" alt="Travel Round - Scotland with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-painted-canvas-kirk-bradley-640738.jpg?v=1757098313&amp;width=600 600w" width="2531" height="2531" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=1300" alt="Travel Round - Scotland with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-scotland-with-stitch-guide-printed-canvas-kirk-bradley-112443.jpg?v=1774922761&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194432528427" data-swaction="addToWishlist" data-product-id="1194432528427" data-variant-id="32975720874027" data-product-url="https://needlepoint.com/products/kb1279wsg-kirk-and-bradley-scotland-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1279wsg-kirk-and-bradley-scotland-travel-round"
            data-id="32975720874027"
            aria-label="Travel Round - Scotland with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1279wsg-kirk-and-bradley-scotland-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Scotland with Stitch Guide</a>
    

<p data-id="price--1194432528427" id="price--1194432528427" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1365wsg-kirk-and-bradley-amsterdam-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=500" alt="Travel Round - Amsterdam with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=150 150w, //needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=200 200w, //needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=240 240w, //needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=280 280w, //needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=300 300w, //needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=360 360w, //needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=400 400w, //needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=450 450w, //needlepoint.com/cdn/shop/products/travel-round-amsterdam-with-stitch-guide-painted-canvas-needlepointcom-155108.jpg?v=1745859366&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194683301931" data-swaction="addToWishlist" data-product-id="1194683301931" data-variant-id="32975719170091" data-product-url="https://needlepoint.com/products/kb1365wsg-kirk-and-bradley-amsterdam-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1365wsg-kirk-and-bradley-amsterdam-travel-round"
            data-id="32975719170091"
            aria-label="Travel Round - Amsterdam with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1365wsg-kirk-and-bradley-amsterdam-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Amsterdam with Stitch Guide</a>
    

<p data-id="price--1194683301931" id="price--1194683301931" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/a-new-york-holiday-rockefeller-center-1" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=700" alt="A New York Holiday - Rockefeller Center - 1" srcset="//needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=150 150w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=200 200w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=240 240w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=280 280w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=300 300w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=360 360w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=400 400w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=450 450w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=500 500w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=550 550w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-rockefeller-center-printed-canvas-kirk-bradley-919303.jpg?v=1745858487&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7214091665451" data-swaction="addToWishlist" data-product-id="7214091665451" data-variant-id="41041598054443" data-product-url="https://needlepoint.com/products/a-new-york-holiday-rockefeller-center-1">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/a-new-york-holiday-rockefeller-center-1"
            data-id="41041598054443"
            aria-label="A New York Holiday - Rockefeller Center Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/a-new-york-holiday-rockefeller-center-1" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">A New York Holiday - Rockefeller Center</a>
    

<p data-id="price--7214091665451" id="price--7214091665451" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$58.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1289wsg-kirk-and-bradley-washington-dc-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/travel-round-washington-dc-with-stitch-guide-painted-canvas-needlepointcom-306071.jpg?v=1745859394&amp;width=455" alt="Travel Round - Washington DC with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/travel-round-washington-dc-with-stitch-guide-painted-canvas-needlepointcom-306071.jpg?v=1745859394&amp;width=150 150w, //needlepoint.com/cdn/shop/products/travel-round-washington-dc-with-stitch-guide-painted-canvas-needlepointcom-306071.jpg?v=1745859394&amp;width=200 200w, //needlepoint.com/cdn/shop/products/travel-round-washington-dc-with-stitch-guide-painted-canvas-needlepointcom-306071.jpg?v=1745859394&amp;width=240 240w, //needlepoint.com/cdn/shop/products/travel-round-washington-dc-with-stitch-guide-painted-canvas-needlepointcom-306071.jpg?v=1745859394&amp;width=280 280w, //needlepoint.com/cdn/shop/products/travel-round-washington-dc-with-stitch-guide-painted-canvas-needlepointcom-306071.jpg?v=1745859394&amp;width=300 300w, //needlepoint.com/cdn/shop/products/travel-round-washington-dc-with-stitch-guide-painted-canvas-needlepointcom-306071.jpg?v=1745859394&amp;width=360 360w, //needlepoint.com/cdn/shop/products/travel-round-washington-dc-with-stitch-guide-painted-canvas-needlepointcom-306071.jpg?v=1745859394&amp;width=400 400w, //needlepoint.com/cdn/shop/products/travel-round-washington-dc-with-stitch-guide-painted-canvas-needlepointcom-306071.jpg?v=1745859394&amp;width=450 450w" width="455" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=1300" alt="Travel Round - Washington DC with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-washington-dc-with-stitch-guide-printed-canvas-kirk-bradley-543006.jpg?v=1774922735&amp;width=600 600w" width="1300" height="1299" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194443604011" data-swaction="addToWishlist" data-product-id="1194443604011" data-variant-id="32975720742955" data-product-url="https://needlepoint.com/products/kb1289wsg-kirk-and-bradley-washington-dc-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1289wsg-kirk-and-bradley-washington-dc-travel-round"
            data-id="32975720742955"
            aria-label="Travel Round - Washington DC with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1289wsg-kirk-and-bradley-washington-dc-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Washington DC with Stitch Guide</a>
    

<p data-id="price--1194443604011" id="price--1194443604011" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/champagne-cooler" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=600" alt="Champagne Cooler Canvas with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=150 150w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=200 200w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=240 240w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=280 280w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=300 300w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=360 360w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=400 400w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=450 450w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=500 500w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=550 550w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6913788084267" data-swaction="addToWishlist" data-product-id="6913788084267" data-variant-id="40270262009899" data-product-url="https://needlepoint.com/products/champagne-cooler">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/champagne-cooler"
            data-id="40270262009899"
            aria-label="Champagne Cooler Canvas with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/champagne-cooler" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Champagne Cooler Canvas with Stitch Guide</a>
    

<p data-id="price--6913788084267" id="price--6913788084267" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1257wsg-kirk-and-bradley-rome-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=1714" alt="Travel Round - Rome with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-rome-with-stitch-guide-painted-canvas-kirk-bradley-801648.jpg?v=1757098479&amp;width=600 600w" width="1714" height="1713" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1194297753643" data-swaction="addToWishlist" data-product-id="1194297753643" data-variant-id="32975723692075" data-product-url="https://needlepoint.com/products/kb1257wsg-kirk-and-bradley-rome-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1257wsg-kirk-and-bradley-rome-travel-round"
            data-id="32975723692075"
            aria-label="Travel Round - Rome with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1257wsg-kirk-and-bradley-rome-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Rome with Stitch Guide</a>
    

<p data-id="price--1194297753643" id="price--1194297753643" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/palm-beach-chaise" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=600" alt="Palm Beach Chaise Canvas with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=150 150w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=200 200w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=240 240w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=280 280w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=300 300w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=360 360w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=400 400w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=450 450w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=500 500w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=550 550w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=600" alt="Palm Beach Chaise Canvas with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=150 150w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=200 200w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=240 240w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=280 280w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=300 300w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=360 360w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=400 400w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=450 450w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=500 500w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=550 550w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6913792671787" data-swaction="addToWishlist" data-product-id="6913792671787" data-variant-id="40270280556587" data-product-url="https://needlepoint.com/products/palm-beach-chaise">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/palm-beach-chaise"
            data-id="40270280556587"
            aria-label="Palm Beach Chaise Canvas with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/palm-beach-chaise" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Palm Beach Chaise Canvas with Stitch Guide</a>
    

<p data-id="price--6913792671787" id="price--6913792671787" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/london-store-fronts-fortnum-and-mason" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=3564" alt="London Store Fronts - Fortnum and Mason with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=600 600w" width="3564" height="3564" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=4000" alt="London Store Fronts - Fortnum and Mason with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=600 600w" width="4000" height="4001" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7252300333099" data-swaction="addToWishlist" data-product-id="7252300333099" data-variant-id="41124207427627" data-product-url="https://needlepoint.com/products/london-store-fronts-fortnum-and-mason">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/london-store-fronts-fortnum-and-mason"
            data-id="41124207427627"
            aria-label="London Store Fronts - Fortnum and Mason with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/london-store-fronts-fortnum-and-mason" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">London Store Fronts - Fortnum and Mason with Stitch Guide</a>
    

<p data-id="price--7252300333099" id="price--7252300333099" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/london-store-fronts-liberty" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=3285" alt="London Store Fronts- Liberty with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=600 600w" width="3285" height="3285" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=4000" alt="London Store Fronts- Liberty with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=600 600w" width="4000" height="4000" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7252305379371" data-swaction="addToWishlist" data-product-id="7252305379371" data-variant-id="41124212637739" data-product-url="https://needlepoint.com/products/london-store-fronts-liberty">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/london-store-fronts-liberty"
            data-id="41124212637739"
            aria-label="London Store Fronts- Liberty with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/london-store-fronts-liberty" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">London Store Fronts- Liberty with Stitch Guide</a>
    

<p data-id="price--7252305379371" id="price--7252305379371" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/kb1406wsg-kirk-and-bradley-switzerland-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=500" alt="Travel Round - Switzerland with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=150 150w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=200 200w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=240 240w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=280 280w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=300 300w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=360 360w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=400 400w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=450 450w, //needlepoint.com/cdn/shop/products/travel-round-switzerland-with-stitch-guide-painted-canvas-needlepointcom-253450.jpg?v=1745858918&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=1300" alt="Travel Round - Switzerland with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-switzerland-with-stitch-guide-painted-canvas-kirk-bradley-320247.jpg?v=1774896775&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1497844711467" data-swaction="addToWishlist" data-product-id="1497844711467" data-variant-id="32975718055979" data-product-url="https://needlepoint.com/products/kb1406wsg-kirk-and-bradley-switzerland-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/kb1406wsg-kirk-and-bradley-switzerland-travel-round"
            data-id="32975718055979"
            aria-label="Travel Round - Switzerland with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/kb1406wsg-kirk-and-bradley-switzerland-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Switzerland with Stitch Guide</a>
    

<p data-id="price--1497844711467" id="price--1497844711467" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/a-new-york-holiday-radio-city-rockettes-1" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=700" alt="A New York Holiday - Radio City Rockettes - 1" srcset="//needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=150 150w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=200 200w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=240 240w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=280 280w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=300 300w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=360 360w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=400 400w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=450 450w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=500 500w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=550 550w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-radio-city-rockettes-printed-canvas-kirk-bradley-826280.jpg?v=1745858489&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7214090354731" data-swaction="addToWishlist" data-product-id="7214090354731" data-variant-id="41041579016235" data-product-url="https://needlepoint.com/products/a-new-york-holiday-radio-city-rockettes-1">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/a-new-york-holiday-radio-city-rockettes-1"
            data-id="41041579016235"
            aria-label="A New York Holiday - Radio City Rockettes Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/a-new-york-holiday-radio-city-rockettes-1" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">A New York Holiday - Radio City Rockettes</a>
    

<p data-id="price--7214090354731" id="price--7214090354731" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$58.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/a-new-york-holiday-thanksgiving-day-parade" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=700" alt="A New York Holiday - Thanksgiving Day Parade - 1" srcset="//needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=150 150w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=200 200w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=240 240w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=280 280w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=300 300w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=360 360w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=400 400w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=450 450w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=500 500w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=550 550w, //needlepoint.com/cdn/shop/files/a-new-york-holiday-thanksgiving-day-parade-printed-canvas-kirk-bradley-205562.jpg?v=1745858488&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7214090649643" data-swaction="addToWishlist" data-product-id="7214090649643" data-variant-id="41041579474987" data-product-url="https://needlepoint.com/products/a-new-york-holiday-thanksgiving-day-parade">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/a-new-york-holiday-thanksgiving-day-parade"
            data-id="41041579474987"
            aria-label="A New York Holiday - Thanksgiving Day Parade Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/a-new-york-holiday-thanksgiving-day-parade" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">A New York Holiday - Thanksgiving Day Parade</a>
    

<p data-id="price--7214090649643" id="price--7214090649643" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$58.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                      
                    </div>
                  </div>

                  <div data-id="collection-template--26162629541931__collection_slider_GJHAj6-3" class="swiper-pagination-wrap block md:hidden">
                      <div class="swiper-pagination relative mt-[35px]"></div>
                  </div>
                  <div class="max-md:hidden absolute z-[1] top-half -translate-y-half left-0 w-[calc(100%_+_44px)] ml-[-22px] swiper-buttons flex flex-row justify-between items-center gap-30 hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-3" >
                    <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
                      <span class="visually-hidden">Previous slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.8523" r="22.5" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M23.0697 17.3523L24 18.2826L19.8605 22.422L24 26.5615L23.0697 27.4918L18 22.422L23.0697 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                    <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
                      <span class="visually-hidden">Next slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.5" r="22.5" transform="matrix(-1 0 0 1 45 0.352295)" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M21.9303 17.3523L21 18.2826L25.1395 22.422L21 26.5615L21.9303 27.4918L27 22.422L21.9303 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                  </div>
                
              </div>

              
                <a href="/collections/best-selling-canvases" class="button mt-40 mx-auto block justify-self-center">Shop All Canvases</a>
              
            </div>
          
            
            <div class="collection-slider-wrapper group-wrapper  hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-4" >
              <div class="relative">
                
                  <div class="collection-slider swiper collection-slider-template--26162629541931__collection_slider_GJHAj6 group/slider overflow-visible md:overflow-hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-4">
                    <div class="swiper-wrapper group-[:not(.swiper-initialized)]/slider:overflow-hidden">
                      
                        
                        
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/needlepoint-beginner-online-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=700" alt="How to Needlepoint Online Class - 1" srcset="//needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=150 150w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=200 200w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=240 240w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=280 280w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=300 300w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=360 360w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=400 400w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=450 450w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=500 500w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=550 550w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-822286.jpg?v=1758644282&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=700" alt="How to Needlepoint Online Class - 2" srcset="//needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=150 150w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=200 200w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=240 240w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=280 280w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=300 300w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=360 360w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=400 400w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=450 450w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=500 500w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=550 550w, //needlepoint.com/cdn/shop/files/how-to-needlepoint-online-class-online-classes-needlepointcom-163860.jpg?v=1758644280&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_4438524854315" data-swaction="addToWishlist" data-product-id="4438524854315" data-variant-id="31702501556267" data-product-url="https://needlepoint.com/products/needlepoint-beginner-online-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/needlepoint-beginner-online-class"
            data-id="31702501556267"
            aria-label="How to Needlepoint Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/needlepoint-beginner-online-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">How to Needlepoint Online Class</a>
    

<p data-id="price--4438524854315" id="price--4438524854315" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$35.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/openwork-backgrounds-needlepoint-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=2688" alt="Openwork Backgrounds Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=150 150w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=200 200w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=240 240w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=280 280w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=300 300w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=360 360w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=400 400w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=450 450w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=500 500w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=550 550w, //needlepoint.com/cdn/shop/files/openwork-backgrounds-online-technique-class-online-classes-needlepointcom-698465.jpg?v=1737567616&amp;width=600 600w" width="2688" height="2688" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=500" alt="Openwork Backgrounds Online Technique Class - 2" srcset="//needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=150 150w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=200 200w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=240 240w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=280 280w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=300 300w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=360 360w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=400 400w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=450 450w, //needlepoint.com/cdn/shop/products/openwork-backgrounds-class-online-course-needlepointcom-319852.jpg?v=1737559870&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1274212876331" data-swaction="addToWishlist" data-product-id="1274212876331" data-variant-id="12201048145963" data-product-url="https://needlepoint.com/products/openwork-backgrounds-needlepoint-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/openwork-backgrounds-needlepoint-class"
            data-id="12201048145963"
            aria-label="Openwork Backgrounds Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/openwork-backgrounds-needlepoint-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Openwork Backgrounds Online Technique Class</a>
    

<p data-id="price--1274212876331" id="price--1274212876331" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/skating-polar-bear" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=500" alt="Skating Polar Bear Kit &amp; Online Class - 1" srcset="//needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=150 150w, //needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=200 200w, //needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=240 240w, //needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=280 280w, //needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=300 300w, //needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=360 360w, //needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=400 400w, //needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=450 450w, //needlepoint.com/cdn/shop/products/skating-polar-bear-kit-online-class-online-classes-kirk-bradley-119526.jpg?v=1569507458&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1664158564395" data-swaction="addToWishlist" data-product-id="1664158564395" data-variant-id="15330003517483" data-product-url="https://needlepoint.com/products/skating-polar-bear">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/skating-polar-bear"
            data-id="15330003517483"
            aria-label="Skating Polar Bear Kit & Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/skating-polar-bear" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Skating Polar Bear Kit & Online Class</a>
    

<p data-id="price--1664158564395" id="price--1664158564395" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$125.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/flowers-and-foliage-online-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=600" alt="Flowers &amp; Foliage Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=150 150w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=200 200w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=240 240w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=280 280w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=300 300w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=360 360w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=400 400w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=450 450w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=500 500w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=550 550w, //needlepoint.com/cdn/shop/products/flowers-foliage-online-class-online-classes-needlepointcom-233415.jpg?v=1560384151&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1810974244907" data-swaction="addToWishlist" data-product-id="1810974244907" data-variant-id="16377072418859" data-product-url="https://needlepoint.com/products/flowers-and-foliage-online-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/flowers-and-foliage-online-class"
            data-id="16377072418859"
            aria-label="Flowers & Foliage Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/flowers-and-foliage-online-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Flowers & Foliage Online Technique Class</a>
    

<p data-id="price--1810974244907" id="price--1810974244907" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/how-to-pick-a-background-stitch-online-technique-class-part-2" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=700" alt="How to Pick A Background Stitch Online Technique Class Part 2 - 1" srcset="//needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=150 150w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=200 200w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=240 240w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=280 280w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=300 300w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=360 360w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=400 400w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=450 450w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=500 500w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=550 550w, //needlepoint.com/cdn/shop/products/how-to-pick-a-background-stitch-online-technique-class-part-2-online-classes-needlepointcom-703244.jpg?v=1674847138&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7058083151915" data-swaction="addToWishlist" data-product-id="7058083151915" data-variant-id="40655743254571" data-product-url="https://needlepoint.com/products/how-to-pick-a-background-stitch-online-technique-class-part-2">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/how-to-pick-a-background-stitch-online-technique-class-part-2"
            data-id="40655743254571"
            aria-label="How to Pick A Background Stitch Online Technique Class Part 2 Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/how-to-pick-a-background-stitch-online-technique-class-part-2" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">How to Pick A Background Stitch Online Technique Class Part 2</a>
    

<p data-id="price--7058083151915" id="price--7058083151915" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$80.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/santas-beard-mustache-part-i-online-needlepoint-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=600" alt="Santa&#39;s Beard and Mustache Part I Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=150 150w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=200 200w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=240 240w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=280 280w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=300 300w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=360 360w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=400 400w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=450 450w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=500 500w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=550 550w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-i-online-needlepoint-class-online-classes-needlepointcom-861421.jpg?v=1594724976&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=1892" alt="Santa&#39;s Beard and Mustache Part I Online Technique Class - 2" srcset="//needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=150 150w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=200 200w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=240 240w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=280 280w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=300 300w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=360 360w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=400 400w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=450 450w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=500 500w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=550 550w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-i-online-technique-class-online-classes-needlepointcom-553076.jpg?v=1726684059&amp;width=600 600w" width="1892" height="1889" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1274213204011" data-swaction="addToWishlist" data-product-id="1274213204011" data-variant-id="12201048768555" data-product-url="https://needlepoint.com/products/santas-beard-mustache-part-i-online-needlepoint-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/santas-beard-mustache-part-i-online-needlepoint-class"
            data-id="12201048768555"
            aria-label="Santa's Beard and Mustache Part I Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/santas-beard-mustache-part-i-online-needlepoint-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Santa's Beard and Mustache Part I Online Technique Class</a>
    

<p data-id="price--1274213204011" id="price--1274213204011" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$95.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/lots-of-knots-online-needlepoint-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=500" alt="Lots of Knots Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=150 150w, //needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=200 200w, //needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=240 240w, //needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=280 280w, //needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=300 300w, //needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=360 360w, //needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=400 400w, //needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=450 450w, //needlepoint.com/cdn/shop/products/lots-of-knots-online-needlepoint-class-online-course-needlepointcom-918774.jpg?v=1554872625&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1251608789035" data-swaction="addToWishlist" data-product-id="1251608789035" data-variant-id="12033428848683" data-product-url="https://needlepoint.com/products/lots-of-knots-online-needlepoint-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/lots-of-knots-online-needlepoint-class"
            data-id="12033428848683"
            aria-label="Lots of Knots Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/lots-of-knots-online-needlepoint-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Lots of Knots Online Technique Class</a>
    

<p data-id="price--1251608789035" id="price--1251608789035" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/landscape-techniques-online-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=700" alt="Landscape Techniques Online Class - 1" srcset="//needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=150 150w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=200 200w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=240 240w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=280 280w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=300 300w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=360 360w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=400 400w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=450 450w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=500 500w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=550 550w, //needlepoint.com/cdn/shop/products/landscape-techniques-online-class-online-classes-needlepointcom-350799.jpg?v=1663598815&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6964961935403" data-swaction="addToWishlist" data-product-id="6964961935403" data-variant-id="40421153112107" data-product-url="https://needlepoint.com/products/landscape-techniques-online-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/landscape-techniques-online-class"
            data-id="40421153112107"
            aria-label="Landscape Techniques Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/landscape-techniques-online-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Landscape Techniques Online Class</a>
    

<p data-id="price--6964961935403" id="price--6964961935403" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/architectural-stitches" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=500" alt="Architectural Stitches Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=150 150w, //needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=200 200w, //needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=240 240w, //needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=280 280w, //needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=300 300w, //needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=360 360w, //needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=400 400w, //needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=450 450w, //needlepoint.com/cdn/shop/products/architectural-stitches-online-course-needlepointcom-196622.jpg?v=1554851525&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1564252078123" data-swaction="addToWishlist" data-product-id="1564252078123" data-variant-id="14486891200555" data-product-url="https://needlepoint.com/products/architectural-stitches">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/architectural-stitches"
            data-id="14486891200555"
            aria-label="Architectural Stitches Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/architectural-stitches" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Architectural Stitches Online Technique Class</a>
    

<p data-id="price--1564252078123" id="price--1564252078123" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=700" alt="Animal Kingdom: Mastering Fur and Feathers Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=150 150w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=200 200w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=240 240w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=280 280w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=300 300w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=360 360w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=400 400w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=450 450w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=500 500w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=550 550w, //needlepoint.com/cdn/shop/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class-online-classes-needlepointcom-929705.jpg?v=1682547241&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7098826784811" data-swaction="addToWishlist" data-product-id="7098826784811" data-variant-id="40757769764907" data-product-url="https://needlepoint.com/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class"
            data-id="40757769764907"
            aria-label="Animal Kingdom: Mastering Fur and Feathers Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/animal-kingdom-the-making-of-fur-and-feathers-online-technique-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Animal Kingdom: Mastering Fur and Feathers Online Technique Class</a>
    

<p data-id="price--7098826784811" id="price--7098826784811" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/frosty-stitches-online-needlepoint-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=500" alt="Frosty Stitches Online Needlepoint Class - 1" srcset="//needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=150 150w, //needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=200 200w, //needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=240 240w, //needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=280 280w, //needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=300 300w, //needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=360 360w, //needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=400 400w, //needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=450 450w, //needlepoint.com/cdn/shop/products/frosty-stitches-online-needlepoint-class-online-course-needlepointcom-479901.jpg?v=1554824386&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1274212220971" data-swaction="addToWishlist" data-product-id="1274212220971" data-variant-id="12201042214955" data-product-url="https://needlepoint.com/products/frosty-stitches-online-needlepoint-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/frosty-stitches-online-needlepoint-class"
            data-id="12201042214955"
            aria-label="Frosty Stitches Online Needlepoint Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/frosty-stitches-online-needlepoint-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Frosty Stitches Online Needlepoint Class</a>
    

<p data-id="price--1274212220971" id="price--1274212220971" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$125.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/tricky-stitches-online-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=500" alt="Tricky Stitches Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=150 150w, //needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=200 200w, //needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=240 240w, //needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=280 280w, //needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=300 300w, //needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=360 360w, //needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=400 400w, //needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=450 450w, //needlepoint.com/cdn/shop/products/tricky-stitches-online-class-online-course-needlepointcom-843325.jpg?v=1554822406&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1274213597227" data-swaction="addToWishlist" data-product-id="1274213597227" data-variant-id="12201053880363" data-product-url="https://needlepoint.com/products/tricky-stitches-online-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/tricky-stitches-online-class"
            data-id="12201053880363"
            aria-label="Tricky Stitches Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/tricky-stitches-online-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Tricky Stitches Online Technique Class</a>
    

<p data-id="price--1274213597227" id="price--1274213597227" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/backgrounds-beards-online-technique-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=700" alt="Backgrounds &amp; Beards Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=150 150w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=200 200w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=240 240w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=280 280w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=300 300w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=360 360w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=400 400w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=450 450w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=500 500w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=550 550w, //needlepoint.com/cdn/shop/products/backgrounds-beards-online-technique-class-online-classes-needlepointcom-558825.jpg?v=1667419130&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7008546783275" data-swaction="addToWishlist" data-product-id="7008546783275" data-variant-id="40548812357675" data-product-url="https://needlepoint.com/products/backgrounds-beards-online-technique-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/backgrounds-beards-online-technique-class"
            data-id="40548812357675"
            aria-label="Backgrounds & Beards Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/backgrounds-beards-online-technique-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Backgrounds & Beards Online Technique Class</a>
    

<p data-id="price--7008546783275" id="price--7008546783275" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/santas-beard-part-ii-needlepoint-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=600" alt="Santa&#39;s Beard and Mustache Part II Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=150 150w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=200 200w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=240 240w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=280 280w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=300 300w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=360 360w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=400 400w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=450 450w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=500 500w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=550 550w, //needlepoint.com/cdn/shop/products/santas-beard-and-mustache-part-ii-online-class-online-classes-needlepointcom-527968.jpg?v=1594724981&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=1890" alt="Santa&#39;s Beard and Mustache Part II Online Technique Class - 2" srcset="//needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=150 150w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=200 200w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=240 240w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=280 280w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=300 300w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=360 360w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=400 400w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=450 450w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=500 500w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=550 550w, //needlepoint.com/cdn/shop/files/santas-beard-and-mustache-part-ii-online-technique-class-online-classes-needlepointcom-723474.jpg?v=1726684090&amp;width=600 600w" width="1890" height="1891" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1274213236779" data-swaction="addToWishlist" data-product-id="1274213236779" data-variant-id="12201050112043" data-product-url="https://needlepoint.com/products/santas-beard-part-ii-needlepoint-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/santas-beard-part-ii-needlepoint-class"
            data-id="12201050112043"
            aria-label="Santa's Beard and Mustache Part II Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/santas-beard-part-ii-needlepoint-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Santa's Beard and Mustache Part II Online Technique Class</a>
    

<p data-id="price--1274213236779" id="price--1274213236779" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$95.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/gingerbread-houses-online-technique-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=700" alt="Gingerbread House Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=150 150w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=200 200w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=240 240w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=280 280w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=300 300w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=360 360w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=400 400w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=450 450w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=500 500w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=550 550w, //needlepoint.com/cdn/shop/files/gingerbread-house-online-technique-class-online-classes-needlepointcom-990609.jpg?v=1731716322&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7287671947307" data-swaction="addToWishlist" data-product-id="7287671947307" data-variant-id="41213802053675" data-product-url="https://needlepoint.com/products/gingerbread-houses-online-technique-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/gingerbread-houses-online-technique-class"
            data-id="41213802053675"
            aria-label="Gingerbread House Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/gingerbread-houses-online-technique-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Gingerbread House Online Technique Class</a>
    

<p data-id="price--7287671947307" id="price--7287671947307" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$95.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/outfit-your-santa-online-technique-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=700" alt="Outfit Your Santa Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=150 150w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=200 200w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=240 240w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=280 280w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=300 300w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=360 360w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=400 400w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=450 450w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=500 500w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=550 550w, //needlepoint.com/cdn/shop/products/outfit-your-santa-online-technique-class-online-classes-needlepointcom-237730.jpg?v=1670320540&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7036118564907" data-swaction="addToWishlist" data-product-id="7036118564907" data-variant-id="40606647582763" data-product-url="https://needlepoint.com/products/outfit-your-santa-online-technique-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/outfit-your-santa-online-technique-class"
            data-id="40606647582763"
            aria-label="Outfit Your Santa Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/outfit-your-santa-online-technique-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Outfit Your Santa Online Technique Class</a>
    

<p data-id="price--7036118564907" id="price--7036118564907" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/haunted-halloween-stitches-class" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=700" alt="Haunted Halloween Stitches Online Technique Class - 1" srcset="//needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=150 150w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=200 200w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=240 240w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=280 280w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=300 300w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=360 360w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=400 400w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=450 450w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=500 500w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=550 550w, //needlepoint.com/cdn/shop/files/haunted-halloween-stitches-online-technique-class-online-classes-needlepointcom-550512.jpg?v=1698807340&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1274212319275" data-swaction="addToWishlist" data-product-id="1274212319275" data-variant-id="12201043722283" data-product-url="https://needlepoint.com/products/haunted-halloween-stitches-class">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/haunted-halloween-stitches-class"
            data-id="12201043722283"
            aria-label="Haunted Halloween Stitches Online Technique Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-com" aria-label=" - Needlepoint.Com" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint.Com</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/haunted-halloween-stitches-class" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Haunted Halloween Stitches Online Technique Class</a>
    

<p data-id="price--1274212319275" id="price--1274212319275" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$95.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/ntg-candy-cottage-gingerbread-house-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=1300" alt="Candy Cottage Gingerbread House Kit &amp; Online Class - 1" srcset="//needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=150 150w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=200 200w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=240 240w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=280 280w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=300 300w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=360 360w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=400 400w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=450 450w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=500 500w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=550 550w, //needlepoint.com/cdn/shop/files/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-461284.jpg?v=1762304245&amp;width=600 600w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=700" alt="Candy Cottage Gingerbread House Kit &amp; Online Class - 2" srcset="//needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=150 150w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=200 200w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=240 240w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=280 280w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=300 300w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=360 360w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=400 400w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=450 450w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=500 500w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=550 550w, //needlepoint.com/cdn/shop/products/candy-cottage-gingerbread-house-kit-online-class-online-classes-needlepoint-to-go-948161.jpg?v=1762292072&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 1.5)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7151872737323" data-swaction="addToWishlist" data-product-id="7151872737323" data-variant-id="40899947266091" data-product-url="https://needlepoint.com/products/ntg-candy-cottage-gingerbread-house-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #eff9f7; color: #225f64">Exclusive</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/ntg-candy-cottage-gingerbread-house-kit"
            data-id="40899947266091"
            aria-label="Candy Cottage Gingerbread House Kit & Online Class Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 4">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/ntg-candy-cottage-gingerbread-house-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Candy Cottage Gingerbread House Kit & Online Class</a>
    

<p data-id="price--7151872737323" id="price--7151872737323" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$700.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 4">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                      
                    </div>
                  </div>

                  <div data-id="collection-template--26162629541931__collection_slider_GJHAj6-4" class="swiper-pagination-wrap block md:hidden">
                      <div class="swiper-pagination relative mt-[35px]"></div>
                  </div>
                  <div class="max-md:hidden absolute z-[1] top-half -translate-y-half left-0 w-[calc(100%_+_44px)] ml-[-22px] swiper-buttons flex flex-row justify-between items-center gap-30 hidden" data-id="collection-template--26162629541931__collection_slider_GJHAj6-4" >
                    <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
                      <span class="visually-hidden">Previous slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.8523" r="22.5" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M23.0697 17.3523L24 18.2826L19.8605 22.422L24 26.5615L23.0697 27.4918L18 22.422L23.0697 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                    <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
                      <span class="visually-hidden">Next slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.5" r="22.5" transform="matrix(-1 0 0 1 45 0.352295)" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M21.9303 17.3523L21 18.2826L25.1395 22.422L21 26.5615L21.9303 27.4918L27 22.422L21.9303 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                  </div>
                
              </div>

              
                <a href="/collections/in-stock-online-classes" class="button mt-40 mx-auto block justify-self-center">Shop All Online classes</a>
              
            </div>
          
        </div>
      </div>
    </div>
  </div>
</collection-slider>

<style>
  

  /* Style before slider has loaded */
  .collection-slider-template--26162629541931__collection_slider_GJHAj6:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-auto-rows: 0;
    gap: 20px;
  }

  @media screen and (max-width: 767px) {
    .collection-slider-template--26162629541931__collection_slider_GJHAj6:not(.swiper-initialized) .swiper-wrapper {
      grid-template-columns: repeat(1, 1fr);
    }
  }
</style>

</div><div id="shopify-section-template--26162629541931__divider_gM9hnX" class="shopify-section"><div style="--bg: #ffffff;" class="bg-[var(--bg)]  p-[1px] ">
  <div style="--my: 4px;" class="w-full h-[28px] logo-pattern my-[var(--my)]  "></div>
</div>
</div><div id="shopify-section-template--26162629541931__press_marquee_VPmcLJ" class="shopify-section">



<press-marquee>
  <div class="press-marquee overflow-hidden py-20 md:py-50" style="background-color: #ffffff"">
    
      <div class="page-width">
        <h2 class="mb-40 text-cta uppercase text-center">AS SEEN IN</h2>
      </div>
    
    <div class="marquee">
      <div class="flex justify-center items-center shrink-0 overflow-x-clip overflow-y-visible gap-20"> 
        <div class="flex items-center shrink-0 whitespace-nowrap animate-marquee gap-20" style="animation-duration: 55s">
          
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=1080" alt="The Detroit News - " srcset="//needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=150 150w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=200 200w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=240 240w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=280 280w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=300 300w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=360 360w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=400 400w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=450 450w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=500 500w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=550 550w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=600 600w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=650 650w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=700 700w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=750 750w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=800 800w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=850 850w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=900 900w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=950 950w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=1000 1000w" width="1080" height="675" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1912" alt="WALTER and Raleigh&#39;s Life &amp; Soul - " srcset="//needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=150 150w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=200 200w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=240 240w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=280 280w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=300 300w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=360 360w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=400 400w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=450 450w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=500 500w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=550 550w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=600 600w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=650 650w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=700 700w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=750 750w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=800 800w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=850 850w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=900 900w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=950 950w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1400 1400w" width="1912" height="896" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/1630569662855.jpg?v=1769704077&amp;width=200" alt="The Everymom - " srcset="//needlepoint.com/cdn/shop/files/1630569662855.jpg?v=1769704077&amp;width=150 150w, //needlepoint.com/cdn/shop/files/1630569662855.jpg?v=1769704077&amp;width=200 200w" width="200" height="200" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=714" alt="Yahoo - " srcset="//needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=150 150w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=200 200w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=240 240w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=280 280w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=300 300w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=360 360w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=400 400w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=450 450w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=500 500w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=550 550w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=600 600w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=650 650w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=700 700w" width="714" height="262" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1500" alt="Sun Sentinel - " srcset="//needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=150 150w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=200 200w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=240 240w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=280 280w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=300 300w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=360 360w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=400 400w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=450 450w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=500 500w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=550 550w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=600 600w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=650 650w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=700 700w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=750 750w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=800 800w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=850 850w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=900 900w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=950 950w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1400 1400w" width="1500" height="1500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=2400" alt="The Times 100 - " srcset="//needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=150 150w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=200 200w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=240 240w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=280 280w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=300 300w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=360 360w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=400 400w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=450 450w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=500 500w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=550 550w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=600 600w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=650 650w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=700 700w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=750 750w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=800 800w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=850 850w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=900 900w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=950 950w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1400 1400w" width="2400" height="2400" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=800" alt="House Beautiful - " srcset="//needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=150 150w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=200 200w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=240 240w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=280 280w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=300 300w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=360 360w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=400 400w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=450 450w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=500 500w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=550 550w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=600 600w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=650 650w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=700 700w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=750 750w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=800 800w" width="800" height="314" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=5760" alt="Qial Daily - " srcset="//needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=150 150w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=200 200w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=240 240w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=280 280w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=300 300w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=360 360w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=400 400w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=450 450w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=500 500w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=550 550w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=600 600w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=650 650w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=700 700w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=750 750w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=800 800w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=850 850w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=900 900w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=950 950w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1400 1400w" width="6250" height="2230" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  

        </div>
        <div class="flex items-center shrink-0 whitespace-nowrap animate-marquee gap-20" style="animation-duration: 55s">
          
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=1080" alt="The Detroit News - " srcset="//needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=150 150w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=200 200w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=240 240w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=280 280w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=300 300w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=360 360w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=400 400w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=450 450w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=500 500w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=550 550w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=600 600w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=650 650w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=700 700w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=750 750w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=800 800w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=850 850w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=900 900w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=950 950w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=1000 1000w" width="1080" height="675" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1912" alt="WALTER and Raleigh&#39;s Life &amp; Soul - " srcset="//needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=150 150w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=200 200w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=240 240w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=280 280w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=300 300w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=360 360w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=400 400w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=450 450w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=500 500w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=550 550w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=600 600w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=650 650w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=700 700w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=750 750w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=800 800w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=850 850w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=900 900w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=950 950w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1400 1400w" width="1912" height="896" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/1630569662855.jpg?v=1769704077&amp;width=200" alt="The Everymom - " srcset="//needlepoint.com/cdn/shop/files/1630569662855.jpg?v=1769704077&amp;width=150 150w, //needlepoint.com/cdn/shop/files/1630569662855.jpg?v=1769704077&amp;width=200 200w" width="200" height="200" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=714" alt="Yahoo - " srcset="//needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=150 150w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=200 200w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=240 240w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=280 280w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=300 300w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=360 360w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=400 400w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=450 450w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=500 500w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=550 550w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=600 600w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=650 650w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=700 700w" width="714" height="262" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1500" alt="Sun Sentinel - " srcset="//needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=150 150w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=200 200w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=240 240w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=280 280w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=300 300w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=360 360w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=400 400w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=450 450w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=500 500w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=550 550w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=600 600w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=650 650w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=700 700w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=750 750w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=800 800w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=850 850w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=900 900w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=950 950w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1400 1400w" width="1500" height="1500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=2400" alt="The Times 100 - " srcset="//needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=150 150w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=200 200w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=240 240w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=280 280w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=300 300w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=360 360w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=400 400w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=450 450w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=500 500w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=550 550w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=600 600w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=650 650w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=700 700w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=750 750w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=800 800w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=850 850w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=900 900w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=950 950w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1400 1400w" width="2400" height="2400" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=800" alt="House Beautiful - " srcset="//needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=150 150w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=200 200w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=240 240w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=280 280w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=300 300w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=360 360w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=400 400w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=450 450w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=500 500w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=550 550w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=600 600w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=650 650w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=700 700w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=750 750w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=800 800w" width="800" height="314" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=5760" alt="Qial Daily - " srcset="//needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=150 150w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=200 200w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=240 240w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=280 280w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=300 300w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=360 360w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=400 400w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=450 450w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=500 500w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=550 550w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=600 600w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=650 650w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=700 700w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=750 750w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=800 800w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=850 850w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=900 900w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=950 950w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1400 1400w" width="6250" height="2230" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  

        </div>
        <div class="flex items-center shrink-0 whitespace-nowrap animate-marquee gap-20" style="animation-duration: 55s">
          
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=1080" alt="The Detroit News - " srcset="//needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=150 150w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=200 200w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=240 240w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=280 280w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=300 300w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=360 360w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=400 400w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=450 450w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=500 500w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=550 550w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=600 600w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=650 650w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=700 700w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=750 750w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=800 800w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=850 850w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=900 900w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=950 950w, //needlepoint.com/cdn/shop/files/CMF-Website-Featured-Image-Template-2-1-70284_1080x675_9d8d1b60-5b44-40ea-9d12-d1aafacd83e5.png?v=1769704726&amp;width=1000 1000w" width="1080" height="675" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1912" alt="WALTER and Raleigh&#39;s Life &amp; Soul - " srcset="//needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=150 150w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=200 200w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=240 240w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=280 280w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=300 300w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=360 360w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=400 400w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=450 450w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=500 500w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=550 550w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=600 600w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=650 650w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=700 700w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=750 750w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=800 800w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=850 850w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=900 900w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=950 950w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/5_0044b989-74e4-4a4e-afd9-62177137bde7.jpg?v=1769703685&amp;width=1400 1400w" width="1912" height="896" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/1630569662855.jpg?v=1769704077&amp;width=200" alt="The Everymom - " srcset="//needlepoint.com/cdn/shop/files/1630569662855.jpg?v=1769704077&amp;width=150 150w, //needlepoint.com/cdn/shop/files/1630569662855.jpg?v=1769704077&amp;width=200 200w" width="200" height="200" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=714" alt="Yahoo - " srcset="//needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=150 150w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=200 200w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=240 240w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=280 280w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=300 300w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=360 360w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=400 400w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=450 450w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=500 500w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=550 550w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=600 600w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=650 650w, //needlepoint.com/cdn/shop/files/Screenshot_2026-05-04_at_10.00.33_AM.png?v=1777903298&amp;width=700 700w" width="714" height="262" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1500" alt="Sun Sentinel - " srcset="//needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=150 150w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=200 200w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=240 240w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=280 280w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=300 300w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=360 360w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=400 400w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=450 450w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=500 500w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=550 550w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=600 600w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=650 650w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=700 700w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=750 750w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=800 800w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=850 850w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=900 900w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=950 950w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/7QAMSS007.jpg?v=1769705285&amp;width=1400 1400w" width="1500" height="1500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=2400" alt="The Times 100 - " srcset="//needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=150 150w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=200 200w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=240 240w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=280 280w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=300 300w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=360 360w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=400 400w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=450 450w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=500 500w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=550 550w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=600 600w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=650 650w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=700 700w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=750 750w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=800 800w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=850 850w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=900 900w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=950 950w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/the-times-100-1-logo-png-transparent.png?v=1769705169&amp;width=1400 1400w" width="2400" height="2400" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=800" alt="House Beautiful - " srcset="//needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=150 150w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=200 200w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=240 240w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=280 280w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=300 300w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=360 360w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=400 400w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=450 450w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=500 500w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=550 550w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=600 600w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=650 650w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=700 700w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=750 750w, //needlepoint.com/cdn/shop/files/HouseBeautiful.webp?v=1769705691&amp;width=800 800w" width="800" height="314" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  
    <div class="w-150 flex justify-center items-center gap-10 relative flex-shrink-0 md:w-[190px]">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=5760" alt="Qial Daily - " srcset="//needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=150 150w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=200 200w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=240 240w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=280 280w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=300 300w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=360 360w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=400 400w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=450 450w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=500 500w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=550 550w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=600 600w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=650 650w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=700 700w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=750 750w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=800 800w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=850 850w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=900 900w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=950 950w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/b88addadbcb15063084302008b9ce9874ed41a9c-6250x2230.png?v=1769704812&amp;width=1400 1400w" width="6250" height="2230" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 h-auto w-auto" fetchpriority="low" sizes="250x" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      
    </div>
  

        </div>
      </div>
    </div>
  </div>
</press-marquee>

</div><div id="shopify-section-template--26162629541931__richtext_XnTY3H" class="shopify-section">


<div class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] text-text my-60 md:my-100" style=" 
  --mt: 100px;
  --mb: 100px;
  --mt-m: 60px;
  --mb-m: 60px;
">
  <div class="page-width">
    <div class="max-w-custom w-full mx-auto flex flex-col gap-20 text-center" style="--width: 1200px;">
      


<div data-animate  style="  --mt-m: 0px;   --mb-m: 0px;   --gap-m: 16px;   --mt: 0px;   --mb: 0px;   --gap: 20px;   --max-w: 770px;  --max-w-m: 0px;"
  class=" flex  flex-col justify-center items-center text-center md:flex-col md:justify-center md:items-center md:text-center   mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] gap-[var(--gap-m)] md:gap-[var(--gap)]   md:max-w-[var(--max-w)] md:w-full md:mx-auto "
>
  <p
  class="text-m-sh1 md:text-sh4 "
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  What We Offer Online + In-Store
</p>


<h2
  class="text-m-h2 md:text-h2"
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  Needlepoint Kits, Stitching Supplies, Classes + Expert Finishing
</h2>


<div
  class="rte  mx-auto text-m-body-1 md:text-body-1"
  style="margin-top: 0px;margin-bottom: 0px;max-width: 660px;width: 100%;"
  data-animate 
>
  <p>Choose from thousands of unique designs and bring your needlepoint canvases to life. We offer premium kits, finishing options, plus expert guidance whenever you need it.</p>
</div>


</div>

<div class="grid grid-cols-2 md:flex md:flex-row justify-center items-stretch gap-10 md:gap-40 md:*:flex-1 flex-wrap w-full md:w-fit mx-auto">
  <div class="w-full md:w-fit h-auto max-md:aspect-square flex flex-col justify-start items-center md:gap-10 relative group/button text-cerulean group/text-link max-md:bg-white px-10 pb-10 pt-0 max-md:last:odd:col-span-2 max-md:last:odd:flex-row max-md:last:odd:pb-10 max-md:last:odd:justify-start max-md:last:odd:aspect-auto">
  <a href="/collections/all-canvases" class="w-full max-md:h-fit h-full flex flex-col justify-start items-center">
  <span class="block max-w-[120px] md:max-w-[194px] aspect-square *:w-full *:h-auto"><svg id="ecfwKF3VQCk1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 194 194" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" project-id="a6e1c25c2d504b72a46b71d4e062c176" export-id="a90be8444e9340b6afbf9d50822317b0" cached="false"><g id="ecfwKF3VQCk2" transform="translate(.000001 0)"><path d="M108.078,75.7231h-5.827v25.3779h5.827v-25.3779Z" fill="#b1d8c2" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M107.467,69.1405l-4.607.0186v-21.0487h4.607v21.0301Z" fill="#b1d8c2"/><g transform="translate(.000001 0.000001)"><g transform="translate(.000001 0)"><path id="ecfwKF3VQCk7" d="M92.0112,85.1847h-5.8272v-54.2164l6.0873-.0557-.2601,54.2721Z" fill="#b1d8c2" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g><g transform="translate(.000001 0)"><path id="ecfwKF3VQCk9" d="M124.143,85.495h-5.828l-.216-50.0302l6.044.0124v50.0178Z" fill="#b1d8c2" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g><g><path id="ecfwKF3VQCk11" d="M92.0163,122.533h-5.5981v21.872h5.5981v-21.872Z" fill="#b1d8c2" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g><g><path id="ecfwKF3VQCk13" d="M124.025,122.533h-5.598v22.872h5.598v-22.872Z" fill="#b1d8c2" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g><path d="M123.518,116.495l-4.607.025v-24.771h4.607v24.746Z" fill="#b1d8c2"/><path d="M91.5175,116.494l-4.6073.025v-24.7705h4.6073v24.7455Z" fill="#b1d8c2"/><path d="M92.0163,91.749h-5.5981v24.95h5.5981v-24.95Z" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M124.145,91.3213h-5.828v25.3777h5.828v-25.3777Z" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g><g transform="translate(.000001 0)"><path d="M85.9467,69.5234v5.8273l-49.7515-.2229.0371-5.4681l49.7144-.1363Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M86.415,101.098v5.827h-55.4673l-.0247-5.827h55.492Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M92.0107,101.1v5.827h26.3063v-5.827h-26.3063Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M124.144,101.1v5.827h22.758v-5.827h-22.758Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M92.0107,69.5287v5.8273h26.3063v-5.8273h-26.3063Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M124.136,69.5228v5.8273h22.758v-5.8273h-22.758Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g><g><path id="ecfwKF3VQCk26" d="M50.3873,84.9427v6.5641h19.7607v-6.5641h-19.7607Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path id="ecfwKF3VQCk27" d="M50.3873,116.52v6.013h19.7607v-6.013h-19.7607Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M75.9675,85.1848v6.5642h26.2815v-6.5642h-26.2815Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M75.9675,116.7v5.827h26.2815v-5.827h-26.2815Z" transform="translate(0-.193146)" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path id="ecfwKF3VQCk30" d="M159.992,116.544l-.081,5.988h-51.826v-5.833l51.907-.155Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path id="ecfwKF3VQCk31" d="M163.669,85.4961l.08,5.8273h-55.672v-5.8273h55.592Z" fill="#88dbdf" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g><path d="M75.9679,48.1104h-5.8273v21.0487h5.8273v-21.0487Z" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M108.078,48.1104h-5.827v21.0487h5.827v-21.0487Z" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M108.078,163.534l-5.827.05v-56.657h5.827v56.607Z" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M107.483,162.915l-4.608.049v-55.498h4.608v55.449Z" fill="#b1d8c2"/><path d="M75.3572,158.109l-4.6073.043v-50.686h4.6073v50.643Z" fill="#b1d8c2"/><path d="M75.3572,101.074l-4.6073.025v-25.3466h4.6073v25.3216Z" opacity="0.7" fill="#b1d8c2"/><path d="M75.3572,68.5776l-4.6073.0124v-19.8473h4.6073v19.8349Z" fill="#b1d8c2"/><path d="M75.9679,75.7231h-5.8273v25.3779h5.8273v-25.3779Z" fill="#b1d8c2" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M75.9679,158.691l-5.8273-.111v-51.653h5.8273v51.764Z" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g>
<script><![CDATA[
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof __SVGATOR_DEFINE__&&__SVGATOR_DEFINE__.amd?__SVGATOR_DEFINE__(e):((t="undefined"!=typeof globalThis?globalThis:t||self).__SVGATOR_PLAYER__=t.__SVGATOR_PLAYER__||{},t.__SVGATOR_PLAYER__["91c80d77"]=e())}(this,(function(){"use strict";const t=n(Math.pow(10,-6)),e=n(Math.pow(10,-2));function n(t,e=6){return function(t,e,n){if(Number.isInteger(t))return t;const r=Math.pow(10,e);return Math[n]((+t+Number.EPSILON)*r)/r}(t,e,"round")}function r(e,n,r=t){return Math.abs(e-n)<r}n(Math.pow(10,-4));const i=Math.PI/180;function s(t){return t*i}function o(t){return t/i}function u(t){return"number"!=typeof t&&(t=Number(t)),isNaN(t)||!isFinite(t)?0:t}let l={iD:!1};function a(t){return`${t}`.replace(/['"]/g,"")}function c(t,e="px"){return t.endsWith(e)?t:`${t}${e}`}function f(t=""){return l.iD?t:void 0}function h(t){const e=["^","\\s*","(matrix\\()","(?<a>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<b>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<c>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<d>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<e>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<f>-?[0-9]*\\.?[0-9]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return[u(n.groups.a),u(n.groups.b),u(n.groups.c),u(n.groups.d),u(n.groups.e),u(n.groups.f)]}function d(t,e="inline"){return t&&t!==e?(t=a(t))===e?f(e):t:f(e)}function g(t,e="1px"){if(!t||t===e)return f(e);if(t.endsWith("px")||t.endsWith("%"))return t;const r=c(t=`${n(u(t),2)}`);return r===e?f(e):r}function p(t,e="none"){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("url(#")?t:function(t){const e=["^","\\s*","url\\(","#","(?<maskId>[a-zA-Z0-9\\-_]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return`url(#${n.groups.maskId})`}(t):f(e)}function y(t,e="rgb(0, 0, 0)"){if(!t||t===e)return f(e);if((t=a(t))===e)return f(e);if(t.startsWith("rgb"))return t;const n=function(t){if("string"!=typeof t||"#"!==t[0])return t;const e=t.slice(1),n=e.length;if(3!==n&&6!==n)return t;for(let r=0;r<n;r++){const n=e.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return t}if(3===n)return`rgb(${parseInt(e[0]+e[0],16)}, ${parseInt(e[1]+e[1],16)}, ${parseInt(e[2]+e[2],16)})`;return`rgb(${parseInt(e.slice(0,2),16)}, ${parseInt(e.slice(2,4),16)}, ${parseInt(e.slice(4,6),16)})`}(t);return n===e?f(e):n}function m(t,e="1"){return t&&t!==e?(t=`${n(u(t),3)}`)===e?f(e):t:f(e)}let v={};const b={fill:"none",stroke:"none",opacity:"0.01",transform:"matrix(0.001 0 0 0.001 -10000 -10000)"};function w({element:t,tagType:e="path",property:n="d",attributeValue:r}){return v[r]||(v[r]=function({element:t,tagType:e="path",property:n="d",attributeValue:r}){const i=t.ownerSVGElement,s=document.createElementNS(i.namespaceURI,e);s.setAttributeNS(null,n,r);for(const t in b)s.setAttributeNS(null,t,b[t]);i.appendChild(s);const o=getComputedStyle(s)[n];return s.remove(),o}({element:t,tagType:e,property:n,attributeValue:r})),v[r]}const x=()=>{v={}};"object"==typeof window&&(window.removeEventListener("resize",x),window.addEventListener("resize",x));const A={include:(t,e)=>["path"].includes(e),formatter:t=>function(t,e=""){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("path(")?t:`path('${t}')`:f(e)}(t)},_={include:(t,e)=>["rect","mask"].includes(e),formatter:(t,e,n)=>g(t,function(t,e){var n;return(null===(n={mask:{x:"-150%",y:"-150%",width:"400%",height:"400%"}}[e])||void 0===n?void 0:n[t])||(["x","y"].includes(t)?"0px":"100%")}(e,n))},k=Object.freeze({d:A,display:t=>d(t),height:_,fill:t=>y(t),"fill-opacity":t=>m(t),filter:t=>d(t,"none"),mask:t=>p(t),opacity:t=>m(t),stroke:t=>y(t,"none"),"stroke-opacity":t=>m(t),"stroke-width":t=>g(t),transform:t=>function(t,e="none"){if(!t||t===e)return f(e);const n=h(t);return n?`matrix(${n.join(", ")})`:t}(t),"transform-origin":t=>function(t,e="0px 0px"){if(!t||t===e)return f(e);const n=["^","\\s*","(?<x>[0-9]+)","(px)?","\\s*",",","\\s*","(?<y>[0-9]+)","(px)?"].join(""),r=t.match(new RegExp(n,"i"));if(!r)return t;let i=`${u(r.groups.x)}`;i=c(i);let s=`${u(r.groups.y)}`;s=c(s);const o=`${i} ${s}`;return o===e?f(e):o}(t),visibility:t=>d(t,"visible"),width:_,x:_,y:_}),S=Object.keys(k),E=e;function I(t,e,n,i,s=window){var o,u;const l=t.getAttribute(e),a="transform"===e?"none":"",c=s.safari&&!s.chrome&&(null===(o=i.getPropertyValue)||void 0===o?void 0:o.call(i,e))===a||"mask"===n?l:null===(u=i.getPropertyValue)||void 0===u?void 0:u.call(i,e);if(l&&c){if(l===c)return l;switch(e){case"transform":return function(t,e){const n=h(t),i=h(e);if((null==n?void 0:n.length)===(null==i?void 0:i.length)){for(let t=0,e=n.length;t<e;t++)if(n[t]!==i[t]&&(s=i[t],!r(((o=n[t])-s)/(o||1)*100,0,E)))return;var s,o;return t}}(l,c);case"d":return function(t,e,n){return w({element:t,attributeValue:e})===n?e:void 0}(t,l,c);default:return c}}}function M(t,e,n,r){var i,s,o,u;const l="transform"===e||["mask","path"].includes(n)&&["x","y","width","height","d"].includes(e);return r&&l?I(t,e,n,r):(null===(i=r.getPropertyValue)||void 0===i?void 0:i.call(r,e))??(null===(s=t.attrs)||void 0===s||null===(o=s.style)||void 0===o?void 0:o[e])??(null===(u=t.attrs)||void 0===u?void 0:u[e])}function O(t,e,n=!1){l.iD=n;const r="undefined"!=typeof window&&getComputedStyle(t),i={};for(let l=0,a=S.length;l<a;l++){var s,o,u;const a=S[l],c=t.type||t.nodeName;if(!1===(null===(s=(o=k[a]).include)||void 0===s?void 0:s.call(o,a,c)))continue;const f=k[a].formatter||k[a];if(null!=e&&null!==(u=e[t.id])&&void 0!==u&&u[a])continue;const h=M(t,a,c,r);if(null==h&&!n)continue;const d=f.call(this,h,a,c);d&&(i[a]=d)}return i}function j(t){var e,n;if(null==t||null===(e=t.wD)||void 0===e||!e.length)return;this.h=t.wD.shift();const r=null===(n=t.rootId)||void 0===n?void 0:n.slice(0,-1);this.wIs=t.wD.map((t=>`${r}${t}`))}function B(t){const e=new j(t),n=t.svg,r=e.wIs,i=t.originalAnimations[0].elements,s=e.h;function o(t,e,s){var u;if(e[t])return;const l=n.querySelector("#"+t),a=null==l||null===(u=l.parentElement)||void 0===u?void 0:u.id;if(l&&a){if(r.includes(a))return e[a]||o(a,e,s),e[a].children??=[],e[t]=O(l,i),void e[a].children.push(e[t]);e[t]=O(l,i),s.push(e[t])}}async function u(){const t=function(){let t=[],e={};for(let n=0,i=r.length;n<i;n++)o(r[n],e,t);return t}();return await async function(t){var e,n;const r=JSON.stringify(t),i=(new TextEncoder).encode(r),o=await(null===(e=window.crypto)||void 0===e||null===(n=e.subtle)||void 0===n?void 0:n.digest("SHA-256",i));return o&&Array.from(new Uint8Array(o)).map((t=>t.toString(16).padStart(2,"0"))).join("")||s}(t)}this.vH=async function(){await u()!==s&&requestAnimationFrame((()=>t.stop()))}}function N(t){let e=0,n=0;const r=new B(t);this.cF=function(i,s){return t.wD?(e++,function(t){return!(t-n<300)&&(t-n>=500||e>=3)}(i)?(e=0,n=i,window.requestAnimationFrame((()=>r.vH())),s()):s()):s()}}function T(t){return t}function P(t,e,n){const r=1-n;return 3*n*r*(t*r+e*n)+n*n*n}function F(t=0,e=0,n=1,i=1){return t<0||t>1||n<0||n>1?null:r(t,e)&&r(n,i)?T:s=>{if(s<=0)return t>0?s*e/t:0===e&&n>0?s*i/n:0;if(s>=1)return n<1?1+(s-1)*(i-1)/(n-1):1===n&&t<1?1+(s-1)*(e-1)/(t-1):1;let o,u=0,l=1;for(;u<l;){o=(u+l)/2;const e=P(t,n,o);if(r(s,e))break;e<s?u=o:l=o}return P(e,i,o)}}function R(){return 1}function V(t){return 1===t?1:0}function C(t=1,e=0){if(1===t){if(0===e)return V;if(1===e)return R}const n=1/t;return t=>t>=1?1:(t+=e*n)-t%n}Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),Number.EPSILON||(Number.EPSILON=2220446049250313e-31);const D=Math.sin,$=Math.cos,L=Math.acos,q=Math.asin,z=Math.tan,G=Math.atan2,W=Math.sqrt;function Y(t,e){return{a:t[0]*e[0]+t[2]*e[1],b:t[1]*e[0]+t[3]*e[1],c:t[0]*e[2]+t[2]*e[3],d:t[1]*e[2]+t[3]*e[3],tx:t[0]*e[4]+t[2]*e[5]+t[4],ty:t[1]*e[4]+t[3]*e[5]+t[5]}}function U(t,e,n){return t>=.5?n:e}function H(t,e,n){return 0===t||e===n?e:t*(n-e)+e}function J(t,e,n){const r=H(t,e,n);return r<=0?0:r}function Q(t,e,n){const r=H(t,e,n);return r<=0?0:r>=1?1:r}function X(t,e,n){return 0===t?e:1===t?n:{x:H(t,e.x,n.x),y:H(t,e.y,n.y)}}function Z(t,e,n){return 0===t?e:1===t?n:{x:J(t,e.x,n.x),y:J(t,e.y,n.y)}}function K(t,e,n){const r=function(t,e,n){return Math.round(H(t,e,n))}(t,e,n);return r<=0?0:r>=255?255:r}function tt(t,e,n){return 0===t?e:1===t?n:{r:K(t,e.r,n.r),g:K(t,e.g,n.g),b:K(t,e.b,n.b),a:H(t,null==e.a?1:e.a,null==n.a?1:n.a)}}function et(t,e,n){let r=e.length;if(r!==n.length)return U(t,e,n);let i=new Array(r);for(let s=0;s<r;s++)i[s]=H(t,e[s],n[s]);return i}function nt(t,e){const n=[];for(let r=0;r<t;r++)n.push(e);return n}function rt(t,e){if(--e<=0)return t;const n=(t=Object.assign([],t)).length;do{for(let e=0;e<n;e++)t.push(t[e])}while(--e>0);return t}class it{constructor(t){this.list=t,this.length=t.length}setAttribute(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].setAttribute(t,e)}removeAttribute(t){const e=this.list;for(let n=0;n<this.length;n++)e[n].removeAttribute(t)}style(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].style[t]=e}}const st=/-./g,ot=(t,e)=>e.toUpperCase();let ut;function lt(t){return"function"==typeof t?t:U}function at(t){return t?"function"==typeof t?t:Array.isArray(t)?function(t,e=T){if(!Array.isArray(t))return e;switch(t.length){case 1:return C(t[0])||e;case 2:return C(t[0],t[1])||e;case 4:return F(t[0],t[1],t[2],t[3])||e}return e}(t,null):function(t,e,n=T){switch(t){case"linear":return T;case"steps":return C(e.steps||1,e.jump||0)||n;case"bezier":case"cubic-bezier":return F(e.x1||0,e.y1||0,e.x2||0,e.y2||0)||n}return n}(t.type,t.value,null):null}function ct(t,e,n,r=!1){const i=e.length-1;if(t<=e[0].t)return r?[0,0,e[0].v]:e[0].v;if(t>=e[i].t)return r?[i,1,e[i].v]:e[i].v;let s,o=e[0],u=null;for(s=1;s<=i;s++){if(!(t>e[s].t)){u=e[s];break}o=e[s]}return null==u?r?[i,1,e[i].v]:e[i].v:o.t===u.t?r?[s,1,u.v]:u.v:(t=(t-o.t)/(u.t-o.t),o.e&&(t=o.e(t)),r?[s,t,n(t,o.v,u.v)]:n(t,o.v,u.v))}function ft(t,e,n=null){return t&&t.length?"function"!=typeof e?null:("function"!=typeof n&&(n=null),r=>{let i=ct(r,t,e);return null!=i&&n&&(i=n(i)),i}):null}function ht(t,e){return t.t-e.t}function dt(t,e,n,r,i){const s="@"===n[0],o="#"===n[0];let u=ut[n],l=U;var a;switch(s?(a=n.substr(1),n=a.replace(st,ot)):o&&(n=n.substr(1)),typeof u){case"function":if(l=u(r,i,ct,at,n,s,e,t),o)return l;break;case"string":l=ft(r,lt(u));break;case"object":if(l=ft(r,lt(u.i),u.f),l&&"function"==typeof u.u)return u.u(e,l,n,s,t)}return l?function(t,e,n,r=!1){if(r)return t instanceof it?r=>t.style(e,n(r)):r=>t.style[e]=n(r);if(Array.isArray(e)){const r=e.length;return i=>{const s=n(i);if(null==s)for(let n=0;n<r;n++)t[n].removeAttribute(e);else for(let n=0;n<r;n++)t[n].setAttribute(e,s)}}return r=>{const i=n(r);null==i?t.removeAttribute(e):t.setAttribute(e,i)}}(e,n,l,s):null}function gt(t,e,n,r){if(!r||"object"!=typeof r)return null;let i=null,s=null;return Array.isArray(r)?s=function(t){if(!t||!t.length)return null;for(let e=0;e<t.length;e++)t[e].e&&(t[e].e=at(t[e].e));return t.sort(ht)}(r):(s=r.keys,i=r.data||null),s?dt(t,e,n,s,i):null}function pt(t,e,n){if(!n)return null;const r=[];for(const i in n)if(n.hasOwnProperty(i)){const s=gt(t,e,i,n[i]);s&&r.push(s)}return r.length?r:null}function yt(t,e){if(!e.settings.duration||e.settings.duration<0)return null;const n=function(t,e){if(!e)return null;let n=[];if(Array.isArray(e)){const r=e.length;for(let i=0;i<r;i++){const r=e[i];if(2!==r.length)continue;let s=null;if("string"==typeof r[0])s=t.getElementById(r[0]);else if(Array.isArray(r[0])){s=[];for(let e=0;e<r[0].length;e++)if("string"==typeof r[0][e]){const n=t.getElementById(r[0][e]);n&&s.push(n)}s=s.length?1===s.length?s[0]:new it(s):null}if(!s)continue;const o=pt(t,s,r[1]);o&&(n=n.concat(o))}}else for(const r in e){if(!e.hasOwnProperty(r))continue;const i=t.getElementById(r);if(!i)continue;const s=pt(t,i,e[r]);s&&(n=n.concat(s))}return n.length?n:null}(t,e.elements);return n?function(t,e){const n=e.duration,r=t.length;let i=null;return(s,o)=>{const u=e.iterations||1/0,l=(e.alternate&&u%2==0)^e.direction>0?n:0;let a=s%n,c=1+(s-a)/n;o*=e.direction,e.alternate&&c%2==0&&(o=-o);let f=!1;if(c>u)a=l,f=!0,-1===e.fill&&(a=e.direction>0?0:n);else if(o<0&&(a=n-a),a===i)return!1;i=a;for(let e=0;e<r;e++)t[e](a);return f}}(n,e.settings):null}function mt(t,e=document,n=0){const r=function(t,e){const n=e.querySelectorAll("svg");for(let e=0;e<n.length;e++)if(n[e].id===t.root&&!n[e].svgatorAnimation)return n[e].svgatorAnimation=!0,n[e];return null}(t,e);if(r)return r;if(n>=20)return null;const i=function(t){const e=t=>t.shadowRoot;return document?Array.from(t.querySelectorAll(":not("+["a","area","audio","br","canvas","circle","datalist","embed","g","head","hr","iframe","img","input","link","object","path","polygon","rect","script","source","style","svg","title","track","video"].join()+")")).filter(e).map(e):[]}(e);for(let e=0;e<i.length;e++){const r=mt(t,i[e],n+1);if(r)return r}return null}function vt(t,e=null,n=Number,r="undefined"!=typeof BigInt&&BigInt){const i="0x"+(t.replace(/[^0-9a-fA-F]+/g,"")||27);return e&&r&&n.isSafeInteger&&!n.isSafeInteger(+i)?n(r(i))%e+e:+i}function bt(t,e=27){return!t||t%e?t%e:[0,1].includes(e)?e:bt(t/e,e)}function wt(t,e,n){if(!t||!t.length)return;const r=vt(n),i=bt(r)+5;let s=function(t,e,n){let r="";for(;t&&n&&e<=t.length;)r+=t.substring(0,e),t=t.substring(e+1),e=n;return r+t}(t,bt(r,5),i);return s=s.replace(/\x7c$/g,"==").replace(/\x2f$/g,"="),s=atob(s),s=s.replace(/[\x41-\x5A]/g,""),s=function(t,e,n){const r=+("0x"+t.substring(0,4));t=t.substring(4);const i=vt(e,r)%r+n%27,s=[];for(let e=0;e<t.length;e+=2){if("|"===t[e]){const n=+("0x"+t.substring(e+1,e+1+4))-i;e+=3,s.push(n);continue}const n=+("0x"+t[e]+t[e+1])-i;s.push(n)}return String.fromCharCode(...s)}(s,e,r),s=JSON.parse(s),s}const xt=[{key:"alternate",def:!1},{key:"fill",def:1},{key:"iterations",def:0},{key:"direction",def:1},{key:"speed",def:1},{key:"fps",def:100}];function At(t){return n(t)+""}function _t(t,e=" "){return t&&t.length?t.map(At).join(e):""}function kt(t){return At(t.x)+","+At(t.y)}function St(t){return t?null==t.a||t.a>=1?function(t){if(!t)return"transparent";const e=t=>parseInt(t).toString(16).padStart(2,"0");return function(t){const e=[];let n="#"===t[0]?e.push("#"):0;for(;n<t.length;n+=2){if(t[n]!==t[n+1])return t;e.push(t[n])}return e.join("")}("#"+e(t.r)+e(t.g)+e(t.b)+(null==t.a||t.a>=1?"":e(255*t.a)))}(t):"rgba("+t.r+","+t.g+","+t.b+","+t.a+")":"transparent"}function Et(t){return t?"url(#"+t+")":"none"}!function(){for(var t=0,e=["ms","moz","webkit","o"],n=0;n<e.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[e[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[n]+"CancelAnimationFrame"]||window[e[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e){var n=Date.now(),r=Math.max(0,16-(n-t)),i=window.setTimeout((function(){e(n+r)}),r);return t=n+r,i},window.cancelAnimationFrame=window.clearTimeout)}();var It={f:null,i:Z,u:(t,e)=>n=>{const r=e(n);t.setAttribute("rx",At(r.x)),t.setAttribute("ry",At(r.y))}},Mt={f:null,i:function(t,e,n){return 0===t?e:1===t?n:{width:J(t,e.width,n.width),height:J(t,e.height,n.height)}},u:(t,e)=>n=>{const r=e(n);t.setAttribute("width",At(r.width)),t.setAttribute("height",At(r.height))}};Object.freeze({M:2,L:2,Z:0,H:1,V:1,C:6,Q:4,T:2,S:4,A:7});let Ot={},jt=null;function Bt(t){let e=function(){if(jt)return jt;if("object"!=typeof document||!document.createElementNS)return{};let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t&&t.style?(t.style.position="absolute",t.style.opacity="0.01",t.style.zIndex="-9999",t.style.left="-9999px",t.style.width="1px",t.style.height="1px",jt={svg:t},jt):{}}().svg;if(!e)return function(t){return null};let n=document.createElementNS(e.namespaceURI,"path");n.setAttributeNS(null,"d",t),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"stroke","none"),e.appendChild(n);let r=n.getTotalLength();return function(t){let e=n.getPointAtLength(r*t);return{x:e.x,y:e.y}}}function Nt(t,e,n,r,i=1){let s=function(t){return Ot[t]?Ot[t]:Ot[t]=Bt(t)}(function(t,e,n,r){if(!t||!r)return!1;let i=["M",t.x,t.y];if(e&&n&&(i.push("C"),i.push(e.x),i.push(e.y),i.push(n.x),i.push(n.y)),e?!n:n){let t=e||n;i.push("Q"),i.push(t.x),i.push(t.y)}return e||n||i.push("L"),i.push(r.x),i.push(r.y),i.join(" ")}(t,e,n,r));try{return s(i)}catch(t){return null}}function Tt(t,e,n){return t+(e-t)*n}function Pt(t,e,n,r=!1){const i={x:Tt(t.x,e.x,n),y:Tt(t.y,e.y,n)};return r&&(i.a=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}(t,e)),i}function Ft(t,e,n,r){const i=1-r;return i*i*t+2*i*r*e+r*r*n}function Rt(t,e,n,r){return 2*(1-r)*(e-t)+2*r*(n-e)}function Vt(t,e,n,r,i=!1){let s=Nt(t,e,null,n,r);return s||(s={x:Ft(t.x,e.x,n.x,r),y:Ft(t.y,e.y,n.y,r)}),i&&(s.a=function(t,e,n,r){return Math.atan2(Rt(t.y,e.y,n.y,r),Rt(t.x,e.x,n.x,r))}(t,e,n,r)),s}function Ct(t,e,n,r,i){const s=i*i;return i*s*(r-t+3*(e-n))+3*s*(t+n-2*e)+3*i*(e-t)+t}function Dt(t,e,n,r,i){const s=1-i;return 3*(s*s*(e-t)+2*s*i*(n-e)+i*i*(r-n))}function $t(t,e,n,r,i,s=!1){let o=Nt(t,e,n,r,i);return o||(o={x:Ct(t.x,e.x,n.x,r.x,i),y:Ct(t.y,e.y,n.y,r.y,i)}),s&&(o.a=function(t,e,n,r,i){return Math.atan2(Dt(t.y,e.y,n.y,r.y,i),Dt(t.x,e.x,n.x,r.x,i))}(t,e,n,r,i)),o}function Lt(t,e,n,r=!1){if(zt(e)){if(Gt(n))return Vt(e,n.start,n,t,r)}else if(zt(n)){if(Wt(e))return Vt(e,e.end,n,t,r)}else{if(Wt(e))return Gt(n)?$t(e,e.end,n.start,n,t,r):Vt(e,e.end,n,t,r);if(Gt(n))return Vt(e,n.start,n,t,r)}return Pt(e,n,t,r)}function qt(t,e,n){const r=Lt(t,e,n,!0);return r.a=o(function(t,e=!1){return e?t+Math.PI:t}(r.a)),r}function zt(t){return!t.type||"corner"===t.type}function Gt(t){return null!=t.start&&!zt(t)}function Wt(t){return null!=t.end&&!zt(t)}const Yt=new class{constructor(t=1,e=0,n=0,r=1,i=0,s=0){this.m=[t,e,n,r,i,s],this.i=null,this.w=null,this.s=null}get determinant(){const t=this.m;return t[0]*t[3]-t[1]*t[2]}get isIdentity(){if(null===this.i){const t=this.m;this.i=1===t[0]&&0===t[1]&&0===t[2]&&1===t[3]&&0===t[4]&&0===t[5]}return this.i}point(t,e){const n=this.m;return{x:n[0]*t+n[2]*e+n[4],y:n[1]*t+n[3]*e+n[5]}}translateSelf(t=0,e=0){if(!t&&!e)return this;const n=this.m;return n[4]+=n[0]*t+n[2]*e,n[5]+=n[1]*t+n[3]*e,this.w=this.s=this.i=null,this}rotateSelf(t=0){if(t%=360){t=s(t);const e=D(t),n=$(t),r=this.m,i=r[0],o=r[1];r[0]=i*n+r[2]*e,r[1]=o*n+r[3]*e,r[2]=r[2]*n-i*e,r[3]=r[3]*n-o*e,this.w=this.s=this.i=null}return this}scaleSelf(t=1,e=1){if(1!==t||1!==e){const n=this.m;n[0]*=t,n[1]*=t,n[2]*=e,n[3]*=e,this.w=this.s=this.i=null}return this}skewSelf(t,e){if(e%=360,(t%=360)||e){const n=this.m,r=n[0],i=n[1],o=n[2],u=n[3];t&&(t=z(s(t)),n[2]+=r*t,n[3]+=i*t),e&&(e=z(s(e)),n[0]+=o*e,n[1]+=u*e),this.w=this.s=this.i=null}return this}resetSelf(t=1,e=0,n=0,r=1,i=0,s=0){const o=this.m;return o[0]=t,o[1]=e,o[2]=n,o[3]=r,o[4]=i,o[5]=s,this.w=this.s=this.i=null,this}recomposeSelf(t=null,e=null,n=null,r=null,i=null){return this.isIdentity||this.resetSelf(),t&&(t.x||t.y)&&this.translateSelf(t.x,t.y),e&&this.rotateSelf(e),n&&(n.x&&this.skewSelf(n.x,0),n.y&&this.skewSelf(0,n.y)),!r||1===r.x&&1===r.y||this.scaleSelf(r.x,r.y),i&&(i.x||i.y)&&this.translateSelf(i.x,i.y),this}decompose(t=0,e=0){const r=this.m,i=r[0]*r[0]+r[1]*r[1],s=[[r[0],r[1]],[r[2],r[3]]];let u=W(i);if(0===u)return{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:0,y:0},skew:{x:0,y:0},rotate:0};s[0][0]/=u,s[0][1]/=u;const l=r[0]*r[3]-r[1]*r[2]<0;l&&(u=-u);let a=s[0][0]*s[1][0]+s[0][1]*s[1][1];s[1][0]-=s[0][0]*a,s[1][1]-=s[0][1]*a;let c,f=W(s[1][0]*s[1][0]+s[1][1]*s[1][1]);return 0===f?{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:0},skew:{x:0,y:0},rotate:0}:(s[1][0]/=f,s[1][1]/=f,a/=f,s[1][1]<0?(c=o(L(s[1][1])),s[0][1]<0&&(c=360-c)):c=o(q(s[0][1])),l&&(c=-c),a=o(G(a,W(s[0][0]*s[0][0]+s[0][1]*s[0][1]))),l&&(a=-a),{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:n(f)},skew:{x:n(a),y:0},rotate:n(c)})}multiply(t){return this.clone().multiplySelf(t)}preMultiply(t){return t.multiply(this)}multiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(this.m,t.m);return this.resetSelf(e,n,r,i,s,o),this}preMultiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(t.m,this.m);return this.resetSelf(e,n,r,i,s,o),this}clone(){const t=this.m;return new this.constructor(t[0],t[1],t[2],t[3],t[4],t[5])}static create(t){return t?Array.isArray(t)?new this(...t):t instanceof this?t.clone():(new this).recomposeSelf(t.origin,t.rotate,t.skew,t.scale,t.translate):new this}toString(t=" ",e=!1){if(null===this.s){let r=this.m.map((t=>n(t)));e||1!==r[0]||0!==r[1]||0!==r[2]||1!==r[3]?this.s="matrix("+r.join(t)+")":this.s="translate("+r[4]+t+r[5]+")"}return this.s}};var Ut={f:function(t){return t?t.join(" "):""},i:function(t,e,n){if(0===t)return e;if(1===t)return n;let r=e.length;if(r!==n.length)return U(t,e,n);let i,s=new Array(r);for(let o=0;o<r;o++){if(i=typeof e[o],i!==typeof n[o])return U(t,e,n);if("number"===i)s[o]=H(t,e[o],n[o]);else{if(e[o]!==n[o])return U(t,e,n);s[o]=e[o]}}return s}},Ht={f:null,i:et,u:(t,e)=>n=>{const r=e(n);t.setAttribute("x1",At(r[0])),t.setAttribute("y1",At(r[1])),t.setAttribute("x2",At(r[2])),t.setAttribute("y2",At(r[3]))}},Jt={f:At,i:H},Qt={f:At,i:Q},Xt={f:function(t,e=" "){return t&&t.length>0&&(t=t.map((t=>n(t,4)))),_t(t,e)},i:function(t,e,r){let i=e.length,s=r.length;if(i!==s)if(0===i)i=s,e=nt(i,0);else if(0===s)s=i,r=nt(i,0);else{const t=function(t,e){const n=t*e/function(t,e){let n;for(;e;)n=e,e=t%e,t=n;return t||1}(t,e);return n<0?-n:n}(i,s);e=rt(e,Math.floor(t/i)),r=rt(r,Math.floor(t/s)),i=s=t}let o=[];for(let s=0;s<i;s++)o.push(n(J(t,e[s],r[s])));return o}};function Zt(t,e,r){return t.map((t=>function(t,e,r){let i=t.v;if(!i||"g"!==i.t||i.s||!i.v||!i.r)return t;const s=r.getElementById(i.r),o=s&&s.querySelectorAll("stop")||[];return i.s=i.v.map(((t,e)=>{let r=o[e]&&o[e].getAttribute("offset");return r=n(parseInt(r)/100),{c:t,o:r}})),delete i.v,t}(t,0,r)))}const Kt={gt:"gradientTransform",c:{x:"cx",y:"cy"},rd:"r",f:{x:"x1",y:"y1"},to:{x:"x2",y:"y2"}};function te(t,e,n,r,i,s,o,u){return Zt(t,0,u),e=function(t,e,n){let r,i,s;const o=t.length-1,u={};for(let l=0;l<=o;l++)r=t[l],r.e&&(r.e=e(r.e)),r.v&&(i=r.v,"g"===i.t&&i.r&&(s=n.getElementById(i.r),s&&(u[i.r]={e:s,s:s.querySelectorAll("stop")})));return u}(t,r,u),r=>{const i=n(r,t,ee);if(!i)return"none";if("c"===i.t)return St(i.v);if("g"===i.t){if(!e[i.r])return Et(i.r);const t=e[i.r];return function(t,e){let n=t.s;for(let r=n.length;r<e.length;r++){const e=n[n.length-1].cloneNode();e.id=ie(e.id),t.e.appendChild(e),n=t.s=t.e.querySelectorAll("stop")}for(let t=0,r=n.length,i=e.length-1;t<r;t++)n[t].setAttribute("stop-color",St(e[Math.min(t,i)].c)),n[t].setAttribute("offset",e[Math.min(t,i)].o)}(t,i.s),Object.keys(Kt).forEach((e=>{if(void 0===i[e])return;if("object"==typeof Kt[e])return void Object.keys(Kt[e]).forEach((n=>{if(void 0===i[e][n])return;const r=i[e][n],s=Kt[e][n];t.e.setAttribute(s,r)}));const n="gt"===e?(r=i[e],Array.isArray(r)?"matrix("+r.join(" ")+")":""):i[e];var r;const s=Kt[e];t.e.setAttribute(s,n)})),Et(i.r)}return"none"}}function ee(t,e,n){if(0===t)return e;if(1===t)return n;if(e&&n){const r=e.t;if(r===n.t)switch(e.t){case"c":return{t:r,v:tt(t,e.v,n.v)};case"g":if(e.r===n.r){const i={t:r,s:ne(t,e.s,n.s),r:e.r};return e.gt&&n.gt&&(i.gt=et(t,e.gt,n.gt)),e.c?(i.c=X(t,e.c,n.c),i.rd=J(t,e.rd,n.rd)):e.f&&(i.f=X(t,e.f,n.f),i.to=X(t,e.to,n.to)),i}}if("c"===e.t&&"g"===n.t||"c"===n.t&&"g"===e.t){const r="c"===e.t?e:n,i="g"===e.t?{...e}:{...n},s=i.s.map((t=>({c:r.v,o:t.o})));return i.s="c"===e.t?ne(t,s,i.s):ne(t,i.s,s),i}}return U(t,e,n)}function ne(t,e,n){if(e.length===n.length)return e.map(((e,r)=>re(t,e,n[r])));const r=Math.max(e.length,n.length),i=[];for(let s=0;s<r;s++){const r=re(t,e[Math.min(s,e.length-1)],n[Math.min(s,n.length-1)]);i.push(r)}return i}function re(t,e,n){return{o:Q(t,e.o,n.o||0),c:tt(t,e.c,n.c||{})}}function ie(t){return t.replace(/-fill-([0-9]+)$/,((t,e)=>"-fill-"+(+e+1)))}function se(t,e,n){return 0===t?e:1===t?n:{blur:Z(t,e.blur,n.blur),offset:X(t,e.offset,n.offset),color:tt(t,e.color,n.color)}}const oe={blur:Z,brightness:J,contrast:J,"drop-shadow":se,"inner-shadow":se,grayscale:J,"hue-rotate":H,invert:J,opacity:J,saturate:J,sepia:J};function ue(t,e,n){if(0===t)return e;if(1===t)return n;const r=e.length;if(r!==n.length)return U(t,e,n);const i=[];let s;for(let o=0;o<r;o++){if(e[o].type!==n[o].type)return e;if(s=oe[e[o].type],!s)return U(t,e,n);i.push({type:e.type,value:s(t,e[o].value,n[o].value)})}return i}const le={blur:t=>t?e=>{t.setAttribute("stdDeviation",kt(e))}:null,brightness:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e),t.map((t=>t.setAttribute("slope",e)))}:null,contrast:(t,e,n)=>(t=ce(n,e))?e=>{const n=At((1-e)/2);e=At(e),t.map((t=>{t.setAttribute("slope",e),t.setAttribute("intercept",n)}))}:null,"drop-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-flood");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y)),s.setAttribute("flood-color",St(t.color))}:null},"inner-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-color-matrix");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y));const e=[0,0,0,0,t.color.r/255,0,0,0,0,t.color.g/255,0,0,0,0,t.color.b/255,0,0,0,t.color.a,0];s.setAttribute("values",_t(e))}:null},grayscale:t=>t?e=>{t.setAttribute("values",_t(function(t){return[.2126+.7874*(t=1-t),.7152-.7152*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152+.2848*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152-.7152*t,.0722+.9278*t,0,0,0,0,0,1,0]}(e)))}:null,"hue-rotate":t=>t?e=>t.setAttribute("values",At(e)):null,invert:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e)+" "+At(1-e),t.map((t=>t.setAttribute("tableValues",e)))}:null,opacity:(t,e,n)=>(t=n.getElementById(e+"-A"))?e=>t.setAttribute("tableValues","0 "+At(e)):null,saturate:t=>t?e=>t.setAttribute("values",At(e)):null,sepia:t=>t?e=>t.setAttribute("values",_t(function(t){return[.393+.607*(t=1-t),.769-.769*t,.189-.189*t,0,0,.349-.349*t,.686+.314*t,.168-.168*t,0,0,.272-.272*t,.534-.534*t,.131+.869*t,0,0,0,0,0,1,0]}(e))):null};const ae=["R","G","B"];function ce(t,e){const n=ae.map((n=>t.getElementById(e+"-"+n)||null));return-1!==n.indexOf(null)?null:n}var fe={fill:te,"fill-opacity":Qt,stroke:te,"stroke-opacity":Qt,"stroke-width":Jt,"stroke-dashoffset":{f:At,i:H},"stroke-dasharray":Xt,opacity:Qt,transform:function(t,e,n,r){if(!(t=function(t,e){if(!t||"object"!=typeof t)return null;let n=!1;for(const r in t)t.hasOwnProperty(r)&&(t[r]&&t[r].length?(t[r].forEach((t=>{t.e&&(t.e=e(t.e))})),n=!0):delete t[r]);return n?t:null}(t,r)))return null;const i=(r,i,s,o=null)=>t[r]?n(i,t[r],s):e&&e[r]?e[r]:o;return e&&e.a&&t.o?e=>{const r=n(e,t.o,qt);return Yt.recomposeSelf(r,i("r",e,H,0)+r.a,i("k",e,X),i("s",e,X),i("t",e,X)).toString()}:t=>Yt.recomposeSelf(i("o",t,Lt,null),i("r",t,H,0),i("k",t,X),i("s",t,X),i("t",t,X)).toString()},"#filter":function(t,e,n,r,i,s,o,u){if(!e.items||!t||!t.length)return null;const l=function(t,e){const n=(t=t.map((t=>t&&le[t[0]]?(e.getElementById(t[1]),le[t[0]](e.getElementById(t[1]),t[1],e)):null))).length;return e=>{for(let r=0;r<n;r++)t[r]&&t[r](e[r].value)}}(e.items,u);return l?(t=function(t,e){return t.map((t=>(t.e=e(t.e),t)))}(t,r),e=>{l(n(e,t,ue))}):null},"#line":Ht,points:{f:_t,i:et},d:Ut,r:Jt,"#size":Mt,"#radius":It,_(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)this[t[n]]=e;else this[t]=e}};const he={currentTime:"offset",duration:"duration",hasEnded:function(){return this.reachedToEnd()},isAlternate:"alternate",isPlaying:"_running",isRollingBack:"_rollingBack",state:function(t,e){return e.isPlaying?e.isRollingBack?"rollback":"playing":e.hasEnded?"ended":"paused"},totalTime:"maxFiniteDuration",iterations:"iterations",direction:"direction",fill:"fill",isReversed:function(t,e){return-1===e.direction},isBackwards:function(t,e){return-1===e.fill},isInfinite:function(t,e){return 0===e.iterations},speed:"speed",fps:"fps"},de={destruct:"destruct",pause:"pause",play:function(t,e){return ge(t,e.hasEnded?"restart":"play",e)},restart:"restart",reverse:function(t,e){return ge(t,"reverse",e,[!0])},seek:"seek",seekBy:"seekBy",seekTo:"seekTo",stop:"stop",toggle:"toggle",togglePlay:"toggle",set:"set"};function ge(t,e,n,r=[]){return function(){const i=[...arguments];return i.unshift(...r),t[e].call(t,...i),n}}class pe{constructor(t){const e={},n=["on","off"],r={get:function(t,r,i){return he[r]?"function"==typeof he[r]?he[r].call(t,t,i):t[he[r]]:de[r]?"function"==typeof de[r]?de[r].call(t,t,i):ge(t,de[r],i):-1!==n.indexOf(r)?e[r]:"ready"===r?t=>(t&&t.call(i,i),i):void 0},set:function(t,r,i){return-1!==n.indexOf(r)&&(e[r]=i)},ownKeys:function(t){return Object.keys(he)},has:function(t,e){return void 0!==he[e]}};if("function"==typeof Proxy)return new Proxy(t,r);const i=Object.keys(he).concat(Object.keys(de)).concat(n),s={};return i.forEach((e=>{const i={enumerable:!1,configurable:!1,get:()=>r.get(t,e,s)};-1!==n.indexOf(e)&&(i.set=n=>r.set(t,e,n)),Object.defineProperty(s,e,i)})),s}}function ye(t){t||(t=this);let e={};this.on=function(t,n,r=!1){return"function"==typeof n&&(t.split(/[, ]+/g).forEach((t=>(e[t]=e[t]||[],r?e[t].unshift(n):e[t].push(n)))),!0)},this.off=function(t,n){for(let r in e)if(e.hasOwnProperty(r)&&r.substr(0,t.length)===t)if(n)for(let t=0;t<e[r].length;t++)e[r][t]===n&&(e[r][t]=null);else e[r]=null},this.trigger=function(){let n,[r,...i]=[...arguments];t:for(let s in e)if(e.hasOwnProperty(s)&&e[s]&&(s===r||s.substr(0,r.length+1)===r+"."))for(let r=0;r<(e[s]||[]).length;r++)if(e[s][r]&&(n=e[s][r].apply(t,i),!1===n))break t;return n}}let me=function(t,e,n=n){let r=!1,i=null;return function(s){r&&clearTimeout(r),r=setTimeout((()=>function(){let s=0,o=n.innerHeight,u=0,l=n.innerWidth,a=t.parentNode;for(;a instanceof Element;){let t=n.getComputedStyle(a);if("visible"!==t.overflowY||"visible"!==t.overflowX){let e=a.getBoundingClientRect();"visible"!==t.overflowY&&(s=Math.max(s,e.top),o=Math.min(o,e.bottom)),"visible"!==t.overflowX&&(u=Math.max(u,e.left),l=Math.min(l,e.right))}if(a===a.parentNode)break;a=a.parentNode}r=!1;let c=t.getBoundingClientRect(),f=Math.min(c.height,Math.max(0,s-c.top)),h=Math.min(c.height,Math.max(0,c.bottom-o)),d=Math.min(c.width,Math.max(0,u-c.left)),g=Math.min(c.width,Math.max(0,c.right-l)),p=(c.height-f-h)/c.height,y=(c.width-d-g)/c.width,m=Math.round(p*y*100);null!==i&&i===m||(i=m,e(m))}()),100)}};class ve{constructor(t,e,n){const r=function(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i={el:t,window:window};if(!r)return i;let s;try{s=window.parent.document}catch(t){return i}return i.window=window.parent,i.el=Array.from(s.querySelectorAll("iframe,object")).filter((t=>t.contentWindow===window))[0]||i.el,i}(t);e=Math.max(1,e||1),e=Math.min(e,100),this.el=r.el,this._handlers=[],this.onThresholdChange=n&&n.call?n:()=>{},this.thresholdPercent=e||1,this.currentVisibility=null,this.visibilityCalculator=me(this.el,this.onVisibilityUpdate.bind(this),r.window),this.bindScrollWatchers(),this.visibilityCalculator()}bindScrollWatchers(){let t=this.el.parentNode;for(;t&&(this._handlers.push({element:t,event:"scroll",handler:this.visibilityCalculator}),t.addEventListener("scroll",this.visibilityCalculator),t!==t.parentNode&&t!==document);)t=t.parentNode}onVisibilityUpdate(t){let e=this.currentVisibility>=this.thresholdPercent,n=t>=this.thresholdPercent;if(null===this.currentVisibility||e!==n)return this.currentVisibility=t,void this.onThresholdChange(n);this.currentVisibility=t}destruct(){this._handlers.forEach((t=>{t.element.removeEventListener(t.event,t.handler)}))}}class be{static adjustLink(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i=null==t?void 0:t.firstElementChild;r&&i&&"a"===i.tagName&&!i.getAttribute("target")&&i.setAttributeNS(null,"target","_parent")}static autoPlay(t,e,n,r=[]){if("click"===n.start){const i=()=>{switch(n.click){case"freeze":return!t._running&&t.reachedToEnd()?t.restart():t.toggle();case"restart":return t.offset>0?t.restart():t.play();case"reverse":return t._running?t.reverse():t.reachedToEnd()?1===t.fill?t.reverse(!0):t.restart():t.play();case"none":default:if(t._running)return;return t.reachedToEnd()?t.restart():t.play()}};return r.push({element:e,event:"click",handler:i}),void e.addEventListener("click",i)}if("hover"===n.start){const i=()=>t.reachedToEnd()?t.restart():t._rollingBack?t.reverse():t.play();r.push({element:e,event:"mouseenter",handler:i}),e.addEventListener("mouseenter",i);const s=()=>{switch(n.hover){case"freeze":return t.pause();case"reset":return t.stop();case"reverse":if(t.reverse(),t._running)return;return t.play();case"none":default:return}};return r.push({element:e,event:"mouseleave",handler:s}),void e.addEventListener("mouseleave",s)}if("scroll"!==n.start)"programmatic"!==n.start&&t.play();else{const i=new ve(e,n.scroll||25,(function(e){e?t.reachedToEnd()?t.restart():t.play():t.pause()}));r.push({callback:()=>i.destruct()})}}}const we=!0,xe=["iterations","speed","fps","direction","fill","alternate"];class Ae extends class{_svg;_rootId;constructor(t){this._id=0,this._running=!1,this._rollingBack=!1,this._animations=t.animations,this._settings=t.animationSettings,t.version<"2022-05-02"&&delete this._settings.speed,xt.forEach((t=>{this._settings[t.key]=this._settings[t.key]||t.def})),this.duration=t.animationSettings.duration,this.offset=t.animationSettings.offset||0,this.rollbackStartOffset=0,this._rootId=t.root,this._svg=t.svg,this._originalAnimations=t.originalAnimations,this._fTC=new N(this)}get svg(){return this._svg}get rootId(){return this._rootId}get alternate(){return this._settings.alternate}get fill(){return this._settings.fill}get iterations(){return this._settings.iterations}get direction(){return this._settings.direction}get speed(){return this._settings.speed}get fps(){return this._settings.fps}get wD(){return this._settings.w}get originalAnimations(){return this._originalAnimations}get maxFiniteDuration(){return this.iterations>0?this.iterations*this.duration:this.duration}static build(t,e){if(delete t.animationSettings,t.options=wt(t.options,t.root,"91c80d77"),t.animations.map((e=>{e.settings=wt(e.s,t.root,"91c80d77"),delete e.s,t.animationSettings||(t.animationSettings=e.settings)})),Object.assign(t,{originalAnimations:t.animations},function(t,e){if(ut=e,!t||!t.root||!Array.isArray(t.animations))return null;const n=mt(t);if(!n)return null;const r=t.animations.map((t=>yt(n,t))).filter((t=>!!t));return r.length?{svg:n,animations:r}:null}(t,e)),!t)return null;const n=t.options||{},r=new this(t);return{el:t.svg,options:n,player:r}}static push(t){return this.build(t)}static init(){const t=window.__SVGATOR_PLAYER__&&window.__SVGATOR_PLAYER__["91c80d77"];Array.isArray(t)&&t.splice(0).forEach((t=>this.build(t)))}_apply(t,e={}){const n=this._animations,r=n.length;let i=0;for(let s=0;s<r;s++)e[s]?i++:(e[s]=n[s](t,1),e[s]&&i++);return i}_rollback(t){let e=1/0,n=null;this.rollbackStartOffset=t,this._rollingBack=!0,this._running=!0;const r=i=>{if(!this._rollingBack)return;null==n&&(n=i);let s=Math.round(t-(i-n)*this.speed);if(s>this.duration&&e!==1/0){const t=!!this.alternate&&s/this.duration%2>1;let e=s%this.duration;e+=t?this.duration:0,s=e||this.duration}const o=(this.fps?1e3/this.fps:0)*this.speed,u=Math.max(0,s);u<=e-o&&(this.offset=u,e=u,this._apply(u));const l=this.iterations>0&&-1===this.fill&&s>=this.maxFiniteDuration;(s<=0||this.offset<s||l)&&this.stop(),this._id=window.requestAnimationFrame(r)};this._id=window.requestAnimationFrame(r)}_start(t=0){let e,n=-1/0;const r={};this._running=!0;const i=s=>{e??=s;const o=Math.round((s-e)*this.speed+t),u=(this.fps?1e3/this.fps:0)*this.speed;o>=n+u&&!this._rollingBack&&this._fTC.cF(s,(()=>{this.offset=o,n=o;if(this._apply(o,r)===this._animations.length)return this.pause(!0),!0}))||(this._id=window.requestAnimationFrame(i))};this._id=window.requestAnimationFrame(i)}_pause(){this._id&&window.cancelAnimationFrame(this._id),this._running=!1}play(){if(!this._running)return this._rollingBack?this._rollback(this.offset):this._start(this.offset)}stop(){this._pause(),this.offset=0,this.rollbackStartOffset=0,this._rollingBack=!1,this._apply(0)}reachedToEnd(){return this.iterations>0&&this.offset>=this.iterations*this.duration}restart(t=!1){this.stop(t),this.play(t)}pause(){this._pause()}toggle(){return this._running?this.pause():this.reachedToEnd()?this.restart():this.play()}trigger(t,e){}_adjustOffset(t=!1){const e=this.alternate?2*this.duration:this.duration;if(t){if(!this._rollingBack&&0===this.offset)return void(this.offset=e);this._rollingBack&&(this.offset,this.maxFiniteDuration)}!this._rollingBack||this.rollbackStartOffset<=this.duration?0!==this.iterations&&(this.offset=Math.min(this.offset,this.maxFiniteDuration)):(this.offset=this.rollbackStartOffset-(this.rollbackStartOffset-this.offset)%e,this.rollbackStartOffset=0)}reverse(t=!1){if(!this._running)return this._adjustOffset(t),this._rollingBack=!this._rollingBack,t&&this.play(!1),void this.trigger("reverse",this.offset);this.pause(!1,!1),this._adjustOffset(),this._rollingBack=!this._rollingBack,this.play(!1),this.trigger("reverse",this.offset)}}{constructor(t){super(t),this._handlers=[]}static build(t){let e=super.build(t,fe);if(!e)return null;let{el:n,options:r,player:i}=e;const s=new pe(i),o=new ye(s);s.on=o.on,s.off=o.off,i.trigger=o.trigger;const u=n.svgatorPlayer&&n.svgatorPlayer.ready&&n.svgatorPlayer.ready.call&&n.svgatorPlayer.ready.call();n.svgatorPlayer=s,be.adjustLink(n),be.autoPlay(i,n,r,i._handlers),function(t,e,n){let r;"function"==typeof Event?r=new Event("ready"):(r=document.createEvent("Event"),r.initEvent("ready",!0,!0));if(t.dispatchEvent(r),!n||!n.length)return;n.forEach((t=>e.ready(t)))}(n,n.svgatorPlayer,u)}play(t=true){const e=super.play();return t===we&&this.trigger("play",this.offset),e}pause(t=!1,e=true){const n=super.pause();return e===we&&this.trigger(t?"end":"pause",this.offset),n}restart(){const t=super.restart(!1);return this.trigger("restart",this.offset),t}stop(t=true){const e=super.stop();return t===we&&this.trigger("stop",this.offset),e}_apply(t,e={},n=true){const r=super._apply(t);if(n===we){const e=()=>this.trigger("keyframe",t);window.requestAnimationFrame(e)}return r}seekTo(t){const e=this._running;var n,r,i;e&&this.pause(!1,!1),this.offset=this.iterations>0?(n=t,r=0,i=this.maxFiniteDuration,n<r?r:n>i?i:n):Math.max(t,0),this._apply(this.offset),e&&this.play(!1)}seek(t){return this.seekTo(Math.round(t/100*this.maxFiniteDuration))}seekBy(t){return this.seekTo(this.offset+t)}set(t,e){if(!xe.includes(t))return;const n=this._running;n&&this.pause(!1,!1),this._settings[t]=e,n?this.play(!1):this._apply(this.offset,{},!1)}destruct(){this.stop(),this._handlers.forEach((t=>{t.element?t.element.removeEventListener(t.event,t.handler):t.callback&&t.callback.call&&t.callback.call()}));const t=()=>{},e=Object.getOwnPropertyNames(Object.getPrototypeOf(this));e.push(...Object.getOwnPropertyNames(this)),e.forEach((e=>{"function"==typeof this[e]?this[e]=t:delete this[e]}))}}return Ae.init(),Ae}));
(function(s,i,o,w,d,a,b){(a=Array.from(d.querySelectorAll('svg#' + i.root)).filter(n=> !n.svgatorPlayer)[0]||{}).svgatorPlayer={ready:(function(a){b=[];return function(c){return c?(b.push(c),a.svgatorPlayer):b}})(a)};w[o]=w[o]||{};w[o][s]=w[o][s]||[];w[o][s].push(i);})('91c80d77',{"root":"ecfwKF3VQCk1","version":"2025-04-07","animations":[{"elements":{"ecfwKF3VQCk2":{"transform":{"data":{"o":{"x":97.335997,"y":97.248302,"type":"corner"},"t":{"x":-97.335996,"y":-97.248302}},"keys":{"r":[{"t":0,"v":0},{"t":1200,"v":-1.5},{"t":2500,"v":0}]}}},"ecfwKF3VQCk7":{"d":[{"t":0,"v":["M",92.0112,85.1847,"L",86.184,85.1847,"L",86.184,30.9683,"L",92.2713,30.9126,"L",92.0112,85.1847,"Z"],"e":[0.92,0.005,0.09,1]},{"t":1200,"v":["M",92.0112,85.1847,"L",86.184,85.1847,"L",86.184,37.9683,"L",92.2713,37.9126,"L",92.0112,85.1847,"Z"],"e":[0.92,0.005,0.09,1]},{"t":2500,"v":["M",92.0112,85.1847,"L",86.184,85.1847,"L",86.184,30.9683,"L",92.2713,30.9126,"L",92.0112,85.1847,"Z"]}]},"ecfwKF3VQCk9":{"d":[{"t":0,"v":["M",124.143,85.495,"L",118.315,85.495,"L",118.099,35.4648,"L",124.143,35.4772,"L",124.143,85.495,"Z"],"e":[0.92,0.005,0.09,1]},{"t":1200,"v":["M",124.143,85.495,"L",118.315,85.495,"L",118.099,42.4648,"L",124.143,42.4772,"L",124.143,85.495,"Z"]},{"t":2500,"v":["M",124.143,85.495,"L",118.315,85.495,"L",118.099,35.4648,"L",124.143,35.4772,"L",124.143,85.495,"Z"],"e":[0.92,0.005,0.09,1]}]},"ecfwKF3VQCk11":{"d":[{"t":0,"v":["M",92.0163,122.533,"L",86.4182,122.533,"L",86.4182,144.405,"L",92.0163,144.405,"L",92.0163,122.533,"Z"],"e":[0.92,0.005,0.09,1]},{"t":1200,"v":["M",92.0163,122.533,"L",86.4182,122.533,"L",86.4182,151.405,"L",92.0163,151.405,"L",92.0163,122.533,"Z"],"e":[0.92,0.005,0.09,1]},{"t":2500,"v":["M",92.0163,122.533,"L",86.4182,122.533,"L",86.4182,144.405,"L",92.0163,144.405,"L",92.0163,122.533,"Z"]}]},"ecfwKF3VQCk13":{"d":[{"t":0,"v":["M",124.025,122.533,"L",118.427,122.533,"L",118.427,145.405,"L",124.025,145.405,"L",124.025,122.533,"Z"],"e":[0.92,0.005,0.09,1]},{"t":1200,"v":["M",124.025,122.533,"L",118.427,122.533,"L",118.427,155.405,"L",124.025,155.405,"L",124.025,122.533,"Z"],"e":[0.92,0.005,0.09,1]},{"t":2500,"v":["M",124.025,122.533,"L",118.427,122.533,"L",118.427,145.405,"L",124.025,145.405,"L",124.025,122.533,"Z"]}]},"ecfwKF3VQCk26":{"d":[{"t":0,"v":["M",50.3873,84.9427,"L",50.3873,91.5068,"L",70.148,91.5068,"L",70.148,84.9427,"L",50.3873,84.9427,"Z"],"e":[0.92,0.005,0.09,1]},{"t":1200,"v":["M",40.3873,84.9427,"L",40.3873,91.5068,"L",70.148,91.5068,"L",70.148,84.9427,"L",40.3873,84.9427,"Z"],"e":[0.92,0.005,0.09,1]},{"t":2500,"v":["M",50.3873,84.9427,"L",50.3873,91.5068,"L",70.148,91.5068,"L",70.148,84.9427,"L",50.3873,84.9427,"Z"]}]},"ecfwKF3VQCk27":{"d":[{"t":0,"v":["M",50.3873,116.52,"L",50.3873,122.533,"L",70.148,122.533,"L",70.148,116.52,"L",50.3873,116.52,"Z"],"e":[0.92,0.005,0.09,1]},{"t":1200,"v":["M",37.3873,116.52,"L",37.3873,122.533,"L",70.148,122.533,"L",70.148,116.52,"L",37.3873,116.52,"Z"],"e":[0.92,0.005,0.09,1]},{"t":2500,"v":["M",50.3873,116.52,"L",50.3873,122.533,"L",70.148,122.533,"L",70.148,116.52,"L",50.3873,116.52,"Z"]}]},"ecfwKF3VQCk30":{"d":[{"t":0,"v":["M",159.992,116.544,"L",159.911,122.532,"L",108.085,122.532,"L",108.085,116.699,"L",159.992,116.544,"Z"],"e":[0.92,0.005,0.09,1]},{"t":1200,"v":["M",147.992,116.544,"L",147.911,122.532,"L",108.085,122.532,"L",108.085,116.699,"L",147.992,116.544,"Z"],"e":[0.92,0.005,0.09,1]},{"t":2500,"v":["M",159.992,116.544,"L",159.911,122.532,"L",108.085,122.532,"L",108.085,116.699,"L",159.992,116.544,"Z"]}]},"ecfwKF3VQCk31":{"d":[{"t":0,"v":["M",163.669,85.4961,"L",163.749,91.3234,"L",108.077,91.3234,"L",108.077,85.4961,"L",163.669,85.4961,"Z"],"e":[0.92,0.005,0.09,1]},{"t":1200,"v":["M",153.669,85.4961,"L",153.749,91.3234,"L",108.077,91.3234,"L",108.077,85.4961,"L",153.669,85.4961,"Z"],"e":[0.92,0.005,0.09,1]},{"t":2500,"v":["M",163.669,85.4961,"L",163.749,91.3234,"L",108.077,91.3234,"L",108.077,85.4961,"L",163.669,85.4961,"Z"]}]}},"s":"MDUA1ZjkyMzk3YUjhjODlQNzg4LYjgwODY4NTME5NTE0OTRjNDIc0N1Q0MzM5WKDdiVjgwODk3CYzdhOGI4MDgB2ODUzOTUxNDVg0MzM5ODA4YOjdjODk3ODhiIODA4Njg1OGEWzOTUxNDdUNDDMzOTdkODA4MWzgzMzk1MTQ4KNDNMMzk3ODgOzUThiWTdjODAk4NTc4OGI3YCzM5NTFWN2Q3PODgzOGE3Y00H0MzM5OGE4NzPdjN2M3YjM5NETE0NzQ1NGQ0BM00zOTdkODcU4YTM5UjUxNDQg0NzQ3OTQ/"}],"options":"MDBAyMjhjMzM4NNDg1NzI4Mzg1UMzM0YjMzNzkH4MEg4Nzc2ODDMzMzNkMzM3OPVk4MDg3NzY4TMzMzSTRiMzMH3NzgzNzY3NjNhiNzYzMzhl"},'__SVGATOR_PLAYER__',window,document)
]]></script>
</svg></span>

  <span class="py-10 inline-block text-cta uppercase relative w-fit">
    Needlepoint Canvases
    <span class="absolute left-0 right-0 bottom-0 border-b-1 border-current transition-position group-hover/text-link:bottom-5"></span>
  </span>
  </a>
</div>

<div class="w-full md:w-fit h-auto max-md:aspect-square flex flex-col justify-start items-center md:gap-10 relative group/button text-cerulean group/text-link max-md:bg-white px-10 pb-10 pt-0 max-md:last:odd:col-span-2 max-md:last:odd:flex-row max-md:last:odd:pb-10 max-md:last:odd:justify-start max-md:last:odd:aspect-auto">
  <a href="/collections/all-needlepoint-kits" class="w-full max-md:h-fit h-full flex flex-col justify-start items-center">
  <span class="block max-w-[120px] md:max-w-[194px] aspect-square *:w-full *:h-auto"><svg id="e3ipJWo7rHS1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 193 194" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" project-id="b680b443214842ada0918219ed1892af" export-id="0faaac05e0e34b3a8587ecb514238285" cached="false"><g transform="translate(9.265846 2.543553)"><g id="e3ipJWo7rHS3" transform="translate(0-4)"><path d="M62.6,79.4l1,4.4l19.8-4.6-1-4.4-19.8,4.6Z" fill="#b1d8c2"/><path d="M52.5,97.8l1,4.4l19.8-4.6-1-4.4-19.8,4.6Z" fill="#b1d8c2"/><path d="M23.2,104.5l1,4.4l19.1-4.4-1-4.4-19.1,4.4Z" fill="#b1d8c2"/><path d="M39.8,116.6l1,4.4l21.6-5-1-4.4-21.6,5Z" fill="#b1d8c2"/><path d="M69.5,109.5l1,4.4l19.8-4.6-1-4.4-19.8,4.6Z" fill="#b1d8c2"/><path d="M78.1,84.4l-4.4,1l4.7,20.3l4.4-1-4.7-20.3Z" fill="#b1d8c2"/><path style="isolation:isolate" d="M12.7,65.8L5.5,67.5l15.3,66.2L28,132L12.7,65.8Z" opacity="0.8" fill="#88dbdf"/><path style="isolation:isolate" d="M84,49.3l-6.6,1.5l15.4,66.4l6.6-1.5L84,49.3Z" opacity="0.8" fill="#88dbdf"/><path style="isolation:isolate" d="M3.9,60.2l1.7,7.2L84.4,49.2L82.7,42L3.9,60.2Z" opacity="0.8" fill="#88dbdf"/><path style="isolation:isolate" d="M20.9,133.7l1.7,7.2l78.8-18.2-1.7-7.2-78.8,18.2Z" opacity="0.8" fill="#88dbdf"/><path d="M82.7,42L3.9,60.2l18.7,80.6l78.8-18.2L82.7,42Z" fill="none" stroke="#00a7b5" stroke-miterlimit="10"/><path d="M82.7,42L3.9,60.2l18.7,80.6l78.8-18.2L82.7,42Z" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M26.3,63.7l-4.4,1L23.4,71l4.4-1-1.5-6.3Z" fill="#b1d8c2"/><path d="M84.6,112.1l-4.4,1l1.3,5.5l4.4-1-1.3-5.5Z" fill="#b1d8c2"/><path d="M54.1,119.2l-4.4,1l1.3,5.5l4.4-1-1.3-5.5Z" fill="#b1d8c2"/><path d="M31.9,118.8L26.5,120l.9,4l5.4-1.2-.9-4Z" fill="#b1d8c2"/><path d="M25.1,89.2l-5.4,1.2.9,4L26,93.2l-.9-4Z" fill="#b1d8c2"/><path d="M85.5,89.7l-4.4,1l1,4.4l4.4-1-1-4.4Z" fill="#b1d8c2"/><path d="M55.7,57l-4.4,1l1.4,6.2l4.4-1L55.7,57Z" fill="#b1d8c2"/><path d="M40.5,60.5l-4.4,1L41,82.9l4.4-1-4.9-21.4Z" fill="#b1d8c2"/><path d="M16,74.3l1,4.4l19.6-4.5-1-4.4L16,74.3Z" fill="#b1d8c2"/><path d="M44.2,67.7l1,4.4L68,66.8l-1-4.4-22.8,5.3Z" fill="#b1d8c2"/><path d="M33,86.7l1,4.4l21.4-4.9-1-4.4L33,86.7Z" fill="#b1d8c2"/><path d="M71.5,52.9l-4.4,1L72,75.3l4.4-1-4.9-21.4Z" fill="#b1d8c2"/><path d="M58.9,70.9l-4.4,1l4.9,21.4l4.4-1-4.9-21.4Z" fill="#b1d8c2"/><path d="M29.1,77.8l-4.4,1l4.9,21.4l4.4-1-4.9-21.4Z" fill="#b1d8c2"/><path d="M47.3,90l-4.4,1l4.9,21.4l4.4-1L47.3,90Z" fill="#b1d8c2"/><path d="M36,107.9l-4.4,1l4.7,20.3l4.4-1L36,107.9Z" fill="#b1d8c2"/><path d="M65.9,101l-4.4,1l4.7,20.3l4.4-1L65.9,101Z" fill="#b1d8c2"/></g><g id="e3ipJWo7rHS33" transform="translate(-20.486534 7.473927)"><path d="M168.6,67.8c13.5,5,12,15.1,12,15.1s8,0,9,5.5c.6,3.2-6.9,9.8-6.9,9.8l-21.3,52.5c-1,2.4-4.2,2.8-5.8.7l-3.7-3.3c-2.1-1.9-4.5-3.4-7.2-4.5L124,134.9c-2.4-1-5.1-1.4-7.7-1.2l-5.4.5c-3.4-.2-5.6-3.6-4.3-6.8l1.9-4.7l18.2-45v-7.9c-.2-5.6,6.2-8.8,10.6-5.3c0,0,.1,0,.1,0c8.3-7,18.6-2,18.6-2l12.6,5.2v0v.1Z" fill="#eff9f7" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M162.1,75.3c.3-.8-.8-1.9-2.4-2.6s-3.2-.6-3.6.2c-.3.8.8,1.9,2.4,2.6s3.2.6,3.6-.2Z" fill="#00a7b5"/><path style="isolation:isolate" d="M180.6,101.5l-18,43.9c0,0-8.9-12.2-23.3-18.1-11-4.5-30.2-4.4-30.2-4.4l17-41.9c0,0,8.3-4.6,28.5,3.5s25.9,17,25.9,17h.1Z" opacity="0.8" fill="#88dbdf"/><path d="M180.6,103.3c0,0-23.6-22.7-55.1-22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M179,107.3c0,0-23.6-22.7-55.1-22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M177,112.3c0,0-23.6-22.7-55.1-22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M179,107.3c0,0-23.6-22.7-55.1-22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M177,112.3c0,0-23.6-22.7-55.1-22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M173,122.1c0,0-23.6-22.7-55.1-22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M171.4,126.1c0,0-23.6-22.7-55.1-22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M122.3,88.9c0,0,23.6,22.7,55.1,22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M123.9,84.9c0,0,23.6,22.7,55.1,22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M126,79.9c0,0,23.6,22.7,55.1,22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M115.5,105.8c0,0,23.6,22.7,55.1,22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M117.1,101.8c0,0,23.6,22.7,55.1,22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M119.1,96.8c-3.1,7.7,52,30.1,55.1,22.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M146.5,124.2c0,0-17.9,3.3-37.2-3.1" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M138.3,120.8c0,0-8.5,2.7-27.8-3.7" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M130.8,117.1c0,0-5,1-18.2-2.5" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M124.7,113c0,0-1.2.8-11.6-1.5" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M135,119.1c0,0,10.4,15.2,28.7,24.1" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M143.1,122.8c0,0,4.2,7.8,22.5,16.7" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M151,125.3c0,0,3.8,4.6,15.8,11.3" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M158.2,126.6c0,0,.3,1.4,9.4,7" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M119.6,95.7c0,0,9.2.4,13.3,1.4" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M164.1,110.1c0,0,7.9,5.4,10.1,9" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M41.9,60.3c1.6,17.7,43.9,6.4,37.6-2.7-4.1-5.9-11.7-.7-14.4,6.1c0,0,0,0,0,.1-2.2,5.6,1.4,12.1,7.3,13.3.8.1,1.5.3,2.1.3" fill="none" stroke="#00a7b5" stroke-width="1.6" stroke-miterlimit="10"/><g id="e3ipJWo7rHS61" transform="translate(1 0)"><path style="isolation:isolate" d="M74.5,76.1v-.4c0,0,.9-4.4,4.1-3.6c3.2.9,1.3,6.7,1.3,6.7L61.8,146.6c0,.4-.5.6-.8.5v0c-.4-.1-.7-.5-.6-.9L73.9,79.8l.2-1.1.5-2.5v0l-.1-.1Z" opacity="0.9" fill="#88dbdf"/><path d="M74.1,78.7l-.2,1.1-13.5,66.4c0,.4.2.8.6.9v0c.4,0,.7-.1.8-.5L79.9,78.8c0,0,1.9-5.8-1.3-6.7s-4,3.6-4,3.6v.4c0,0-.5,2.5-.5,2.5v0v.1Z" fill="#c9edee" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/><path d="M78.2,78.4c.4-2.2.3-4.1-.4-4.2-.6-.1-1.5,1.6-1.9,3.7-.4,2.2-.3,4.1.4,4.2.6.1,1.5-1.6,1.9-3.7Z" fill="#fff" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g><path d="M180.6,103.3c0,0-23.6-22.7-55.1-22.4c0,0-14.5-18.1-28.6-3.6-2.4,2.5-4.1,5.7-4.7,9.1-.4,2.6-.1,5.1,2.6,4.8c2.6-.3,2.5-2.3-.4-5.3C91,82.4,83,78.8,78.2,78.1" fill="none" stroke="#00a7b5" stroke-width="1.5" stroke-miterlimit="10"/></g></g>
<script><![CDATA[
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof __SVGATOR_DEFINE__&&__SVGATOR_DEFINE__.amd?__SVGATOR_DEFINE__(e):((t="undefined"!=typeof globalThis?globalThis:t||self).__SVGATOR_PLAYER__=t.__SVGATOR_PLAYER__||{},t.__SVGATOR_PLAYER__["91c80d77"]=e())}(this,(function(){"use strict";const t=n(Math.pow(10,-6)),e=n(Math.pow(10,-2));function n(t,e=6){return function(t,e,n){if(Number.isInteger(t))return t;const r=Math.pow(10,e);return Math[n]((+t+Number.EPSILON)*r)/r}(t,e,"round")}function r(e,n,r=t){return Math.abs(e-n)<r}n(Math.pow(10,-4));const i=Math.PI/180;function s(t){return t*i}function o(t){return t/i}function u(t){return"number"!=typeof t&&(t=Number(t)),isNaN(t)||!isFinite(t)?0:t}let l={iD:!1};function a(t){return`${t}`.replace(/['"]/g,"")}function c(t,e="px"){return t.endsWith(e)?t:`${t}${e}`}function f(t=""){return l.iD?t:void 0}function h(t){const e=["^","\\s*","(matrix\\()","(?<a>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<b>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<c>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<d>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<e>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<f>-?[0-9]*\\.?[0-9]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return[u(n.groups.a),u(n.groups.b),u(n.groups.c),u(n.groups.d),u(n.groups.e),u(n.groups.f)]}function d(t,e="inline"){return t&&t!==e?(t=a(t))===e?f(e):t:f(e)}function g(t,e="1px"){if(!t||t===e)return f(e);if(t.endsWith("px")||t.endsWith("%"))return t;const r=c(t=`${n(u(t),2)}`);return r===e?f(e):r}function p(t,e="none"){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("url(#")?t:function(t){const e=["^","\\s*","url\\(","#","(?<maskId>[a-zA-Z0-9\\-_]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return`url(#${n.groups.maskId})`}(t):f(e)}function y(t,e="rgb(0, 0, 0)"){if(!t||t===e)return f(e);if((t=a(t))===e)return f(e);if(t.startsWith("rgb"))return t;const n=function(t){if("string"!=typeof t||"#"!==t[0])return t;const e=t.slice(1),n=e.length;if(3!==n&&6!==n)return t;for(let r=0;r<n;r++){const n=e.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return t}if(3===n)return`rgb(${parseInt(e[0]+e[0],16)}, ${parseInt(e[1]+e[1],16)}, ${parseInt(e[2]+e[2],16)})`;return`rgb(${parseInt(e.slice(0,2),16)}, ${parseInt(e.slice(2,4),16)}, ${parseInt(e.slice(4,6),16)})`}(t);return n===e?f(e):n}function m(t,e="1"){return t&&t!==e?(t=`${n(u(t),3)}`)===e?f(e):t:f(e)}let v={};const b={fill:"none",stroke:"none",opacity:"0.01",transform:"matrix(0.001 0 0 0.001 -10000 -10000)"};function w({element:t,tagType:e="path",property:n="d",attributeValue:r}){return v[r]||(v[r]=function({element:t,tagType:e="path",property:n="d",attributeValue:r}){const i=t.ownerSVGElement,s=document.createElementNS(i.namespaceURI,e);s.setAttributeNS(null,n,r);for(const t in b)s.setAttributeNS(null,t,b[t]);i.appendChild(s);const o=getComputedStyle(s)[n];return s.remove(),o}({element:t,tagType:e,property:n,attributeValue:r})),v[r]}const x=()=>{v={}};"object"==typeof window&&(window.removeEventListener("resize",x),window.addEventListener("resize",x));const A={include:(t,e)=>["path"].includes(e),formatter:t=>function(t,e=""){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("path(")?t:`path('${t}')`:f(e)}(t)},_={include:(t,e)=>["rect","mask"].includes(e),formatter:(t,e,n)=>g(t,function(t,e){var n;return(null===(n={mask:{x:"-150%",y:"-150%",width:"400%",height:"400%"}}[e])||void 0===n?void 0:n[t])||(["x","y"].includes(t)?"0px":"100%")}(e,n))},k=Object.freeze({d:A,display:t=>d(t),height:_,fill:t=>y(t),"fill-opacity":t=>m(t),filter:t=>d(t,"none"),mask:t=>p(t),opacity:t=>m(t),stroke:t=>y(t,"none"),"stroke-opacity":t=>m(t),"stroke-width":t=>g(t),transform:t=>function(t,e="none"){if(!t||t===e)return f(e);const n=h(t);return n?`matrix(${n.join(", ")})`:t}(t),"transform-origin":t=>function(t,e="0px 0px"){if(!t||t===e)return f(e);const n=["^","\\s*","(?<x>[0-9]+)","(px)?","\\s*",",","\\s*","(?<y>[0-9]+)","(px)?"].join(""),r=t.match(new RegExp(n,"i"));if(!r)return t;let i=`${u(r.groups.x)}`;i=c(i);let s=`${u(r.groups.y)}`;s=c(s);const o=`${i} ${s}`;return o===e?f(e):o}(t),visibility:t=>d(t,"visible"),width:_,x:_,y:_}),S=Object.keys(k),E=e;function I(t,e,n,i,s=window){var o,u;const l=t.getAttribute(e),a="transform"===e?"none":"",c=s.safari&&!s.chrome&&(null===(o=i.getPropertyValue)||void 0===o?void 0:o.call(i,e))===a||"mask"===n?l:null===(u=i.getPropertyValue)||void 0===u?void 0:u.call(i,e);if(l&&c){if(l===c)return l;switch(e){case"transform":return function(t,e){const n=h(t),i=h(e);if((null==n?void 0:n.length)===(null==i?void 0:i.length)){for(let t=0,e=n.length;t<e;t++)if(n[t]!==i[t]&&(s=i[t],!r(((o=n[t])-s)/(o||1)*100,0,E)))return;var s,o;return t}}(l,c);case"d":return function(t,e,n){return w({element:t,attributeValue:e})===n?e:void 0}(t,l,c);default:return c}}}function M(t,e,n,r){var i,s,o,u;const l="transform"===e||["mask","path"].includes(n)&&["x","y","width","height","d"].includes(e);return r&&l?I(t,e,n,r):(null===(i=r.getPropertyValue)||void 0===i?void 0:i.call(r,e))??(null===(s=t.attrs)||void 0===s||null===(o=s.style)||void 0===o?void 0:o[e])??(null===(u=t.attrs)||void 0===u?void 0:u[e])}function O(t,e,n=!1){l.iD=n;const r="undefined"!=typeof window&&getComputedStyle(t),i={};for(let l=0,a=S.length;l<a;l++){var s,o,u;const a=S[l],c=t.type||t.nodeName;if(!1===(null===(s=(o=k[a]).include)||void 0===s?void 0:s.call(o,a,c)))continue;const f=k[a].formatter||k[a];if(null!=e&&null!==(u=e[t.id])&&void 0!==u&&u[a])continue;const h=M(t,a,c,r);if(null==h&&!n)continue;const d=f.call(this,h,a,c);d&&(i[a]=d)}return i}function j(t){var e,n;if(null==t||null===(e=t.wD)||void 0===e||!e.length)return;this.h=t.wD.shift();const r=null===(n=t.rootId)||void 0===n?void 0:n.slice(0,-1);this.wIs=t.wD.map((t=>`${r}${t}`))}function B(t){const e=new j(t),n=t.svg,r=e.wIs,i=t.originalAnimations[0].elements,s=e.h;function o(t,e,s){var u;if(e[t])return;const l=n.querySelector("#"+t),a=null==l||null===(u=l.parentElement)||void 0===u?void 0:u.id;if(l&&a){if(r.includes(a))return e[a]||o(a,e,s),e[a].children??=[],e[t]=O(l,i),void e[a].children.push(e[t]);e[t]=O(l,i),s.push(e[t])}}async function u(){const t=function(){let t=[],e={};for(let n=0,i=r.length;n<i;n++)o(r[n],e,t);return t}();return await async function(t){var e,n;const r=JSON.stringify(t),i=(new TextEncoder).encode(r),o=await(null===(e=window.crypto)||void 0===e||null===(n=e.subtle)||void 0===n?void 0:n.digest("SHA-256",i));return o&&Array.from(new Uint8Array(o)).map((t=>t.toString(16).padStart(2,"0"))).join("")||s}(t)}this.vH=async function(){await u()!==s&&requestAnimationFrame((()=>t.stop()))}}function N(t){let e=0,n=0;const r=new B(t);this.cF=function(i,s){return t.wD?(e++,function(t){return!(t-n<300)&&(t-n>=500||e>=3)}(i)?(e=0,n=i,window.requestAnimationFrame((()=>r.vH())),s()):s()):s()}}function T(t){return t}function P(t,e,n){const r=1-n;return 3*n*r*(t*r+e*n)+n*n*n}function F(t=0,e=0,n=1,i=1){return t<0||t>1||n<0||n>1?null:r(t,e)&&r(n,i)?T:s=>{if(s<=0)return t>0?s*e/t:0===e&&n>0?s*i/n:0;if(s>=1)return n<1?1+(s-1)*(i-1)/(n-1):1===n&&t<1?1+(s-1)*(e-1)/(t-1):1;let o,u=0,l=1;for(;u<l;){o=(u+l)/2;const e=P(t,n,o);if(r(s,e))break;e<s?u=o:l=o}return P(e,i,o)}}function R(){return 1}function V(t){return 1===t?1:0}function C(t=1,e=0){if(1===t){if(0===e)return V;if(1===e)return R}const n=1/t;return t=>t>=1?1:(t+=e*n)-t%n}Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),Number.EPSILON||(Number.EPSILON=2220446049250313e-31);const D=Math.sin,$=Math.cos,L=Math.acos,q=Math.asin,z=Math.tan,G=Math.atan2,W=Math.sqrt;function Y(t,e){return{a:t[0]*e[0]+t[2]*e[1],b:t[1]*e[0]+t[3]*e[1],c:t[0]*e[2]+t[2]*e[3],d:t[1]*e[2]+t[3]*e[3],tx:t[0]*e[4]+t[2]*e[5]+t[4],ty:t[1]*e[4]+t[3]*e[5]+t[5]}}function U(t,e,n){return t>=.5?n:e}function H(t,e,n){return 0===t||e===n?e:t*(n-e)+e}function J(t,e,n){const r=H(t,e,n);return r<=0?0:r}function Q(t,e,n){const r=H(t,e,n);return r<=0?0:r>=1?1:r}function X(t,e,n){return 0===t?e:1===t?n:{x:H(t,e.x,n.x),y:H(t,e.y,n.y)}}function Z(t,e,n){return 0===t?e:1===t?n:{x:J(t,e.x,n.x),y:J(t,e.y,n.y)}}function K(t,e,n){const r=function(t,e,n){return Math.round(H(t,e,n))}(t,e,n);return r<=0?0:r>=255?255:r}function tt(t,e,n){return 0===t?e:1===t?n:{r:K(t,e.r,n.r),g:K(t,e.g,n.g),b:K(t,e.b,n.b),a:H(t,null==e.a?1:e.a,null==n.a?1:n.a)}}function et(t,e,n){let r=e.length;if(r!==n.length)return U(t,e,n);let i=new Array(r);for(let s=0;s<r;s++)i[s]=H(t,e[s],n[s]);return i}function nt(t,e){const n=[];for(let r=0;r<t;r++)n.push(e);return n}function rt(t,e){if(--e<=0)return t;const n=(t=Object.assign([],t)).length;do{for(let e=0;e<n;e++)t.push(t[e])}while(--e>0);return t}class it{constructor(t){this.list=t,this.length=t.length}setAttribute(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].setAttribute(t,e)}removeAttribute(t){const e=this.list;for(let n=0;n<this.length;n++)e[n].removeAttribute(t)}style(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].style[t]=e}}const st=/-./g,ot=(t,e)=>e.toUpperCase();let ut;function lt(t){return"function"==typeof t?t:U}function at(t){return t?"function"==typeof t?t:Array.isArray(t)?function(t,e=T){if(!Array.isArray(t))return e;switch(t.length){case 1:return C(t[0])||e;case 2:return C(t[0],t[1])||e;case 4:return F(t[0],t[1],t[2],t[3])||e}return e}(t,null):function(t,e,n=T){switch(t){case"linear":return T;case"steps":return C(e.steps||1,e.jump||0)||n;case"bezier":case"cubic-bezier":return F(e.x1||0,e.y1||0,e.x2||0,e.y2||0)||n}return n}(t.type,t.value,null):null}function ct(t,e,n,r=!1){const i=e.length-1;if(t<=e[0].t)return r?[0,0,e[0].v]:e[0].v;if(t>=e[i].t)return r?[i,1,e[i].v]:e[i].v;let s,o=e[0],u=null;for(s=1;s<=i;s++){if(!(t>e[s].t)){u=e[s];break}o=e[s]}return null==u?r?[i,1,e[i].v]:e[i].v:o.t===u.t?r?[s,1,u.v]:u.v:(t=(t-o.t)/(u.t-o.t),o.e&&(t=o.e(t)),r?[s,t,n(t,o.v,u.v)]:n(t,o.v,u.v))}function ft(t,e,n=null){return t&&t.length?"function"!=typeof e?null:("function"!=typeof n&&(n=null),r=>{let i=ct(r,t,e);return null!=i&&n&&(i=n(i)),i}):null}function ht(t,e){return t.t-e.t}function dt(t,e,n,r,i){const s="@"===n[0],o="#"===n[0];let u=ut[n],l=U;var a;switch(s?(a=n.substr(1),n=a.replace(st,ot)):o&&(n=n.substr(1)),typeof u){case"function":if(l=u(r,i,ct,at,n,s,e,t),o)return l;break;case"string":l=ft(r,lt(u));break;case"object":if(l=ft(r,lt(u.i),u.f),l&&"function"==typeof u.u)return u.u(e,l,n,s,t)}return l?function(t,e,n,r=!1){if(r)return t instanceof it?r=>t.style(e,n(r)):r=>t.style[e]=n(r);if(Array.isArray(e)){const r=e.length;return i=>{const s=n(i);if(null==s)for(let n=0;n<r;n++)t[n].removeAttribute(e);else for(let n=0;n<r;n++)t[n].setAttribute(e,s)}}return r=>{const i=n(r);null==i?t.removeAttribute(e):t.setAttribute(e,i)}}(e,n,l,s):null}function gt(t,e,n,r){if(!r||"object"!=typeof r)return null;let i=null,s=null;return Array.isArray(r)?s=function(t){if(!t||!t.length)return null;for(let e=0;e<t.length;e++)t[e].e&&(t[e].e=at(t[e].e));return t.sort(ht)}(r):(s=r.keys,i=r.data||null),s?dt(t,e,n,s,i):null}function pt(t,e,n){if(!n)return null;const r=[];for(const i in n)if(n.hasOwnProperty(i)){const s=gt(t,e,i,n[i]);s&&r.push(s)}return r.length?r:null}function yt(t,e){if(!e.settings.duration||e.settings.duration<0)return null;const n=function(t,e){if(!e)return null;let n=[];if(Array.isArray(e)){const r=e.length;for(let i=0;i<r;i++){const r=e[i];if(2!==r.length)continue;let s=null;if("string"==typeof r[0])s=t.getElementById(r[0]);else if(Array.isArray(r[0])){s=[];for(let e=0;e<r[0].length;e++)if("string"==typeof r[0][e]){const n=t.getElementById(r[0][e]);n&&s.push(n)}s=s.length?1===s.length?s[0]:new it(s):null}if(!s)continue;const o=pt(t,s,r[1]);o&&(n=n.concat(o))}}else for(const r in e){if(!e.hasOwnProperty(r))continue;const i=t.getElementById(r);if(!i)continue;const s=pt(t,i,e[r]);s&&(n=n.concat(s))}return n.length?n:null}(t,e.elements);return n?function(t,e){const n=e.duration,r=t.length;let i=null;return(s,o)=>{const u=e.iterations||1/0,l=(e.alternate&&u%2==0)^e.direction>0?n:0;let a=s%n,c=1+(s-a)/n;o*=e.direction,e.alternate&&c%2==0&&(o=-o);let f=!1;if(c>u)a=l,f=!0,-1===e.fill&&(a=e.direction>0?0:n);else if(o<0&&(a=n-a),a===i)return!1;i=a;for(let e=0;e<r;e++)t[e](a);return f}}(n,e.settings):null}function mt(t,e=document,n=0){const r=function(t,e){const n=e.querySelectorAll("svg");for(let e=0;e<n.length;e++)if(n[e].id===t.root&&!n[e].svgatorAnimation)return n[e].svgatorAnimation=!0,n[e];return null}(t,e);if(r)return r;if(n>=20)return null;const i=function(t){const e=t=>t.shadowRoot;return document?Array.from(t.querySelectorAll(":not("+["a","area","audio","br","canvas","circle","datalist","embed","g","head","hr","iframe","img","input","link","object","path","polygon","rect","script","source","style","svg","title","track","video"].join()+")")).filter(e).map(e):[]}(e);for(let e=0;e<i.length;e++){const r=mt(t,i[e],n+1);if(r)return r}return null}function vt(t,e=null,n=Number,r="undefined"!=typeof BigInt&&BigInt){const i="0x"+(t.replace(/[^0-9a-fA-F]+/g,"")||27);return e&&r&&n.isSafeInteger&&!n.isSafeInteger(+i)?n(r(i))%e+e:+i}function bt(t,e=27){return!t||t%e?t%e:[0,1].includes(e)?e:bt(t/e,e)}function wt(t,e,n){if(!t||!t.length)return;const r=vt(n),i=bt(r)+5;let s=function(t,e,n){let r="";for(;t&&n&&e<=t.length;)r+=t.substring(0,e),t=t.substring(e+1),e=n;return r+t}(t,bt(r,5),i);return s=s.replace(/\x7c$/g,"==").replace(/\x2f$/g,"="),s=atob(s),s=s.replace(/[\x41-\x5A]/g,""),s=function(t,e,n){const r=+("0x"+t.substring(0,4));t=t.substring(4);const i=vt(e,r)%r+n%27,s=[];for(let e=0;e<t.length;e+=2){if("|"===t[e]){const n=+("0x"+t.substring(e+1,e+1+4))-i;e+=3,s.push(n);continue}const n=+("0x"+t[e]+t[e+1])-i;s.push(n)}return String.fromCharCode(...s)}(s,e,r),s=JSON.parse(s),s}const xt=[{key:"alternate",def:!1},{key:"fill",def:1},{key:"iterations",def:0},{key:"direction",def:1},{key:"speed",def:1},{key:"fps",def:100}];function At(t){return n(t)+""}function _t(t,e=" "){return t&&t.length?t.map(At).join(e):""}function kt(t){return At(t.x)+","+At(t.y)}function St(t){return t?null==t.a||t.a>=1?function(t){if(!t)return"transparent";const e=t=>parseInt(t).toString(16).padStart(2,"0");return function(t){const e=[];let n="#"===t[0]?e.push("#"):0;for(;n<t.length;n+=2){if(t[n]!==t[n+1])return t;e.push(t[n])}return e.join("")}("#"+e(t.r)+e(t.g)+e(t.b)+(null==t.a||t.a>=1?"":e(255*t.a)))}(t):"rgba("+t.r+","+t.g+","+t.b+","+t.a+")":"transparent"}function Et(t){return t?"url(#"+t+")":"none"}!function(){for(var t=0,e=["ms","moz","webkit","o"],n=0;n<e.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[e[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[n]+"CancelAnimationFrame"]||window[e[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e){var n=Date.now(),r=Math.max(0,16-(n-t)),i=window.setTimeout((function(){e(n+r)}),r);return t=n+r,i},window.cancelAnimationFrame=window.clearTimeout)}();var It={f:null,i:Z,u:(t,e)=>n=>{const r=e(n);t.setAttribute("rx",At(r.x)),t.setAttribute("ry",At(r.y))}},Mt={f:null,i:function(t,e,n){return 0===t?e:1===t?n:{width:J(t,e.width,n.width),height:J(t,e.height,n.height)}},u:(t,e)=>n=>{const r=e(n);t.setAttribute("width",At(r.width)),t.setAttribute("height",At(r.height))}};Object.freeze({M:2,L:2,Z:0,H:1,V:1,C:6,Q:4,T:2,S:4,A:7});let Ot={},jt=null;function Bt(t){let e=function(){if(jt)return jt;if("object"!=typeof document||!document.createElementNS)return{};let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t&&t.style?(t.style.position="absolute",t.style.opacity="0.01",t.style.zIndex="-9999",t.style.left="-9999px",t.style.width="1px",t.style.height="1px",jt={svg:t},jt):{}}().svg;if(!e)return function(t){return null};let n=document.createElementNS(e.namespaceURI,"path");n.setAttributeNS(null,"d",t),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"stroke","none"),e.appendChild(n);let r=n.getTotalLength();return function(t){let e=n.getPointAtLength(r*t);return{x:e.x,y:e.y}}}function Nt(t,e,n,r,i=1){let s=function(t){return Ot[t]?Ot[t]:Ot[t]=Bt(t)}(function(t,e,n,r){if(!t||!r)return!1;let i=["M",t.x,t.y];if(e&&n&&(i.push("C"),i.push(e.x),i.push(e.y),i.push(n.x),i.push(n.y)),e?!n:n){let t=e||n;i.push("Q"),i.push(t.x),i.push(t.y)}return e||n||i.push("L"),i.push(r.x),i.push(r.y),i.join(" ")}(t,e,n,r));try{return s(i)}catch(t){return null}}function Tt(t,e,n){return t+(e-t)*n}function Pt(t,e,n,r=!1){const i={x:Tt(t.x,e.x,n),y:Tt(t.y,e.y,n)};return r&&(i.a=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}(t,e)),i}function Ft(t,e,n,r){const i=1-r;return i*i*t+2*i*r*e+r*r*n}function Rt(t,e,n,r){return 2*(1-r)*(e-t)+2*r*(n-e)}function Vt(t,e,n,r,i=!1){let s=Nt(t,e,null,n,r);return s||(s={x:Ft(t.x,e.x,n.x,r),y:Ft(t.y,e.y,n.y,r)}),i&&(s.a=function(t,e,n,r){return Math.atan2(Rt(t.y,e.y,n.y,r),Rt(t.x,e.x,n.x,r))}(t,e,n,r)),s}function Ct(t,e,n,r,i){const s=i*i;return i*s*(r-t+3*(e-n))+3*s*(t+n-2*e)+3*i*(e-t)+t}function Dt(t,e,n,r,i){const s=1-i;return 3*(s*s*(e-t)+2*s*i*(n-e)+i*i*(r-n))}function $t(t,e,n,r,i,s=!1){let o=Nt(t,e,n,r,i);return o||(o={x:Ct(t.x,e.x,n.x,r.x,i),y:Ct(t.y,e.y,n.y,r.y,i)}),s&&(o.a=function(t,e,n,r,i){return Math.atan2(Dt(t.y,e.y,n.y,r.y,i),Dt(t.x,e.x,n.x,r.x,i))}(t,e,n,r,i)),o}function Lt(t,e,n,r=!1){if(zt(e)){if(Gt(n))return Vt(e,n.start,n,t,r)}else if(zt(n)){if(Wt(e))return Vt(e,e.end,n,t,r)}else{if(Wt(e))return Gt(n)?$t(e,e.end,n.start,n,t,r):Vt(e,e.end,n,t,r);if(Gt(n))return Vt(e,n.start,n,t,r)}return Pt(e,n,t,r)}function qt(t,e,n){const r=Lt(t,e,n,!0);return r.a=o(function(t,e=!1){return e?t+Math.PI:t}(r.a)),r}function zt(t){return!t.type||"corner"===t.type}function Gt(t){return null!=t.start&&!zt(t)}function Wt(t){return null!=t.end&&!zt(t)}const Yt=new class{constructor(t=1,e=0,n=0,r=1,i=0,s=0){this.m=[t,e,n,r,i,s],this.i=null,this.w=null,this.s=null}get determinant(){const t=this.m;return t[0]*t[3]-t[1]*t[2]}get isIdentity(){if(null===this.i){const t=this.m;this.i=1===t[0]&&0===t[1]&&0===t[2]&&1===t[3]&&0===t[4]&&0===t[5]}return this.i}point(t,e){const n=this.m;return{x:n[0]*t+n[2]*e+n[4],y:n[1]*t+n[3]*e+n[5]}}translateSelf(t=0,e=0){if(!t&&!e)return this;const n=this.m;return n[4]+=n[0]*t+n[2]*e,n[5]+=n[1]*t+n[3]*e,this.w=this.s=this.i=null,this}rotateSelf(t=0){if(t%=360){t=s(t);const e=D(t),n=$(t),r=this.m,i=r[0],o=r[1];r[0]=i*n+r[2]*e,r[1]=o*n+r[3]*e,r[2]=r[2]*n-i*e,r[3]=r[3]*n-o*e,this.w=this.s=this.i=null}return this}scaleSelf(t=1,e=1){if(1!==t||1!==e){const n=this.m;n[0]*=t,n[1]*=t,n[2]*=e,n[3]*=e,this.w=this.s=this.i=null}return this}skewSelf(t,e){if(e%=360,(t%=360)||e){const n=this.m,r=n[0],i=n[1],o=n[2],u=n[3];t&&(t=z(s(t)),n[2]+=r*t,n[3]+=i*t),e&&(e=z(s(e)),n[0]+=o*e,n[1]+=u*e),this.w=this.s=this.i=null}return this}resetSelf(t=1,e=0,n=0,r=1,i=0,s=0){const o=this.m;return o[0]=t,o[1]=e,o[2]=n,o[3]=r,o[4]=i,o[5]=s,this.w=this.s=this.i=null,this}recomposeSelf(t=null,e=null,n=null,r=null,i=null){return this.isIdentity||this.resetSelf(),t&&(t.x||t.y)&&this.translateSelf(t.x,t.y),e&&this.rotateSelf(e),n&&(n.x&&this.skewSelf(n.x,0),n.y&&this.skewSelf(0,n.y)),!r||1===r.x&&1===r.y||this.scaleSelf(r.x,r.y),i&&(i.x||i.y)&&this.translateSelf(i.x,i.y),this}decompose(t=0,e=0){const r=this.m,i=r[0]*r[0]+r[1]*r[1],s=[[r[0],r[1]],[r[2],r[3]]];let u=W(i);if(0===u)return{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:0,y:0},skew:{x:0,y:0},rotate:0};s[0][0]/=u,s[0][1]/=u;const l=r[0]*r[3]-r[1]*r[2]<0;l&&(u=-u);let a=s[0][0]*s[1][0]+s[0][1]*s[1][1];s[1][0]-=s[0][0]*a,s[1][1]-=s[0][1]*a;let c,f=W(s[1][0]*s[1][0]+s[1][1]*s[1][1]);return 0===f?{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:0},skew:{x:0,y:0},rotate:0}:(s[1][0]/=f,s[1][1]/=f,a/=f,s[1][1]<0?(c=o(L(s[1][1])),s[0][1]<0&&(c=360-c)):c=o(q(s[0][1])),l&&(c=-c),a=o(G(a,W(s[0][0]*s[0][0]+s[0][1]*s[0][1]))),l&&(a=-a),{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:n(f)},skew:{x:n(a),y:0},rotate:n(c)})}multiply(t){return this.clone().multiplySelf(t)}preMultiply(t){return t.multiply(this)}multiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(this.m,t.m);return this.resetSelf(e,n,r,i,s,o),this}preMultiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(t.m,this.m);return this.resetSelf(e,n,r,i,s,o),this}clone(){const t=this.m;return new this.constructor(t[0],t[1],t[2],t[3],t[4],t[5])}static create(t){return t?Array.isArray(t)?new this(...t):t instanceof this?t.clone():(new this).recomposeSelf(t.origin,t.rotate,t.skew,t.scale,t.translate):new this}toString(t=" ",e=!1){if(null===this.s){let r=this.m.map((t=>n(t)));e||1!==r[0]||0!==r[1]||0!==r[2]||1!==r[3]?this.s="matrix("+r.join(t)+")":this.s="translate("+r[4]+t+r[5]+")"}return this.s}};var Ut={f:function(t){return t?t.join(" "):""},i:function(t,e,n){if(0===t)return e;if(1===t)return n;let r=e.length;if(r!==n.length)return U(t,e,n);let i,s=new Array(r);for(let o=0;o<r;o++){if(i=typeof e[o],i!==typeof n[o])return U(t,e,n);if("number"===i)s[o]=H(t,e[o],n[o]);else{if(e[o]!==n[o])return U(t,e,n);s[o]=e[o]}}return s}},Ht={f:null,i:et,u:(t,e)=>n=>{const r=e(n);t.setAttribute("x1",At(r[0])),t.setAttribute("y1",At(r[1])),t.setAttribute("x2",At(r[2])),t.setAttribute("y2",At(r[3]))}},Jt={f:At,i:H},Qt={f:At,i:Q},Xt={f:function(t,e=" "){return t&&t.length>0&&(t=t.map((t=>n(t,4)))),_t(t,e)},i:function(t,e,r){let i=e.length,s=r.length;if(i!==s)if(0===i)i=s,e=nt(i,0);else if(0===s)s=i,r=nt(i,0);else{const t=function(t,e){const n=t*e/function(t,e){let n;for(;e;)n=e,e=t%e,t=n;return t||1}(t,e);return n<0?-n:n}(i,s);e=rt(e,Math.floor(t/i)),r=rt(r,Math.floor(t/s)),i=s=t}let o=[];for(let s=0;s<i;s++)o.push(n(J(t,e[s],r[s])));return o}};function Zt(t,e,r){return t.map((t=>function(t,e,r){let i=t.v;if(!i||"g"!==i.t||i.s||!i.v||!i.r)return t;const s=r.getElementById(i.r),o=s&&s.querySelectorAll("stop")||[];return i.s=i.v.map(((t,e)=>{let r=o[e]&&o[e].getAttribute("offset");return r=n(parseInt(r)/100),{c:t,o:r}})),delete i.v,t}(t,0,r)))}const Kt={gt:"gradientTransform",c:{x:"cx",y:"cy"},rd:"r",f:{x:"x1",y:"y1"},to:{x:"x2",y:"y2"}};function te(t,e,n,r,i,s,o,u){return Zt(t,0,u),e=function(t,e,n){let r,i,s;const o=t.length-1,u={};for(let l=0;l<=o;l++)r=t[l],r.e&&(r.e=e(r.e)),r.v&&(i=r.v,"g"===i.t&&i.r&&(s=n.getElementById(i.r),s&&(u[i.r]={e:s,s:s.querySelectorAll("stop")})));return u}(t,r,u),r=>{const i=n(r,t,ee);if(!i)return"none";if("c"===i.t)return St(i.v);if("g"===i.t){if(!e[i.r])return Et(i.r);const t=e[i.r];return function(t,e){let n=t.s;for(let r=n.length;r<e.length;r++){const e=n[n.length-1].cloneNode();e.id=ie(e.id),t.e.appendChild(e),n=t.s=t.e.querySelectorAll("stop")}for(let t=0,r=n.length,i=e.length-1;t<r;t++)n[t].setAttribute("stop-color",St(e[Math.min(t,i)].c)),n[t].setAttribute("offset",e[Math.min(t,i)].o)}(t,i.s),Object.keys(Kt).forEach((e=>{if(void 0===i[e])return;if("object"==typeof Kt[e])return void Object.keys(Kt[e]).forEach((n=>{if(void 0===i[e][n])return;const r=i[e][n],s=Kt[e][n];t.e.setAttribute(s,r)}));const n="gt"===e?(r=i[e],Array.isArray(r)?"matrix("+r.join(" ")+")":""):i[e];var r;const s=Kt[e];t.e.setAttribute(s,n)})),Et(i.r)}return"none"}}function ee(t,e,n){if(0===t)return e;if(1===t)return n;if(e&&n){const r=e.t;if(r===n.t)switch(e.t){case"c":return{t:r,v:tt(t,e.v,n.v)};case"g":if(e.r===n.r){const i={t:r,s:ne(t,e.s,n.s),r:e.r};return e.gt&&n.gt&&(i.gt=et(t,e.gt,n.gt)),e.c?(i.c=X(t,e.c,n.c),i.rd=J(t,e.rd,n.rd)):e.f&&(i.f=X(t,e.f,n.f),i.to=X(t,e.to,n.to)),i}}if("c"===e.t&&"g"===n.t||"c"===n.t&&"g"===e.t){const r="c"===e.t?e:n,i="g"===e.t?{...e}:{...n},s=i.s.map((t=>({c:r.v,o:t.o})));return i.s="c"===e.t?ne(t,s,i.s):ne(t,i.s,s),i}}return U(t,e,n)}function ne(t,e,n){if(e.length===n.length)return e.map(((e,r)=>re(t,e,n[r])));const r=Math.max(e.length,n.length),i=[];for(let s=0;s<r;s++){const r=re(t,e[Math.min(s,e.length-1)],n[Math.min(s,n.length-1)]);i.push(r)}return i}function re(t,e,n){return{o:Q(t,e.o,n.o||0),c:tt(t,e.c,n.c||{})}}function ie(t){return t.replace(/-fill-([0-9]+)$/,((t,e)=>"-fill-"+(+e+1)))}function se(t,e,n){return 0===t?e:1===t?n:{blur:Z(t,e.blur,n.blur),offset:X(t,e.offset,n.offset),color:tt(t,e.color,n.color)}}const oe={blur:Z,brightness:J,contrast:J,"drop-shadow":se,"inner-shadow":se,grayscale:J,"hue-rotate":H,invert:J,opacity:J,saturate:J,sepia:J};function ue(t,e,n){if(0===t)return e;if(1===t)return n;const r=e.length;if(r!==n.length)return U(t,e,n);const i=[];let s;for(let o=0;o<r;o++){if(e[o].type!==n[o].type)return e;if(s=oe[e[o].type],!s)return U(t,e,n);i.push({type:e.type,value:s(t,e[o].value,n[o].value)})}return i}const le={blur:t=>t?e=>{t.setAttribute("stdDeviation",kt(e))}:null,brightness:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e),t.map((t=>t.setAttribute("slope",e)))}:null,contrast:(t,e,n)=>(t=ce(n,e))?e=>{const n=At((1-e)/2);e=At(e),t.map((t=>{t.setAttribute("slope",e),t.setAttribute("intercept",n)}))}:null,"drop-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-flood");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y)),s.setAttribute("flood-color",St(t.color))}:null},"inner-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-color-matrix");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y));const e=[0,0,0,0,t.color.r/255,0,0,0,0,t.color.g/255,0,0,0,0,t.color.b/255,0,0,0,t.color.a,0];s.setAttribute("values",_t(e))}:null},grayscale:t=>t?e=>{t.setAttribute("values",_t(function(t){return[.2126+.7874*(t=1-t),.7152-.7152*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152+.2848*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152-.7152*t,.0722+.9278*t,0,0,0,0,0,1,0]}(e)))}:null,"hue-rotate":t=>t?e=>t.setAttribute("values",At(e)):null,invert:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e)+" "+At(1-e),t.map((t=>t.setAttribute("tableValues",e)))}:null,opacity:(t,e,n)=>(t=n.getElementById(e+"-A"))?e=>t.setAttribute("tableValues","0 "+At(e)):null,saturate:t=>t?e=>t.setAttribute("values",At(e)):null,sepia:t=>t?e=>t.setAttribute("values",_t(function(t){return[.393+.607*(t=1-t),.769-.769*t,.189-.189*t,0,0,.349-.349*t,.686+.314*t,.168-.168*t,0,0,.272-.272*t,.534-.534*t,.131+.869*t,0,0,0,0,0,1,0]}(e))):null};const ae=["R","G","B"];function ce(t,e){const n=ae.map((n=>t.getElementById(e+"-"+n)||null));return-1!==n.indexOf(null)?null:n}var fe={fill:te,"fill-opacity":Qt,stroke:te,"stroke-opacity":Qt,"stroke-width":Jt,"stroke-dashoffset":{f:At,i:H},"stroke-dasharray":Xt,opacity:Qt,transform:function(t,e,n,r){if(!(t=function(t,e){if(!t||"object"!=typeof t)return null;let n=!1;for(const r in t)t.hasOwnProperty(r)&&(t[r]&&t[r].length?(t[r].forEach((t=>{t.e&&(t.e=e(t.e))})),n=!0):delete t[r]);return n?t:null}(t,r)))return null;const i=(r,i,s,o=null)=>t[r]?n(i,t[r],s):e&&e[r]?e[r]:o;return e&&e.a&&t.o?e=>{const r=n(e,t.o,qt);return Yt.recomposeSelf(r,i("r",e,H,0)+r.a,i("k",e,X),i("s",e,X),i("t",e,X)).toString()}:t=>Yt.recomposeSelf(i("o",t,Lt,null),i("r",t,H,0),i("k",t,X),i("s",t,X),i("t",t,X)).toString()},"#filter":function(t,e,n,r,i,s,o,u){if(!e.items||!t||!t.length)return null;const l=function(t,e){const n=(t=t.map((t=>t&&le[t[0]]?(e.getElementById(t[1]),le[t[0]](e.getElementById(t[1]),t[1],e)):null))).length;return e=>{for(let r=0;r<n;r++)t[r]&&t[r](e[r].value)}}(e.items,u);return l?(t=function(t,e){return t.map((t=>(t.e=e(t.e),t)))}(t,r),e=>{l(n(e,t,ue))}):null},"#line":Ht,points:{f:_t,i:et},d:Ut,r:Jt,"#size":Mt,"#radius":It,_(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)this[t[n]]=e;else this[t]=e}};const he={currentTime:"offset",duration:"duration",hasEnded:function(){return this.reachedToEnd()},isAlternate:"alternate",isPlaying:"_running",isRollingBack:"_rollingBack",state:function(t,e){return e.isPlaying?e.isRollingBack?"rollback":"playing":e.hasEnded?"ended":"paused"},totalTime:"maxFiniteDuration",iterations:"iterations",direction:"direction",fill:"fill",isReversed:function(t,e){return-1===e.direction},isBackwards:function(t,e){return-1===e.fill},isInfinite:function(t,e){return 0===e.iterations},speed:"speed",fps:"fps"},de={destruct:"destruct",pause:"pause",play:function(t,e){return ge(t,e.hasEnded?"restart":"play",e)},restart:"restart",reverse:function(t,e){return ge(t,"reverse",e,[!0])},seek:"seek",seekBy:"seekBy",seekTo:"seekTo",stop:"stop",toggle:"toggle",togglePlay:"toggle",set:"set"};function ge(t,e,n,r=[]){return function(){const i=[...arguments];return i.unshift(...r),t[e].call(t,...i),n}}class pe{constructor(t){const e={},n=["on","off"],r={get:function(t,r,i){return he[r]?"function"==typeof he[r]?he[r].call(t,t,i):t[he[r]]:de[r]?"function"==typeof de[r]?de[r].call(t,t,i):ge(t,de[r],i):-1!==n.indexOf(r)?e[r]:"ready"===r?t=>(t&&t.call(i,i),i):void 0},set:function(t,r,i){return-1!==n.indexOf(r)&&(e[r]=i)},ownKeys:function(t){return Object.keys(he)},has:function(t,e){return void 0!==he[e]}};if("function"==typeof Proxy)return new Proxy(t,r);const i=Object.keys(he).concat(Object.keys(de)).concat(n),s={};return i.forEach((e=>{const i={enumerable:!1,configurable:!1,get:()=>r.get(t,e,s)};-1!==n.indexOf(e)&&(i.set=n=>r.set(t,e,n)),Object.defineProperty(s,e,i)})),s}}function ye(t){t||(t=this);let e={};this.on=function(t,n,r=!1){return"function"==typeof n&&(t.split(/[, ]+/g).forEach((t=>(e[t]=e[t]||[],r?e[t].unshift(n):e[t].push(n)))),!0)},this.off=function(t,n){for(let r in e)if(e.hasOwnProperty(r)&&r.substr(0,t.length)===t)if(n)for(let t=0;t<e[r].length;t++)e[r][t]===n&&(e[r][t]=null);else e[r]=null},this.trigger=function(){let n,[r,...i]=[...arguments];t:for(let s in e)if(e.hasOwnProperty(s)&&e[s]&&(s===r||s.substr(0,r.length+1)===r+"."))for(let r=0;r<(e[s]||[]).length;r++)if(e[s][r]&&(n=e[s][r].apply(t,i),!1===n))break t;return n}}let me=function(t,e,n=n){let r=!1,i=null;return function(s){r&&clearTimeout(r),r=setTimeout((()=>function(){let s=0,o=n.innerHeight,u=0,l=n.innerWidth,a=t.parentNode;for(;a instanceof Element;){let t=n.getComputedStyle(a);if("visible"!==t.overflowY||"visible"!==t.overflowX){let e=a.getBoundingClientRect();"visible"!==t.overflowY&&(s=Math.max(s,e.top),o=Math.min(o,e.bottom)),"visible"!==t.overflowX&&(u=Math.max(u,e.left),l=Math.min(l,e.right))}if(a===a.parentNode)break;a=a.parentNode}r=!1;let c=t.getBoundingClientRect(),f=Math.min(c.height,Math.max(0,s-c.top)),h=Math.min(c.height,Math.max(0,c.bottom-o)),d=Math.min(c.width,Math.max(0,u-c.left)),g=Math.min(c.width,Math.max(0,c.right-l)),p=(c.height-f-h)/c.height,y=(c.width-d-g)/c.width,m=Math.round(p*y*100);null!==i&&i===m||(i=m,e(m))}()),100)}};class ve{constructor(t,e,n){const r=function(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i={el:t,window:window};if(!r)return i;let s;try{s=window.parent.document}catch(t){return i}return i.window=window.parent,i.el=Array.from(s.querySelectorAll("iframe,object")).filter((t=>t.contentWindow===window))[0]||i.el,i}(t);e=Math.max(1,e||1),e=Math.min(e,100),this.el=r.el,this._handlers=[],this.onThresholdChange=n&&n.call?n:()=>{},this.thresholdPercent=e||1,this.currentVisibility=null,this.visibilityCalculator=me(this.el,this.onVisibilityUpdate.bind(this),r.window),this.bindScrollWatchers(),this.visibilityCalculator()}bindScrollWatchers(){let t=this.el.parentNode;for(;t&&(this._handlers.push({element:t,event:"scroll",handler:this.visibilityCalculator}),t.addEventListener("scroll",this.visibilityCalculator),t!==t.parentNode&&t!==document);)t=t.parentNode}onVisibilityUpdate(t){let e=this.currentVisibility>=this.thresholdPercent,n=t>=this.thresholdPercent;if(null===this.currentVisibility||e!==n)return this.currentVisibility=t,void this.onThresholdChange(n);this.currentVisibility=t}destruct(){this._handlers.forEach((t=>{t.element.removeEventListener(t.event,t.handler)}))}}class be{static adjustLink(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i=null==t?void 0:t.firstElementChild;r&&i&&"a"===i.tagName&&!i.getAttribute("target")&&i.setAttributeNS(null,"target","_parent")}static autoPlay(t,e,n,r=[]){if("click"===n.start){const i=()=>{switch(n.click){case"freeze":return!t._running&&t.reachedToEnd()?t.restart():t.toggle();case"restart":return t.offset>0?t.restart():t.play();case"reverse":return t._running?t.reverse():t.reachedToEnd()?1===t.fill?t.reverse(!0):t.restart():t.play();case"none":default:if(t._running)return;return t.reachedToEnd()?t.restart():t.play()}};return r.push({element:e,event:"click",handler:i}),void e.addEventListener("click",i)}if("hover"===n.start){const i=()=>t.reachedToEnd()?t.restart():t._rollingBack?t.reverse():t.play();r.push({element:e,event:"mouseenter",handler:i}),e.addEventListener("mouseenter",i);const s=()=>{switch(n.hover){case"freeze":return t.pause();case"reset":return t.stop();case"reverse":if(t.reverse(),t._running)return;return t.play();case"none":default:return}};return r.push({element:e,event:"mouseleave",handler:s}),void e.addEventListener("mouseleave",s)}if("scroll"!==n.start)"programmatic"!==n.start&&t.play();else{const i=new ve(e,n.scroll||25,(function(e){e?t.reachedToEnd()?t.restart():t.play():t.pause()}));r.push({callback:()=>i.destruct()})}}}const we=!0,xe=["iterations","speed","fps","direction","fill","alternate"];class Ae extends class{_svg;_rootId;constructor(t){this._id=0,this._running=!1,this._rollingBack=!1,this._animations=t.animations,this._settings=t.animationSettings,t.version<"2022-05-02"&&delete this._settings.speed,xt.forEach((t=>{this._settings[t.key]=this._settings[t.key]||t.def})),this.duration=t.animationSettings.duration,this.offset=t.animationSettings.offset||0,this.rollbackStartOffset=0,this._rootId=t.root,this._svg=t.svg,this._originalAnimations=t.originalAnimations,this._fTC=new N(this)}get svg(){return this._svg}get rootId(){return this._rootId}get alternate(){return this._settings.alternate}get fill(){return this._settings.fill}get iterations(){return this._settings.iterations}get direction(){return this._settings.direction}get speed(){return this._settings.speed}get fps(){return this._settings.fps}get wD(){return this._settings.w}get originalAnimations(){return this._originalAnimations}get maxFiniteDuration(){return this.iterations>0?this.iterations*this.duration:this.duration}static build(t,e){if(delete t.animationSettings,t.options=wt(t.options,t.root,"91c80d77"),t.animations.map((e=>{e.settings=wt(e.s,t.root,"91c80d77"),delete e.s,t.animationSettings||(t.animationSettings=e.settings)})),Object.assign(t,{originalAnimations:t.animations},function(t,e){if(ut=e,!t||!t.root||!Array.isArray(t.animations))return null;const n=mt(t);if(!n)return null;const r=t.animations.map((t=>yt(n,t))).filter((t=>!!t));return r.length?{svg:n,animations:r}:null}(t,e)),!t)return null;const n=t.options||{},r=new this(t);return{el:t.svg,options:n,player:r}}static push(t){return this.build(t)}static init(){const t=window.__SVGATOR_PLAYER__&&window.__SVGATOR_PLAYER__["91c80d77"];Array.isArray(t)&&t.splice(0).forEach((t=>this.build(t)))}_apply(t,e={}){const n=this._animations,r=n.length;let i=0;for(let s=0;s<r;s++)e[s]?i++:(e[s]=n[s](t,1),e[s]&&i++);return i}_rollback(t){let e=1/0,n=null;this.rollbackStartOffset=t,this._rollingBack=!0,this._running=!0;const r=i=>{if(!this._rollingBack)return;null==n&&(n=i);let s=Math.round(t-(i-n)*this.speed);if(s>this.duration&&e!==1/0){const t=!!this.alternate&&s/this.duration%2>1;let e=s%this.duration;e+=t?this.duration:0,s=e||this.duration}const o=(this.fps?1e3/this.fps:0)*this.speed,u=Math.max(0,s);u<=e-o&&(this.offset=u,e=u,this._apply(u));const l=this.iterations>0&&-1===this.fill&&s>=this.maxFiniteDuration;(s<=0||this.offset<s||l)&&this.stop(),this._id=window.requestAnimationFrame(r)};this._id=window.requestAnimationFrame(r)}_start(t=0){let e,n=-1/0;const r={};this._running=!0;const i=s=>{e??=s;const o=Math.round((s-e)*this.speed+t),u=(this.fps?1e3/this.fps:0)*this.speed;o>=n+u&&!this._rollingBack&&this._fTC.cF(s,(()=>{this.offset=o,n=o;if(this._apply(o,r)===this._animations.length)return this.pause(!0),!0}))||(this._id=window.requestAnimationFrame(i))};this._id=window.requestAnimationFrame(i)}_pause(){this._id&&window.cancelAnimationFrame(this._id),this._running=!1}play(){if(!this._running)return this._rollingBack?this._rollback(this.offset):this._start(this.offset)}stop(){this._pause(),this.offset=0,this.rollbackStartOffset=0,this._rollingBack=!1,this._apply(0)}reachedToEnd(){return this.iterations>0&&this.offset>=this.iterations*this.duration}restart(t=!1){this.stop(t),this.play(t)}pause(){this._pause()}toggle(){return this._running?this.pause():this.reachedToEnd()?this.restart():this.play()}trigger(t,e){}_adjustOffset(t=!1){const e=this.alternate?2*this.duration:this.duration;if(t){if(!this._rollingBack&&0===this.offset)return void(this.offset=e);this._rollingBack&&(this.offset,this.maxFiniteDuration)}!this._rollingBack||this.rollbackStartOffset<=this.duration?0!==this.iterations&&(this.offset=Math.min(this.offset,this.maxFiniteDuration)):(this.offset=this.rollbackStartOffset-(this.rollbackStartOffset-this.offset)%e,this.rollbackStartOffset=0)}reverse(t=!1){if(!this._running)return this._adjustOffset(t),this._rollingBack=!this._rollingBack,t&&this.play(!1),void this.trigger("reverse",this.offset);this.pause(!1,!1),this._adjustOffset(),this._rollingBack=!this._rollingBack,this.play(!1),this.trigger("reverse",this.offset)}}{constructor(t){super(t),this._handlers=[]}static build(t){let e=super.build(t,fe);if(!e)return null;let{el:n,options:r,player:i}=e;const s=new pe(i),o=new ye(s);s.on=o.on,s.off=o.off,i.trigger=o.trigger;const u=n.svgatorPlayer&&n.svgatorPlayer.ready&&n.svgatorPlayer.ready.call&&n.svgatorPlayer.ready.call();n.svgatorPlayer=s,be.adjustLink(n),be.autoPlay(i,n,r,i._handlers),function(t,e,n){let r;"function"==typeof Event?r=new Event("ready"):(r=document.createEvent("Event"),r.initEvent("ready",!0,!0));if(t.dispatchEvent(r),!n||!n.length)return;n.forEach((t=>e.ready(t)))}(n,n.svgatorPlayer,u)}play(t=true){const e=super.play();return t===we&&this.trigger("play",this.offset),e}pause(t=!1,e=true){const n=super.pause();return e===we&&this.trigger(t?"end":"pause",this.offset),n}restart(){const t=super.restart(!1);return this.trigger("restart",this.offset),t}stop(t=true){const e=super.stop();return t===we&&this.trigger("stop",this.offset),e}_apply(t,e={},n=true){const r=super._apply(t);if(n===we){const e=()=>this.trigger("keyframe",t);window.requestAnimationFrame(e)}return r}seekTo(t){const e=this._running;var n,r,i;e&&this.pause(!1,!1),this.offset=this.iterations>0?(n=t,r=0,i=this.maxFiniteDuration,n<r?r:n>i?i:n):Math.max(t,0),this._apply(this.offset),e&&this.play(!1)}seek(t){return this.seekTo(Math.round(t/100*this.maxFiniteDuration))}seekBy(t){return this.seekTo(this.offset+t)}set(t,e){if(!xe.includes(t))return;const n=this._running;n&&this.pause(!1,!1),this._settings[t]=e,n?this.play(!1):this._apply(this.offset,{},!1)}destruct(){this.stop(),this._handlers.forEach((t=>{t.element?t.element.removeEventListener(t.event,t.handler):t.callback&&t.callback.call&&t.callback.call()}));const t=()=>{},e=Object.getOwnPropertyNames(Object.getPrototypeOf(this));e.push(...Object.getOwnPropertyNames(this)),e.forEach((e=>{"function"==typeof this[e]?this[e]=t:delete this[e]}))}}return Ae.init(),Ae}));
(function(s,i,o,w,d,a,b){(a=Array.from(d.querySelectorAll('svg#' + i.root)).filter(n=> !n.svgatorPlayer)[0]||{}).svgatorPlayer={ready:(function(a){b=[];return function(c){return c?(b.push(c),a.svgatorPlayer):b}})(a)};w[o]=w[o]||{};w[o][s]=w[o][s]||[];w[o][s].push(i);})('91c80d77',{"root":"e3ipJWo7rHS1","version":"2025-04-07","animations":[{"elements":{"e3ipJWo7rHS3":{"transform":{"data":{"t":{"x":-52.65,"y":-94.562744}},"keys":{"o":[{"t":0,"v":{"x":52.65,"y":90.562744,"type":"corner"},"e":[0.58,0.01,0.43,1]},{"t":1000,"v":{"x":53.795372,"y":88.019191,"type":"corner"},"e":[0.625,0,0.39,1]},{"t":2000,"v":{"x":52.65,"y":90.562744,"type":"corner"},"e":[0.58,0.01,0.035,1]}]}}},"e3ipJWo7rHS33":{"transform":{"data":{"t":{"x":-115.767082,"y":-103.896137}},"keys":{"o":[{"t":0,"v":{"x":95.280548,"y":111.370064,"type":"corner"}},{"t":1000,"v":{"x":94.280548,"y":110.124609,"type":"corner"}},{"t":2000,"v":{"x":95.280548,"y":111.370064,"type":"corner"}}]}}},"e3ipJWo7rHS61":{"transform":{"data":{"o":{"x":71.429959,"y":109.540493,"type":"corner"},"t":{"x":-70.429959,"y":-109.540493}},"keys":{"r":[{"t":0,"v":0,"e":[0.876632,0,0.181981,0.96112]},{"t":1000,"v":-6,"e":[0.320911,0.66211,0.654072,1]},{"t":2000,"v":0}]}}}},"s":"MDVA1ZmQ2N2RiZHkpkMGNkYmNjAZmM0Y2FjOTdQkOTVROGQ4ZTWhiUThiODdUNK2RiZmM0Y2RWEYzBiZWNmYzRAjYWM5N2Q5NTWhjODc3ZERjNNGNmYzBCY2RiPY2NmYzRWY2FXjOWNlN2ROOTGU4Yjg3N2RSYEzFjNGM3Yzc3LZDk1OGM4NzdRkYmNjN2NmYzUBjZGM5YmNjZUkFjMDdkQTk1QYzFiY2M3Y2VBjMDg3N2RjZWMNiVGMwYzBiZPjdkOTU4Yjg5JOTE4NzdkYzFGjYmNlN2Q5NTGhjOGI4YmQ4"}],"options":"MDSAyMjkyMzk4YNThiNzg4OThiYMzk1MTM5N2YR4NjhkN2M4OTHM5NDNIMzk3ZJjg2OGQ3Yzg5OMzk1MTM5N2QA4OTdjN2M5MUVo3YzM5OTQ/"},'__SVGATOR_PLAYER__',window,document)
]]></script>
</svg></span>

  <span class="py-10 inline-block text-cta uppercase relative w-fit">
    Needlepoint Kits
    <span class="absolute left-0 right-0 bottom-0 border-b-1 border-current transition-position group-hover/text-link:bottom-5"></span>
  </span>
  </a>
</div>

<div class="w-full md:w-fit h-auto max-md:aspect-square flex flex-col justify-start items-center md:gap-10 relative group/button text-cerulean group/text-link max-md:bg-white px-10 pb-10 pt-0 max-md:last:odd:col-span-2 max-md:last:odd:flex-row max-md:last:odd:pb-10 max-md:last:odd:justify-start max-md:last:odd:aspect-auto">
  <a href="/collections/needlepoint-accessories" class="w-full max-md:h-fit h-full flex flex-col justify-start items-center">
  <span class="block max-w-[120px] md:max-w-[194px] aspect-square *:w-full *:h-auto"><svg id="eCj6Hr8k4mQ1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 194 194" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" project-id="31b1250c4af94d29bd9d784fb7a6473c" export-id="1cf85163ef2247a9a86e0ce6ed7b4b72" cached="false"><g transform="matrix(.823836 0 0 0.823827 37.795704 25.960693)"><g id="eCj6Hr8k4mQ3"><path d="M13.8,12.3l5.7-2.4c.4-.2,1,0,1.1.4L67.7,116.6c.2.6,0,1.2-.5,1.5L61,121c-.5.2-1,0-1.3-.5L13.3,13.4c-.2-.4,0-.9.4-1.1c0,0,.1,0,.1,0Z" fill="#88dbdf"/><path d="M22.5,14l-7.4,3l1.3,3.1l7.3-3.2L22.5,14Z" fill="#b1d8c2"/><path d="M21.7,6.4l5.6-3L74.9,111.5l-7.7,3.7L23,14.6l1.8-1.8-3.1-6.5v0v.1Z" fill="#c9edee"/><path d="M66.5,113.2l-7.8,3.3-1.7-3.3l8.2-3.2l1.3,3.2v0Z" fill="#b1d8c2"/><path d="M21.2,9.4l-7.9,3.2l1.8,4.3L23,13.7c0,0-1.8-4.3-1.8-4.3Z" fill="#c9edee"/><path d="M66.2,113.1l-7.9,3.2l1.9,4.7l7.9-3.2-1.9-4.7Z" fill="#c9edee"/><path d="M14.1,12.1l5.7-2.4c.4-.2,1,0,1.1.4L68.1,116.4c.2.6,0,1.2-.5,1.5l-6.2,2.9c-.5.2-1,0-1.3-.5L13.7,13.2c-.2-.4,0-.9.4-1.1v0Z" fill="none" stroke="#00a7b5" stroke-width="1.2" stroke-miterlimit="10"/><path d="M67.3,106.8l3,6.8c0,.2.3.3.6.2l.8-.3c.2,0,.3-.3.2-.6L69,106.1c0-.2-.3-.3-.6-.2l-.8.3c-.2,0-.3.3-.2.6v0h-.1Z" fill="#b1d8c2"/><path d="M67.1,115.2l6.9-3.1c.5-.2.8-.9.5-1.4L27.8,3.8c-.2-.4-.6-.5-.9-.3L22.7,5.4c-.4.2-.6.7-.4,1.1l2.6,5.8c.2.5,0,1-.5,1.2l-2,.8" fill="none" stroke="#00a7b5" stroke-width="1.2" stroke-miterlimit="10"/><path d="M20.6,10.4L67.7,116.7L20.6,10.4Z" fill="#00a7b5"/><path d="M23.8,5.7l3,6.8c.1.2.4.3.6.2l.7-.3c.2-.1.4-.4.2-.6L25.4,5c-.1-.2-.4-.3-.6-.2l-.8.3c-.2,0-.3.4-.2.6v0Z" fill="#b1d8c2"/></g><g id="eCj6Hr8k4mQ15" transform="translate(0 2.427694)"><path d="M4.1,37.5l7.4-1.9L44.2,166.1l-8.7,2.8L4.1,37.5Z" fill="#c9edee"/><path d="M11.6,25.1l3.8-1.3c.6-.2,1.3.2,1.5.8L50.5,153.7c.2.6-.2,1.2-.8,1.4l-6.6,2.2c-.6.2-1.3-.2-1.5-.8L11.7,34.5c0-.3,0-.6.1-.8l.5-.9c.1-.3.2-.6.1-.9l-1.5-5.4c-.2-.6.2-1.2.7-1.4v0Z" fill="#c9edee"/><path d="M12.5,24.9l1.8,7.2c0,.2.3.4.6.3l.7-.2c.2,0,.4-.3.4-.6l-1.8-7.2c0-.2-.3-.4-.6-.3l-.8.2c-.3,0-.4.3-.3.6v0Z" fill="#b1d8c2"/><path d="M5.1,43.4l7.7-1.7L41.2,156.2c0,.1,0,.2-.2.3l-8.3,2.3v0L5.1,43.4Z" fill="#88dbdf"/><path d="M43.3,148.7l1.9,7.5l1.7-.4-1.8-7.5c0-.3-.4-.5-.7-.4h-.6c-.3.2-.5.5-.4.8h-.1Z" fill="#b1d8c2"/><path d="M4.4,37l5.5-1.4c1.3-.2,1.6,0,2.1.7L44,165.5c0,.5-.2,1-.7,1.2L36.4,169c-.5.2-1.2-.1-1.3-.7L3.7,38.2c0-.5.2-1.1.7-1.2v0Z" fill="none" stroke="#00a7b5" stroke-width="1.2" stroke-miterlimit="10"/><path d="M41.9,157.1l7.4-2.3c.5-.2.8-.7.7-1.2L17.3,24.9c-.2-.9-1.2-1.5-2.1-1.3l-3.1.7c-.9.2-1.5,1.2-1.2,2.1l1.6,5.9c.1.4-.1.7-.5.8v0c-.4,0-.7.5-.6.9l.8,3.4" fill="none" stroke="#00a7b5" stroke-width="1.2" stroke-miterlimit="10"/></g><g id="eCj6Hr8k4mQ23"><path d="M127.9,83.1l-1.7-.8-6.3,14l1.7.8l6.3-14Z" fill="#b1d8c2"/><path d="M126.7,82.4c0,0-6,12-6,13.3s1,.3,1,.3l-.3,1.1-1.2,1-.5-.2v-2.3l5.8-13.4l1.2.3v0-.1Z" fill="#c9edee"/><path d="M140,84.1c0,0,1.1-2.6-10.4-7.1-11.6-4.5-12.7-1.5-12.7-1.5s-2.6,2.5,10.4,7.1c13.1,4.6,12.7,1.5,12.7,1.5v0Z" fill="#88dbdf"/><path d="M120.4,79.2c0,0,3.7-2.3,9.7.2s7.9,5.9,7.9,5.9-5.4-.5-10.6-2.7c-1.6-.7-7.4-3-7.4-3l.4-.3v0-.1Z" fill="#c9edee"/><path d="M140,84.1c0,0,1.1-2.6-10.4-7.1-11.6-4.5-12.7-1.5-12.7-1.5s-2.6,2.5,10.4,7.1c13.1,4.6,12.7,1.5,12.7,1.5v0Z" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/><path d="M128.1,82.8l-6.4,13.8c0,0-.2.3-.3.3l-1.2,1c-.2.2-.5,0-.5-.2v-2.3L125.5,82" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/></g><g id="eCj6Hr8k4mQ30"><path d="M97.5,76.6L96.3,78l11.9,9.7l1.2-1.4-11.9-9.7Z" fill="#b1d8c2"/><path d="M96.6,77.6c0,0,10.1,8.9,11.3,9.2.9.2.6-.9.6-.9l.9.6.6,1.4-.3.4-2.2-.6L96,78.6l.7-1.1v0l-.1.1Z" fill="#c9edee"/><path d="M101.6,65.2c0,0-2.2-1.8-9.5,8.3s-4.8,11.8-4.8,11.8s1.7,3.2,9.5-8.3c7.8-11.4,4.8-11.8,4.8-11.8Z" fill="#88dbdf"/><path d="M91.8,82.9c0,0-1.3-4.1,2.7-9.3s7.7-6.1,7.7-6.1-1.9,5.1-5.4,9.6c-1.1,1.4-4.8,6.3-4.8,6.3l-.2-.5v0Z" fill="#c9edee"/><path d="M101.6,65.2c0,0-2.2-1.8-9.5,8.3s-4.8,11.8-4.8,11.8s1.7,3.2,9.5-8.3c7.8-11.4,4.8-11.8,4.8-11.8Z" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/><path d="M97.3,76.3L109,86.1c0,0,.2.2.3.4l.6,1.4c0,.2,0,.5-.3.4l-1.8-.4c0,0-.3,0-.4-.2L95.9,78.6" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/></g><g id="eCj6Hr8k4mQ37" transform="translate(0-1.213847)"><path d="M74.6,67.4v10l1.2,1.9l1.3-2v-10h-2.5v.1Z" fill="#b1d8c2"/><path d="M74.6,68.4c0-.2,0-.3.3-.4.3,0,.7,0,.8.4.2,1.3.2,6.4,0,7.6c0,.4-.3.5-.4.6h-.6c-.4-.3-.2-.9-.2-.9l.2-7.2h-.1v-.1Z" fill="#c9edee"/><path d="M75.8,67.3c7.1,0,12.8-1.9,12.8-4.3s-5.7-4.3-12.8-4.3-12.8,1.9-12.8,4.3s5.7,4.3,12.8,4.3Z" fill="#88dbdf"/><path d="M74.6,67.4v10.3l.9,1.4c.2.2.5.2.6,0l.9-1.4v-9.9c0-.2-.2-.4-.4-.4h-2.2.2Z" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/><path d="M76.2,58.8c0,0-1.4,2.7,2.8,3.5s7.2,1.8,8.7,1.3.8-1.5.8-1.5-1.1-2.6-5.7-3-6.5-.3-6.5-.3h-.1Z" fill="#c9edee"/><path d="M64,64.9c0,0,.9-2,4.4-1.9c2.8,0,3.4,1.3,5.5,1.9c3.1.9,3.5.8,6.8,1.1c4.1.3,7.7-1.8,7.7-1.8s-2.5,2.7-6.4,2.8-9.6.4-9.6.4-5.2-.2-6.4-1.3-1.9-1.1-1.9-1.1v0l-.1-.1Z" fill="#c9edee"/><path d="M63,62.9c0,0-1.1,4.5,12.8,4.5s12.8-4.5,12.8-4.5s0-4.4-12.8-4.2C63.5,58.9,63,62.9,63,62.9Z" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/></g><g id="eCj6Hr8k4mQ45" transform="translate(15.331745-51.242097)"><path d="M95.7,100.7h-1.9l.5,15.4h1.9l-.5-15.4Z" fill="#b1d8c2"/><path d="M94.3,100.6c0,0-.2,13.4.4,14.6.4.9,1.1-.2,1.1-.2v1.1l-.6,1.4h-.6l-1-2.1-.7-14.6l1.3-.2v0h.1Z" fill="#c9edee"/><path d="M107,96.3c0,0,0-2.8-12.5-1.8-12.4,1-12.1,4.1-12.1,4.1s-1.3,3.3,12.5,1.8s12.1-4.1,12.1-4.1Z" fill="#88dbdf"/><path d="M87.3,100.4c0,0,2.3-3.7,8.8-4c6.5-.4,9.6,1.8,9.6,1.8s-5.1,1.9-10.8,2.2c-1.8,0-7.9.5-7.9.5l.3-.5v0Z" fill="#c9edee"/><path d="M107,96.3c0,0,0-2.8-12.5-1.8-12.4,1-12.1,4.1-12.1,4.1s-1.3,3.3,12.5,1.8s12.1-4.1,12.1-4.1Z" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/><path d="M95.8,100.3l.3,15.2v.4l-.7,1.4c0,.2-.4.2-.6,0l-.9-1.7v-.4l-.7-14.6" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/></g><g id="eCj6Hr8k4mQ52" transform="translate(-11.153083 51.212368)"><path d="M111.6,52.9l-9.9-1.3-2.1,1l1.8,1.5l9.9,1.3.2-2.3v-.2v0h.1Z" fill="#b1d8c2"/><path d="M110.6,52.8c.2,0,.3.2.4.3c0,.3-.2.7-.5.7-1.3,0-6.4-.6-7.5-1-.4,0-.5-.3-.5-.5s0-.5.2-.6c.3-.3.9,0,.9,0l7.1,1.1v0h-.1Z" fill="#c9edee"/><path d="M111.5,54.1c-.9,7,.3,13,2.6,13.3s5-5.2,5.9-12.2-.3-13-2.6-13.3-5,5.2-5.9,12.2Z" fill="#88dbdf"/><path d="M119.9,55.5c0,0-2.4-1.8-3.8,2.3s-2.7,6.9-2.4,8.4s1.3.9,1.3.9s2.7-.8,3.7-5.2s1.1-6.4,1.1-6.4h.1Z" fill="#c9edee"/><path d="M115.4,42.7c0,0,1.9,1.1,1.4,4.6-.4,2.7-1.7,3.2-2.6,5.2-1.3,2.9-1.3,3.3-1.9,6.6-.8,4,.8,7.8.8,7.8s-2.3-2.8-2-6.7c.4-3.9.8-9.6.8-9.6s.9-5.2,2.1-6.2s1.3-1.8,1.3-1.8v0l.1.1Z" fill="#c9edee"/><path d="M117.6,42c0,0-4.3-1.7-6,12.1-1.8,13.8,2.8,13.3,2.8,13.3s4.4.6,5.8-12.2c1.4-12.3-2.6-13.2-2.6-13.2Z" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/><path d="M111.6,52.9l-10-1.3h-.2l-1.5.7c-.2,0-.3.5,0,.6l1.3,1.1h.2l9.6,1.2c.2,0,.4,0,.4-.3l.2-2v-.2v0v.2Z" fill="none" stroke="#00a7b5" stroke-width="0.4" stroke-miterlimit="10"/></g></g>
<script><![CDATA[
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof __SVGATOR_DEFINE__&&__SVGATOR_DEFINE__.amd?__SVGATOR_DEFINE__(e):((t="undefined"!=typeof globalThis?globalThis:t||self).__SVGATOR_PLAYER__=t.__SVGATOR_PLAYER__||{},t.__SVGATOR_PLAYER__["91c80d77"]=e())}(this,(function(){"use strict";const t=n(Math.pow(10,-6)),e=n(Math.pow(10,-2));function n(t,e=6){return function(t,e,n){if(Number.isInteger(t))return t;const r=Math.pow(10,e);return Math[n]((+t+Number.EPSILON)*r)/r}(t,e,"round")}function r(e,n,r=t){return Math.abs(e-n)<r}n(Math.pow(10,-4));const i=Math.PI/180;function s(t){return t*i}function o(t){return t/i}function u(t){return"number"!=typeof t&&(t=Number(t)),isNaN(t)||!isFinite(t)?0:t}let l={iD:!1};function a(t){return`${t}`.replace(/['"]/g,"")}function c(t,e="px"){return t.endsWith(e)?t:`${t}${e}`}function f(t=""){return l.iD?t:void 0}function h(t){const e=["^","\\s*","(matrix\\()","(?<a>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<b>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<c>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<d>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<e>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<f>-?[0-9]*\\.?[0-9]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return[u(n.groups.a),u(n.groups.b),u(n.groups.c),u(n.groups.d),u(n.groups.e),u(n.groups.f)]}function d(t,e="inline"){return t&&t!==e?(t=a(t))===e?f(e):t:f(e)}function g(t,e="1px"){if(!t||t===e)return f(e);if(t.endsWith("px")||t.endsWith("%"))return t;const r=c(t=`${n(u(t),2)}`);return r===e?f(e):r}function p(t,e="none"){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("url(#")?t:function(t){const e=["^","\\s*","url\\(","#","(?<maskId>[a-zA-Z0-9\\-_]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return`url(#${n.groups.maskId})`}(t):f(e)}function y(t,e="rgb(0, 0, 0)"){if(!t||t===e)return f(e);if((t=a(t))===e)return f(e);if(t.startsWith("rgb"))return t;const n=function(t){if("string"!=typeof t||"#"!==t[0])return t;const e=t.slice(1),n=e.length;if(3!==n&&6!==n)return t;for(let r=0;r<n;r++){const n=e.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return t}if(3===n)return`rgb(${parseInt(e[0]+e[0],16)}, ${parseInt(e[1]+e[1],16)}, ${parseInt(e[2]+e[2],16)})`;return`rgb(${parseInt(e.slice(0,2),16)}, ${parseInt(e.slice(2,4),16)}, ${parseInt(e.slice(4,6),16)})`}(t);return n===e?f(e):n}function m(t,e="1"){return t&&t!==e?(t=`${n(u(t),3)}`)===e?f(e):t:f(e)}let v={};const b={fill:"none",stroke:"none",opacity:"0.01",transform:"matrix(0.001 0 0 0.001 -10000 -10000)"};function w({element:t,tagType:e="path",property:n="d",attributeValue:r}){return v[r]||(v[r]=function({element:t,tagType:e="path",property:n="d",attributeValue:r}){const i=t.ownerSVGElement,s=document.createElementNS(i.namespaceURI,e);s.setAttributeNS(null,n,r);for(const t in b)s.setAttributeNS(null,t,b[t]);i.appendChild(s);const o=getComputedStyle(s)[n];return s.remove(),o}({element:t,tagType:e,property:n,attributeValue:r})),v[r]}const x=()=>{v={}};"object"==typeof window&&(window.removeEventListener("resize",x),window.addEventListener("resize",x));const A={include:(t,e)=>["path"].includes(e),formatter:t=>function(t,e=""){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("path(")?t:`path('${t}')`:f(e)}(t)},_={include:(t,e)=>["rect","mask"].includes(e),formatter:(t,e,n)=>g(t,function(t,e){var n;return(null===(n={mask:{x:"-150%",y:"-150%",width:"400%",height:"400%"}}[e])||void 0===n?void 0:n[t])||(["x","y"].includes(t)?"0px":"100%")}(e,n))},k=Object.freeze({d:A,display:t=>d(t),height:_,fill:t=>y(t),"fill-opacity":t=>m(t),filter:t=>d(t,"none"),mask:t=>p(t),opacity:t=>m(t),stroke:t=>y(t,"none"),"stroke-opacity":t=>m(t),"stroke-width":t=>g(t),transform:t=>function(t,e="none"){if(!t||t===e)return f(e);const n=h(t);return n?`matrix(${n.join(", ")})`:t}(t),"transform-origin":t=>function(t,e="0px 0px"){if(!t||t===e)return f(e);const n=["^","\\s*","(?<x>[0-9]+)","(px)?","\\s*",",","\\s*","(?<y>[0-9]+)","(px)?"].join(""),r=t.match(new RegExp(n,"i"));if(!r)return t;let i=`${u(r.groups.x)}`;i=c(i);let s=`${u(r.groups.y)}`;s=c(s);const o=`${i} ${s}`;return o===e?f(e):o}(t),visibility:t=>d(t,"visible"),width:_,x:_,y:_}),S=Object.keys(k),E=e;function I(t,e,n,i,s=window){var o,u;const l=t.getAttribute(e),a="transform"===e?"none":"",c=s.safari&&!s.chrome&&(null===(o=i.getPropertyValue)||void 0===o?void 0:o.call(i,e))===a||"mask"===n?l:null===(u=i.getPropertyValue)||void 0===u?void 0:u.call(i,e);if(l&&c){if(l===c)return l;switch(e){case"transform":return function(t,e){const n=h(t),i=h(e);if((null==n?void 0:n.length)===(null==i?void 0:i.length)){for(let t=0,e=n.length;t<e;t++)if(n[t]!==i[t]&&(s=i[t],!r(((o=n[t])-s)/(o||1)*100,0,E)))return;var s,o;return t}}(l,c);case"d":return function(t,e,n){return w({element:t,attributeValue:e})===n?e:void 0}(t,l,c);default:return c}}}function M(t,e,n,r){var i,s,o,u;const l="transform"===e||["mask","path"].includes(n)&&["x","y","width","height","d"].includes(e);return r&&l?I(t,e,n,r):(null===(i=r.getPropertyValue)||void 0===i?void 0:i.call(r,e))??(null===(s=t.attrs)||void 0===s||null===(o=s.style)||void 0===o?void 0:o[e])??(null===(u=t.attrs)||void 0===u?void 0:u[e])}function O(t,e,n=!1){l.iD=n;const r="undefined"!=typeof window&&getComputedStyle(t),i={};for(let l=0,a=S.length;l<a;l++){var s,o,u;const a=S[l],c=t.type||t.nodeName;if(!1===(null===(s=(o=k[a]).include)||void 0===s?void 0:s.call(o,a,c)))continue;const f=k[a].formatter||k[a];if(null!=e&&null!==(u=e[t.id])&&void 0!==u&&u[a])continue;const h=M(t,a,c,r);if(null==h&&!n)continue;const d=f.call(this,h,a,c);d&&(i[a]=d)}return i}function j(t){var e,n;if(null==t||null===(e=t.wD)||void 0===e||!e.length)return;this.h=t.wD.shift();const r=null===(n=t.rootId)||void 0===n?void 0:n.slice(0,-1);this.wIs=t.wD.map((t=>`${r}${t}`))}function B(t){const e=new j(t),n=t.svg,r=e.wIs,i=t.originalAnimations[0].elements,s=e.h;function o(t,e,s){var u;if(e[t])return;const l=n.querySelector("#"+t),a=null==l||null===(u=l.parentElement)||void 0===u?void 0:u.id;if(l&&a){if(r.includes(a))return e[a]||o(a,e,s),e[a].children??=[],e[t]=O(l,i),void e[a].children.push(e[t]);e[t]=O(l,i),s.push(e[t])}}async function u(){const t=function(){let t=[],e={};for(let n=0,i=r.length;n<i;n++)o(r[n],e,t);return t}();return await async function(t){var e,n;const r=JSON.stringify(t),i=(new TextEncoder).encode(r),o=await(null===(e=window.crypto)||void 0===e||null===(n=e.subtle)||void 0===n?void 0:n.digest("SHA-256",i));return o&&Array.from(new Uint8Array(o)).map((t=>t.toString(16).padStart(2,"0"))).join("")||s}(t)}this.vH=async function(){await u()!==s&&requestAnimationFrame((()=>t.stop()))}}function N(t){let e=0,n=0;const r=new B(t);this.cF=function(i,s){return t.wD?(e++,function(t){return!(t-n<300)&&(t-n>=500||e>=3)}(i)?(e=0,n=i,window.requestAnimationFrame((()=>r.vH())),s()):s()):s()}}function T(t){return t}function P(t,e,n){const r=1-n;return 3*n*r*(t*r+e*n)+n*n*n}function F(t=0,e=0,n=1,i=1){return t<0||t>1||n<0||n>1?null:r(t,e)&&r(n,i)?T:s=>{if(s<=0)return t>0?s*e/t:0===e&&n>0?s*i/n:0;if(s>=1)return n<1?1+(s-1)*(i-1)/(n-1):1===n&&t<1?1+(s-1)*(e-1)/(t-1):1;let o,u=0,l=1;for(;u<l;){o=(u+l)/2;const e=P(t,n,o);if(r(s,e))break;e<s?u=o:l=o}return P(e,i,o)}}function R(){return 1}function V(t){return 1===t?1:0}function C(t=1,e=0){if(1===t){if(0===e)return V;if(1===e)return R}const n=1/t;return t=>t>=1?1:(t+=e*n)-t%n}Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),Number.EPSILON||(Number.EPSILON=2220446049250313e-31);const D=Math.sin,$=Math.cos,L=Math.acos,q=Math.asin,z=Math.tan,G=Math.atan2,W=Math.sqrt;function Y(t,e){return{a:t[0]*e[0]+t[2]*e[1],b:t[1]*e[0]+t[3]*e[1],c:t[0]*e[2]+t[2]*e[3],d:t[1]*e[2]+t[3]*e[3],tx:t[0]*e[4]+t[2]*e[5]+t[4],ty:t[1]*e[4]+t[3]*e[5]+t[5]}}function U(t,e,n){return t>=.5?n:e}function H(t,e,n){return 0===t||e===n?e:t*(n-e)+e}function J(t,e,n){const r=H(t,e,n);return r<=0?0:r}function Q(t,e,n){const r=H(t,e,n);return r<=0?0:r>=1?1:r}function X(t,e,n){return 0===t?e:1===t?n:{x:H(t,e.x,n.x),y:H(t,e.y,n.y)}}function Z(t,e,n){return 0===t?e:1===t?n:{x:J(t,e.x,n.x),y:J(t,e.y,n.y)}}function K(t,e,n){const r=function(t,e,n){return Math.round(H(t,e,n))}(t,e,n);return r<=0?0:r>=255?255:r}function tt(t,e,n){return 0===t?e:1===t?n:{r:K(t,e.r,n.r),g:K(t,e.g,n.g),b:K(t,e.b,n.b),a:H(t,null==e.a?1:e.a,null==n.a?1:n.a)}}function et(t,e,n){let r=e.length;if(r!==n.length)return U(t,e,n);let i=new Array(r);for(let s=0;s<r;s++)i[s]=H(t,e[s],n[s]);return i}function nt(t,e){const n=[];for(let r=0;r<t;r++)n.push(e);return n}function rt(t,e){if(--e<=0)return t;const n=(t=Object.assign([],t)).length;do{for(let e=0;e<n;e++)t.push(t[e])}while(--e>0);return t}class it{constructor(t){this.list=t,this.length=t.length}setAttribute(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].setAttribute(t,e)}removeAttribute(t){const e=this.list;for(let n=0;n<this.length;n++)e[n].removeAttribute(t)}style(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].style[t]=e}}const st=/-./g,ot=(t,e)=>e.toUpperCase();let ut;function lt(t){return"function"==typeof t?t:U}function at(t){return t?"function"==typeof t?t:Array.isArray(t)?function(t,e=T){if(!Array.isArray(t))return e;switch(t.length){case 1:return C(t[0])||e;case 2:return C(t[0],t[1])||e;case 4:return F(t[0],t[1],t[2],t[3])||e}return e}(t,null):function(t,e,n=T){switch(t){case"linear":return T;case"steps":return C(e.steps||1,e.jump||0)||n;case"bezier":case"cubic-bezier":return F(e.x1||0,e.y1||0,e.x2||0,e.y2||0)||n}return n}(t.type,t.value,null):null}function ct(t,e,n,r=!1){const i=e.length-1;if(t<=e[0].t)return r?[0,0,e[0].v]:e[0].v;if(t>=e[i].t)return r?[i,1,e[i].v]:e[i].v;let s,o=e[0],u=null;for(s=1;s<=i;s++){if(!(t>e[s].t)){u=e[s];break}o=e[s]}return null==u?r?[i,1,e[i].v]:e[i].v:o.t===u.t?r?[s,1,u.v]:u.v:(t=(t-o.t)/(u.t-o.t),o.e&&(t=o.e(t)),r?[s,t,n(t,o.v,u.v)]:n(t,o.v,u.v))}function ft(t,e,n=null){return t&&t.length?"function"!=typeof e?null:("function"!=typeof n&&(n=null),r=>{let i=ct(r,t,e);return null!=i&&n&&(i=n(i)),i}):null}function ht(t,e){return t.t-e.t}function dt(t,e,n,r,i){const s="@"===n[0],o="#"===n[0];let u=ut[n],l=U;var a;switch(s?(a=n.substr(1),n=a.replace(st,ot)):o&&(n=n.substr(1)),typeof u){case"function":if(l=u(r,i,ct,at,n,s,e,t),o)return l;break;case"string":l=ft(r,lt(u));break;case"object":if(l=ft(r,lt(u.i),u.f),l&&"function"==typeof u.u)return u.u(e,l,n,s,t)}return l?function(t,e,n,r=!1){if(r)return t instanceof it?r=>t.style(e,n(r)):r=>t.style[e]=n(r);if(Array.isArray(e)){const r=e.length;return i=>{const s=n(i);if(null==s)for(let n=0;n<r;n++)t[n].removeAttribute(e);else for(let n=0;n<r;n++)t[n].setAttribute(e,s)}}return r=>{const i=n(r);null==i?t.removeAttribute(e):t.setAttribute(e,i)}}(e,n,l,s):null}function gt(t,e,n,r){if(!r||"object"!=typeof r)return null;let i=null,s=null;return Array.isArray(r)?s=function(t){if(!t||!t.length)return null;for(let e=0;e<t.length;e++)t[e].e&&(t[e].e=at(t[e].e));return t.sort(ht)}(r):(s=r.keys,i=r.data||null),s?dt(t,e,n,s,i):null}function pt(t,e,n){if(!n)return null;const r=[];for(const i in n)if(n.hasOwnProperty(i)){const s=gt(t,e,i,n[i]);s&&r.push(s)}return r.length?r:null}function yt(t,e){if(!e.settings.duration||e.settings.duration<0)return null;const n=function(t,e){if(!e)return null;let n=[];if(Array.isArray(e)){const r=e.length;for(let i=0;i<r;i++){const r=e[i];if(2!==r.length)continue;let s=null;if("string"==typeof r[0])s=t.getElementById(r[0]);else if(Array.isArray(r[0])){s=[];for(let e=0;e<r[0].length;e++)if("string"==typeof r[0][e]){const n=t.getElementById(r[0][e]);n&&s.push(n)}s=s.length?1===s.length?s[0]:new it(s):null}if(!s)continue;const o=pt(t,s,r[1]);o&&(n=n.concat(o))}}else for(const r in e){if(!e.hasOwnProperty(r))continue;const i=t.getElementById(r);if(!i)continue;const s=pt(t,i,e[r]);s&&(n=n.concat(s))}return n.length?n:null}(t,e.elements);return n?function(t,e){const n=e.duration,r=t.length;let i=null;return(s,o)=>{const u=e.iterations||1/0,l=(e.alternate&&u%2==0)^e.direction>0?n:0;let a=s%n,c=1+(s-a)/n;o*=e.direction,e.alternate&&c%2==0&&(o=-o);let f=!1;if(c>u)a=l,f=!0,-1===e.fill&&(a=e.direction>0?0:n);else if(o<0&&(a=n-a),a===i)return!1;i=a;for(let e=0;e<r;e++)t[e](a);return f}}(n,e.settings):null}function mt(t,e=document,n=0){const r=function(t,e){const n=e.querySelectorAll("svg");for(let e=0;e<n.length;e++)if(n[e].id===t.root&&!n[e].svgatorAnimation)return n[e].svgatorAnimation=!0,n[e];return null}(t,e);if(r)return r;if(n>=20)return null;const i=function(t){const e=t=>t.shadowRoot;return document?Array.from(t.querySelectorAll(":not("+["a","area","audio","br","canvas","circle","datalist","embed","g","head","hr","iframe","img","input","link","object","path","polygon","rect","script","source","style","svg","title","track","video"].join()+")")).filter(e).map(e):[]}(e);for(let e=0;e<i.length;e++){const r=mt(t,i[e],n+1);if(r)return r}return null}function vt(t,e=null,n=Number,r="undefined"!=typeof BigInt&&BigInt){const i="0x"+(t.replace(/[^0-9a-fA-F]+/g,"")||27);return e&&r&&n.isSafeInteger&&!n.isSafeInteger(+i)?n(r(i))%e+e:+i}function bt(t,e=27){return!t||t%e?t%e:[0,1].includes(e)?e:bt(t/e,e)}function wt(t,e,n){if(!t||!t.length)return;const r=vt(n),i=bt(r)+5;let s=function(t,e,n){let r="";for(;t&&n&&e<=t.length;)r+=t.substring(0,e),t=t.substring(e+1),e=n;return r+t}(t,bt(r,5),i);return s=s.replace(/\x7c$/g,"==").replace(/\x2f$/g,"="),s=atob(s),s=s.replace(/[\x41-\x5A]/g,""),s=function(t,e,n){const r=+("0x"+t.substring(0,4));t=t.substring(4);const i=vt(e,r)%r+n%27,s=[];for(let e=0;e<t.length;e+=2){if("|"===t[e]){const n=+("0x"+t.substring(e+1,e+1+4))-i;e+=3,s.push(n);continue}const n=+("0x"+t[e]+t[e+1])-i;s.push(n)}return String.fromCharCode(...s)}(s,e,r),s=JSON.parse(s),s}const xt=[{key:"alternate",def:!1},{key:"fill",def:1},{key:"iterations",def:0},{key:"direction",def:1},{key:"speed",def:1},{key:"fps",def:100}];function At(t){return n(t)+""}function _t(t,e=" "){return t&&t.length?t.map(At).join(e):""}function kt(t){return At(t.x)+","+At(t.y)}function St(t){return t?null==t.a||t.a>=1?function(t){if(!t)return"transparent";const e=t=>parseInt(t).toString(16).padStart(2,"0");return function(t){const e=[];let n="#"===t[0]?e.push("#"):0;for(;n<t.length;n+=2){if(t[n]!==t[n+1])return t;e.push(t[n])}return e.join("")}("#"+e(t.r)+e(t.g)+e(t.b)+(null==t.a||t.a>=1?"":e(255*t.a)))}(t):"rgba("+t.r+","+t.g+","+t.b+","+t.a+")":"transparent"}function Et(t){return t?"url(#"+t+")":"none"}!function(){for(var t=0,e=["ms","moz","webkit","o"],n=0;n<e.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[e[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[n]+"CancelAnimationFrame"]||window[e[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e){var n=Date.now(),r=Math.max(0,16-(n-t)),i=window.setTimeout((function(){e(n+r)}),r);return t=n+r,i},window.cancelAnimationFrame=window.clearTimeout)}();var It={f:null,i:Z,u:(t,e)=>n=>{const r=e(n);t.setAttribute("rx",At(r.x)),t.setAttribute("ry",At(r.y))}},Mt={f:null,i:function(t,e,n){return 0===t?e:1===t?n:{width:J(t,e.width,n.width),height:J(t,e.height,n.height)}},u:(t,e)=>n=>{const r=e(n);t.setAttribute("width",At(r.width)),t.setAttribute("height",At(r.height))}};Object.freeze({M:2,L:2,Z:0,H:1,V:1,C:6,Q:4,T:2,S:4,A:7});let Ot={},jt=null;function Bt(t){let e=function(){if(jt)return jt;if("object"!=typeof document||!document.createElementNS)return{};let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t&&t.style?(t.style.position="absolute",t.style.opacity="0.01",t.style.zIndex="-9999",t.style.left="-9999px",t.style.width="1px",t.style.height="1px",jt={svg:t},jt):{}}().svg;if(!e)return function(t){return null};let n=document.createElementNS(e.namespaceURI,"path");n.setAttributeNS(null,"d",t),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"stroke","none"),e.appendChild(n);let r=n.getTotalLength();return function(t){let e=n.getPointAtLength(r*t);return{x:e.x,y:e.y}}}function Nt(t,e,n,r,i=1){let s=function(t){return Ot[t]?Ot[t]:Ot[t]=Bt(t)}(function(t,e,n,r){if(!t||!r)return!1;let i=["M",t.x,t.y];if(e&&n&&(i.push("C"),i.push(e.x),i.push(e.y),i.push(n.x),i.push(n.y)),e?!n:n){let t=e||n;i.push("Q"),i.push(t.x),i.push(t.y)}return e||n||i.push("L"),i.push(r.x),i.push(r.y),i.join(" ")}(t,e,n,r));try{return s(i)}catch(t){return null}}function Tt(t,e,n){return t+(e-t)*n}function Pt(t,e,n,r=!1){const i={x:Tt(t.x,e.x,n),y:Tt(t.y,e.y,n)};return r&&(i.a=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}(t,e)),i}function Ft(t,e,n,r){const i=1-r;return i*i*t+2*i*r*e+r*r*n}function Rt(t,e,n,r){return 2*(1-r)*(e-t)+2*r*(n-e)}function Vt(t,e,n,r,i=!1){let s=Nt(t,e,null,n,r);return s||(s={x:Ft(t.x,e.x,n.x,r),y:Ft(t.y,e.y,n.y,r)}),i&&(s.a=function(t,e,n,r){return Math.atan2(Rt(t.y,e.y,n.y,r),Rt(t.x,e.x,n.x,r))}(t,e,n,r)),s}function Ct(t,e,n,r,i){const s=i*i;return i*s*(r-t+3*(e-n))+3*s*(t+n-2*e)+3*i*(e-t)+t}function Dt(t,e,n,r,i){const s=1-i;return 3*(s*s*(e-t)+2*s*i*(n-e)+i*i*(r-n))}function $t(t,e,n,r,i,s=!1){let o=Nt(t,e,n,r,i);return o||(o={x:Ct(t.x,e.x,n.x,r.x,i),y:Ct(t.y,e.y,n.y,r.y,i)}),s&&(o.a=function(t,e,n,r,i){return Math.atan2(Dt(t.y,e.y,n.y,r.y,i),Dt(t.x,e.x,n.x,r.x,i))}(t,e,n,r,i)),o}function Lt(t,e,n,r=!1){if(zt(e)){if(Gt(n))return Vt(e,n.start,n,t,r)}else if(zt(n)){if(Wt(e))return Vt(e,e.end,n,t,r)}else{if(Wt(e))return Gt(n)?$t(e,e.end,n.start,n,t,r):Vt(e,e.end,n,t,r);if(Gt(n))return Vt(e,n.start,n,t,r)}return Pt(e,n,t,r)}function qt(t,e,n){const r=Lt(t,e,n,!0);return r.a=o(function(t,e=!1){return e?t+Math.PI:t}(r.a)),r}function zt(t){return!t.type||"corner"===t.type}function Gt(t){return null!=t.start&&!zt(t)}function Wt(t){return null!=t.end&&!zt(t)}const Yt=new class{constructor(t=1,e=0,n=0,r=1,i=0,s=0){this.m=[t,e,n,r,i,s],this.i=null,this.w=null,this.s=null}get determinant(){const t=this.m;return t[0]*t[3]-t[1]*t[2]}get isIdentity(){if(null===this.i){const t=this.m;this.i=1===t[0]&&0===t[1]&&0===t[2]&&1===t[3]&&0===t[4]&&0===t[5]}return this.i}point(t,e){const n=this.m;return{x:n[0]*t+n[2]*e+n[4],y:n[1]*t+n[3]*e+n[5]}}translateSelf(t=0,e=0){if(!t&&!e)return this;const n=this.m;return n[4]+=n[0]*t+n[2]*e,n[5]+=n[1]*t+n[3]*e,this.w=this.s=this.i=null,this}rotateSelf(t=0){if(t%=360){t=s(t);const e=D(t),n=$(t),r=this.m,i=r[0],o=r[1];r[0]=i*n+r[2]*e,r[1]=o*n+r[3]*e,r[2]=r[2]*n-i*e,r[3]=r[3]*n-o*e,this.w=this.s=this.i=null}return this}scaleSelf(t=1,e=1){if(1!==t||1!==e){const n=this.m;n[0]*=t,n[1]*=t,n[2]*=e,n[3]*=e,this.w=this.s=this.i=null}return this}skewSelf(t,e){if(e%=360,(t%=360)||e){const n=this.m,r=n[0],i=n[1],o=n[2],u=n[3];t&&(t=z(s(t)),n[2]+=r*t,n[3]+=i*t),e&&(e=z(s(e)),n[0]+=o*e,n[1]+=u*e),this.w=this.s=this.i=null}return this}resetSelf(t=1,e=0,n=0,r=1,i=0,s=0){const o=this.m;return o[0]=t,o[1]=e,o[2]=n,o[3]=r,o[4]=i,o[5]=s,this.w=this.s=this.i=null,this}recomposeSelf(t=null,e=null,n=null,r=null,i=null){return this.isIdentity||this.resetSelf(),t&&(t.x||t.y)&&this.translateSelf(t.x,t.y),e&&this.rotateSelf(e),n&&(n.x&&this.skewSelf(n.x,0),n.y&&this.skewSelf(0,n.y)),!r||1===r.x&&1===r.y||this.scaleSelf(r.x,r.y),i&&(i.x||i.y)&&this.translateSelf(i.x,i.y),this}decompose(t=0,e=0){const r=this.m,i=r[0]*r[0]+r[1]*r[1],s=[[r[0],r[1]],[r[2],r[3]]];let u=W(i);if(0===u)return{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:0,y:0},skew:{x:0,y:0},rotate:0};s[0][0]/=u,s[0][1]/=u;const l=r[0]*r[3]-r[1]*r[2]<0;l&&(u=-u);let a=s[0][0]*s[1][0]+s[0][1]*s[1][1];s[1][0]-=s[0][0]*a,s[1][1]-=s[0][1]*a;let c,f=W(s[1][0]*s[1][0]+s[1][1]*s[1][1]);return 0===f?{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:0},skew:{x:0,y:0},rotate:0}:(s[1][0]/=f,s[1][1]/=f,a/=f,s[1][1]<0?(c=o(L(s[1][1])),s[0][1]<0&&(c=360-c)):c=o(q(s[0][1])),l&&(c=-c),a=o(G(a,W(s[0][0]*s[0][0]+s[0][1]*s[0][1]))),l&&(a=-a),{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:n(f)},skew:{x:n(a),y:0},rotate:n(c)})}multiply(t){return this.clone().multiplySelf(t)}preMultiply(t){return t.multiply(this)}multiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(this.m,t.m);return this.resetSelf(e,n,r,i,s,o),this}preMultiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(t.m,this.m);return this.resetSelf(e,n,r,i,s,o),this}clone(){const t=this.m;return new this.constructor(t[0],t[1],t[2],t[3],t[4],t[5])}static create(t){return t?Array.isArray(t)?new this(...t):t instanceof this?t.clone():(new this).recomposeSelf(t.origin,t.rotate,t.skew,t.scale,t.translate):new this}toString(t=" ",e=!1){if(null===this.s){let r=this.m.map((t=>n(t)));e||1!==r[0]||0!==r[1]||0!==r[2]||1!==r[3]?this.s="matrix("+r.join(t)+")":this.s="translate("+r[4]+t+r[5]+")"}return this.s}};var Ut={f:function(t){return t?t.join(" "):""},i:function(t,e,n){if(0===t)return e;if(1===t)return n;let r=e.length;if(r!==n.length)return U(t,e,n);let i,s=new Array(r);for(let o=0;o<r;o++){if(i=typeof e[o],i!==typeof n[o])return U(t,e,n);if("number"===i)s[o]=H(t,e[o],n[o]);else{if(e[o]!==n[o])return U(t,e,n);s[o]=e[o]}}return s}},Ht={f:null,i:et,u:(t,e)=>n=>{const r=e(n);t.setAttribute("x1",At(r[0])),t.setAttribute("y1",At(r[1])),t.setAttribute("x2",At(r[2])),t.setAttribute("y2",At(r[3]))}},Jt={f:At,i:H},Qt={f:At,i:Q},Xt={f:function(t,e=" "){return t&&t.length>0&&(t=t.map((t=>n(t,4)))),_t(t,e)},i:function(t,e,r){let i=e.length,s=r.length;if(i!==s)if(0===i)i=s,e=nt(i,0);else if(0===s)s=i,r=nt(i,0);else{const t=function(t,e){const n=t*e/function(t,e){let n;for(;e;)n=e,e=t%e,t=n;return t||1}(t,e);return n<0?-n:n}(i,s);e=rt(e,Math.floor(t/i)),r=rt(r,Math.floor(t/s)),i=s=t}let o=[];for(let s=0;s<i;s++)o.push(n(J(t,e[s],r[s])));return o}};function Zt(t,e,r){return t.map((t=>function(t,e,r){let i=t.v;if(!i||"g"!==i.t||i.s||!i.v||!i.r)return t;const s=r.getElementById(i.r),o=s&&s.querySelectorAll("stop")||[];return i.s=i.v.map(((t,e)=>{let r=o[e]&&o[e].getAttribute("offset");return r=n(parseInt(r)/100),{c:t,o:r}})),delete i.v,t}(t,0,r)))}const Kt={gt:"gradientTransform",c:{x:"cx",y:"cy"},rd:"r",f:{x:"x1",y:"y1"},to:{x:"x2",y:"y2"}};function te(t,e,n,r,i,s,o,u){return Zt(t,0,u),e=function(t,e,n){let r,i,s;const o=t.length-1,u={};for(let l=0;l<=o;l++)r=t[l],r.e&&(r.e=e(r.e)),r.v&&(i=r.v,"g"===i.t&&i.r&&(s=n.getElementById(i.r),s&&(u[i.r]={e:s,s:s.querySelectorAll("stop")})));return u}(t,r,u),r=>{const i=n(r,t,ee);if(!i)return"none";if("c"===i.t)return St(i.v);if("g"===i.t){if(!e[i.r])return Et(i.r);const t=e[i.r];return function(t,e){let n=t.s;for(let r=n.length;r<e.length;r++){const e=n[n.length-1].cloneNode();e.id=ie(e.id),t.e.appendChild(e),n=t.s=t.e.querySelectorAll("stop")}for(let t=0,r=n.length,i=e.length-1;t<r;t++)n[t].setAttribute("stop-color",St(e[Math.min(t,i)].c)),n[t].setAttribute("offset",e[Math.min(t,i)].o)}(t,i.s),Object.keys(Kt).forEach((e=>{if(void 0===i[e])return;if("object"==typeof Kt[e])return void Object.keys(Kt[e]).forEach((n=>{if(void 0===i[e][n])return;const r=i[e][n],s=Kt[e][n];t.e.setAttribute(s,r)}));const n="gt"===e?(r=i[e],Array.isArray(r)?"matrix("+r.join(" ")+")":""):i[e];var r;const s=Kt[e];t.e.setAttribute(s,n)})),Et(i.r)}return"none"}}function ee(t,e,n){if(0===t)return e;if(1===t)return n;if(e&&n){const r=e.t;if(r===n.t)switch(e.t){case"c":return{t:r,v:tt(t,e.v,n.v)};case"g":if(e.r===n.r){const i={t:r,s:ne(t,e.s,n.s),r:e.r};return e.gt&&n.gt&&(i.gt=et(t,e.gt,n.gt)),e.c?(i.c=X(t,e.c,n.c),i.rd=J(t,e.rd,n.rd)):e.f&&(i.f=X(t,e.f,n.f),i.to=X(t,e.to,n.to)),i}}if("c"===e.t&&"g"===n.t||"c"===n.t&&"g"===e.t){const r="c"===e.t?e:n,i="g"===e.t?{...e}:{...n},s=i.s.map((t=>({c:r.v,o:t.o})));return i.s="c"===e.t?ne(t,s,i.s):ne(t,i.s,s),i}}return U(t,e,n)}function ne(t,e,n){if(e.length===n.length)return e.map(((e,r)=>re(t,e,n[r])));const r=Math.max(e.length,n.length),i=[];for(let s=0;s<r;s++){const r=re(t,e[Math.min(s,e.length-1)],n[Math.min(s,n.length-1)]);i.push(r)}return i}function re(t,e,n){return{o:Q(t,e.o,n.o||0),c:tt(t,e.c,n.c||{})}}function ie(t){return t.replace(/-fill-([0-9]+)$/,((t,e)=>"-fill-"+(+e+1)))}function se(t,e,n){return 0===t?e:1===t?n:{blur:Z(t,e.blur,n.blur),offset:X(t,e.offset,n.offset),color:tt(t,e.color,n.color)}}const oe={blur:Z,brightness:J,contrast:J,"drop-shadow":se,"inner-shadow":se,grayscale:J,"hue-rotate":H,invert:J,opacity:J,saturate:J,sepia:J};function ue(t,e,n){if(0===t)return e;if(1===t)return n;const r=e.length;if(r!==n.length)return U(t,e,n);const i=[];let s;for(let o=0;o<r;o++){if(e[o].type!==n[o].type)return e;if(s=oe[e[o].type],!s)return U(t,e,n);i.push({type:e.type,value:s(t,e[o].value,n[o].value)})}return i}const le={blur:t=>t?e=>{t.setAttribute("stdDeviation",kt(e))}:null,brightness:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e),t.map((t=>t.setAttribute("slope",e)))}:null,contrast:(t,e,n)=>(t=ce(n,e))?e=>{const n=At((1-e)/2);e=At(e),t.map((t=>{t.setAttribute("slope",e),t.setAttribute("intercept",n)}))}:null,"drop-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-flood");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y)),s.setAttribute("flood-color",St(t.color))}:null},"inner-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-color-matrix");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y));const e=[0,0,0,0,t.color.r/255,0,0,0,0,t.color.g/255,0,0,0,0,t.color.b/255,0,0,0,t.color.a,0];s.setAttribute("values",_t(e))}:null},grayscale:t=>t?e=>{t.setAttribute("values",_t(function(t){return[.2126+.7874*(t=1-t),.7152-.7152*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152+.2848*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152-.7152*t,.0722+.9278*t,0,0,0,0,0,1,0]}(e)))}:null,"hue-rotate":t=>t?e=>t.setAttribute("values",At(e)):null,invert:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e)+" "+At(1-e),t.map((t=>t.setAttribute("tableValues",e)))}:null,opacity:(t,e,n)=>(t=n.getElementById(e+"-A"))?e=>t.setAttribute("tableValues","0 "+At(e)):null,saturate:t=>t?e=>t.setAttribute("values",At(e)):null,sepia:t=>t?e=>t.setAttribute("values",_t(function(t){return[.393+.607*(t=1-t),.769-.769*t,.189-.189*t,0,0,.349-.349*t,.686+.314*t,.168-.168*t,0,0,.272-.272*t,.534-.534*t,.131+.869*t,0,0,0,0,0,1,0]}(e))):null};const ae=["R","G","B"];function ce(t,e){const n=ae.map((n=>t.getElementById(e+"-"+n)||null));return-1!==n.indexOf(null)?null:n}var fe={fill:te,"fill-opacity":Qt,stroke:te,"stroke-opacity":Qt,"stroke-width":Jt,"stroke-dashoffset":{f:At,i:H},"stroke-dasharray":Xt,opacity:Qt,transform:function(t,e,n,r){if(!(t=function(t,e){if(!t||"object"!=typeof t)return null;let n=!1;for(const r in t)t.hasOwnProperty(r)&&(t[r]&&t[r].length?(t[r].forEach((t=>{t.e&&(t.e=e(t.e))})),n=!0):delete t[r]);return n?t:null}(t,r)))return null;const i=(r,i,s,o=null)=>t[r]?n(i,t[r],s):e&&e[r]?e[r]:o;return e&&e.a&&t.o?e=>{const r=n(e,t.o,qt);return Yt.recomposeSelf(r,i("r",e,H,0)+r.a,i("k",e,X),i("s",e,X),i("t",e,X)).toString()}:t=>Yt.recomposeSelf(i("o",t,Lt,null),i("r",t,H,0),i("k",t,X),i("s",t,X),i("t",t,X)).toString()},"#filter":function(t,e,n,r,i,s,o,u){if(!e.items||!t||!t.length)return null;const l=function(t,e){const n=(t=t.map((t=>t&&le[t[0]]?(e.getElementById(t[1]),le[t[0]](e.getElementById(t[1]),t[1],e)):null))).length;return e=>{for(let r=0;r<n;r++)t[r]&&t[r](e[r].value)}}(e.items,u);return l?(t=function(t,e){return t.map((t=>(t.e=e(t.e),t)))}(t,r),e=>{l(n(e,t,ue))}):null},"#line":Ht,points:{f:_t,i:et},d:Ut,r:Jt,"#size":Mt,"#radius":It,_(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)this[t[n]]=e;else this[t]=e}};const he={currentTime:"offset",duration:"duration",hasEnded:function(){return this.reachedToEnd()},isAlternate:"alternate",isPlaying:"_running",isRollingBack:"_rollingBack",state:function(t,e){return e.isPlaying?e.isRollingBack?"rollback":"playing":e.hasEnded?"ended":"paused"},totalTime:"maxFiniteDuration",iterations:"iterations",direction:"direction",fill:"fill",isReversed:function(t,e){return-1===e.direction},isBackwards:function(t,e){return-1===e.fill},isInfinite:function(t,e){return 0===e.iterations},speed:"speed",fps:"fps"},de={destruct:"destruct",pause:"pause",play:function(t,e){return ge(t,e.hasEnded?"restart":"play",e)},restart:"restart",reverse:function(t,e){return ge(t,"reverse",e,[!0])},seek:"seek",seekBy:"seekBy",seekTo:"seekTo",stop:"stop",toggle:"toggle",togglePlay:"toggle",set:"set"};function ge(t,e,n,r=[]){return function(){const i=[...arguments];return i.unshift(...r),t[e].call(t,...i),n}}class pe{constructor(t){const e={},n=["on","off"],r={get:function(t,r,i){return he[r]?"function"==typeof he[r]?he[r].call(t,t,i):t[he[r]]:de[r]?"function"==typeof de[r]?de[r].call(t,t,i):ge(t,de[r],i):-1!==n.indexOf(r)?e[r]:"ready"===r?t=>(t&&t.call(i,i),i):void 0},set:function(t,r,i){return-1!==n.indexOf(r)&&(e[r]=i)},ownKeys:function(t){return Object.keys(he)},has:function(t,e){return void 0!==he[e]}};if("function"==typeof Proxy)return new Proxy(t,r);const i=Object.keys(he).concat(Object.keys(de)).concat(n),s={};return i.forEach((e=>{const i={enumerable:!1,configurable:!1,get:()=>r.get(t,e,s)};-1!==n.indexOf(e)&&(i.set=n=>r.set(t,e,n)),Object.defineProperty(s,e,i)})),s}}function ye(t){t||(t=this);let e={};this.on=function(t,n,r=!1){return"function"==typeof n&&(t.split(/[, ]+/g).forEach((t=>(e[t]=e[t]||[],r?e[t].unshift(n):e[t].push(n)))),!0)},this.off=function(t,n){for(let r in e)if(e.hasOwnProperty(r)&&r.substr(0,t.length)===t)if(n)for(let t=0;t<e[r].length;t++)e[r][t]===n&&(e[r][t]=null);else e[r]=null},this.trigger=function(){let n,[r,...i]=[...arguments];t:for(let s in e)if(e.hasOwnProperty(s)&&e[s]&&(s===r||s.substr(0,r.length+1)===r+"."))for(let r=0;r<(e[s]||[]).length;r++)if(e[s][r]&&(n=e[s][r].apply(t,i),!1===n))break t;return n}}let me=function(t,e,n=n){let r=!1,i=null;return function(s){r&&clearTimeout(r),r=setTimeout((()=>function(){let s=0,o=n.innerHeight,u=0,l=n.innerWidth,a=t.parentNode;for(;a instanceof Element;){let t=n.getComputedStyle(a);if("visible"!==t.overflowY||"visible"!==t.overflowX){let e=a.getBoundingClientRect();"visible"!==t.overflowY&&(s=Math.max(s,e.top),o=Math.min(o,e.bottom)),"visible"!==t.overflowX&&(u=Math.max(u,e.left),l=Math.min(l,e.right))}if(a===a.parentNode)break;a=a.parentNode}r=!1;let c=t.getBoundingClientRect(),f=Math.min(c.height,Math.max(0,s-c.top)),h=Math.min(c.height,Math.max(0,c.bottom-o)),d=Math.min(c.width,Math.max(0,u-c.left)),g=Math.min(c.width,Math.max(0,c.right-l)),p=(c.height-f-h)/c.height,y=(c.width-d-g)/c.width,m=Math.round(p*y*100);null!==i&&i===m||(i=m,e(m))}()),100)}};class ve{constructor(t,e,n){const r=function(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i={el:t,window:window};if(!r)return i;let s;try{s=window.parent.document}catch(t){return i}return i.window=window.parent,i.el=Array.from(s.querySelectorAll("iframe,object")).filter((t=>t.contentWindow===window))[0]||i.el,i}(t);e=Math.max(1,e||1),e=Math.min(e,100),this.el=r.el,this._handlers=[],this.onThresholdChange=n&&n.call?n:()=>{},this.thresholdPercent=e||1,this.currentVisibility=null,this.visibilityCalculator=me(this.el,this.onVisibilityUpdate.bind(this),r.window),this.bindScrollWatchers(),this.visibilityCalculator()}bindScrollWatchers(){let t=this.el.parentNode;for(;t&&(this._handlers.push({element:t,event:"scroll",handler:this.visibilityCalculator}),t.addEventListener("scroll",this.visibilityCalculator),t!==t.parentNode&&t!==document);)t=t.parentNode}onVisibilityUpdate(t){let e=this.currentVisibility>=this.thresholdPercent,n=t>=this.thresholdPercent;if(null===this.currentVisibility||e!==n)return this.currentVisibility=t,void this.onThresholdChange(n);this.currentVisibility=t}destruct(){this._handlers.forEach((t=>{t.element.removeEventListener(t.event,t.handler)}))}}class be{static adjustLink(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i=null==t?void 0:t.firstElementChild;r&&i&&"a"===i.tagName&&!i.getAttribute("target")&&i.setAttributeNS(null,"target","_parent")}static autoPlay(t,e,n,r=[]){if("click"===n.start){const i=()=>{switch(n.click){case"freeze":return!t._running&&t.reachedToEnd()?t.restart():t.toggle();case"restart":return t.offset>0?t.restart():t.play();case"reverse":return t._running?t.reverse():t.reachedToEnd()?1===t.fill?t.reverse(!0):t.restart():t.play();case"none":default:if(t._running)return;return t.reachedToEnd()?t.restart():t.play()}};return r.push({element:e,event:"click",handler:i}),void e.addEventListener("click",i)}if("hover"===n.start){const i=()=>t.reachedToEnd()?t.restart():t._rollingBack?t.reverse():t.play();r.push({element:e,event:"mouseenter",handler:i}),e.addEventListener("mouseenter",i);const s=()=>{switch(n.hover){case"freeze":return t.pause();case"reset":return t.stop();case"reverse":if(t.reverse(),t._running)return;return t.play();case"none":default:return}};return r.push({element:e,event:"mouseleave",handler:s}),void e.addEventListener("mouseleave",s)}if("scroll"!==n.start)"programmatic"!==n.start&&t.play();else{const i=new ve(e,n.scroll||25,(function(e){e?t.reachedToEnd()?t.restart():t.play():t.pause()}));r.push({callback:()=>i.destruct()})}}}const we=!0,xe=["iterations","speed","fps","direction","fill","alternate"];class Ae extends class{_svg;_rootId;constructor(t){this._id=0,this._running=!1,this._rollingBack=!1,this._animations=t.animations,this._settings=t.animationSettings,t.version<"2022-05-02"&&delete this._settings.speed,xt.forEach((t=>{this._settings[t.key]=this._settings[t.key]||t.def})),this.duration=t.animationSettings.duration,this.offset=t.animationSettings.offset||0,this.rollbackStartOffset=0,this._rootId=t.root,this._svg=t.svg,this._originalAnimations=t.originalAnimations,this._fTC=new N(this)}get svg(){return this._svg}get rootId(){return this._rootId}get alternate(){return this._settings.alternate}get fill(){return this._settings.fill}get iterations(){return this._settings.iterations}get direction(){return this._settings.direction}get speed(){return this._settings.speed}get fps(){return this._settings.fps}get wD(){return this._settings.w}get originalAnimations(){return this._originalAnimations}get maxFiniteDuration(){return this.iterations>0?this.iterations*this.duration:this.duration}static build(t,e){if(delete t.animationSettings,t.options=wt(t.options,t.root,"91c80d77"),t.animations.map((e=>{e.settings=wt(e.s,t.root,"91c80d77"),delete e.s,t.animationSettings||(t.animationSettings=e.settings)})),Object.assign(t,{originalAnimations:t.animations},function(t,e){if(ut=e,!t||!t.root||!Array.isArray(t.animations))return null;const n=mt(t);if(!n)return null;const r=t.animations.map((t=>yt(n,t))).filter((t=>!!t));return r.length?{svg:n,animations:r}:null}(t,e)),!t)return null;const n=t.options||{},r=new this(t);return{el:t.svg,options:n,player:r}}static push(t){return this.build(t)}static init(){const t=window.__SVGATOR_PLAYER__&&window.__SVGATOR_PLAYER__["91c80d77"];Array.isArray(t)&&t.splice(0).forEach((t=>this.build(t)))}_apply(t,e={}){const n=this._animations,r=n.length;let i=0;for(let s=0;s<r;s++)e[s]?i++:(e[s]=n[s](t,1),e[s]&&i++);return i}_rollback(t){let e=1/0,n=null;this.rollbackStartOffset=t,this._rollingBack=!0,this._running=!0;const r=i=>{if(!this._rollingBack)return;null==n&&(n=i);let s=Math.round(t-(i-n)*this.speed);if(s>this.duration&&e!==1/0){const t=!!this.alternate&&s/this.duration%2>1;let e=s%this.duration;e+=t?this.duration:0,s=e||this.duration}const o=(this.fps?1e3/this.fps:0)*this.speed,u=Math.max(0,s);u<=e-o&&(this.offset=u,e=u,this._apply(u));const l=this.iterations>0&&-1===this.fill&&s>=this.maxFiniteDuration;(s<=0||this.offset<s||l)&&this.stop(),this._id=window.requestAnimationFrame(r)};this._id=window.requestAnimationFrame(r)}_start(t=0){let e,n=-1/0;const r={};this._running=!0;const i=s=>{e??=s;const o=Math.round((s-e)*this.speed+t),u=(this.fps?1e3/this.fps:0)*this.speed;o>=n+u&&!this._rollingBack&&this._fTC.cF(s,(()=>{this.offset=o,n=o;if(this._apply(o,r)===this._animations.length)return this.pause(!0),!0}))||(this._id=window.requestAnimationFrame(i))};this._id=window.requestAnimationFrame(i)}_pause(){this._id&&window.cancelAnimationFrame(this._id),this._running=!1}play(){if(!this._running)return this._rollingBack?this._rollback(this.offset):this._start(this.offset)}stop(){this._pause(),this.offset=0,this.rollbackStartOffset=0,this._rollingBack=!1,this._apply(0)}reachedToEnd(){return this.iterations>0&&this.offset>=this.iterations*this.duration}restart(t=!1){this.stop(t),this.play(t)}pause(){this._pause()}toggle(){return this._running?this.pause():this.reachedToEnd()?this.restart():this.play()}trigger(t,e){}_adjustOffset(t=!1){const e=this.alternate?2*this.duration:this.duration;if(t){if(!this._rollingBack&&0===this.offset)return void(this.offset=e);this._rollingBack&&(this.offset,this.maxFiniteDuration)}!this._rollingBack||this.rollbackStartOffset<=this.duration?0!==this.iterations&&(this.offset=Math.min(this.offset,this.maxFiniteDuration)):(this.offset=this.rollbackStartOffset-(this.rollbackStartOffset-this.offset)%e,this.rollbackStartOffset=0)}reverse(t=!1){if(!this._running)return this._adjustOffset(t),this._rollingBack=!this._rollingBack,t&&this.play(!1),void this.trigger("reverse",this.offset);this.pause(!1,!1),this._adjustOffset(),this._rollingBack=!this._rollingBack,this.play(!1),this.trigger("reverse",this.offset)}}{constructor(t){super(t),this._handlers=[]}static build(t){let e=super.build(t,fe);if(!e)return null;let{el:n,options:r,player:i}=e;const s=new pe(i),o=new ye(s);s.on=o.on,s.off=o.off,i.trigger=o.trigger;const u=n.svgatorPlayer&&n.svgatorPlayer.ready&&n.svgatorPlayer.ready.call&&n.svgatorPlayer.ready.call();n.svgatorPlayer=s,be.adjustLink(n),be.autoPlay(i,n,r,i._handlers),function(t,e,n){let r;"function"==typeof Event?r=new Event("ready"):(r=document.createEvent("Event"),r.initEvent("ready",!0,!0));if(t.dispatchEvent(r),!n||!n.length)return;n.forEach((t=>e.ready(t)))}(n,n.svgatorPlayer,u)}play(t=true){const e=super.play();return t===we&&this.trigger("play",this.offset),e}pause(t=!1,e=true){const n=super.pause();return e===we&&this.trigger(t?"end":"pause",this.offset),n}restart(){const t=super.restart(!1);return this.trigger("restart",this.offset),t}stop(t=true){const e=super.stop();return t===we&&this.trigger("stop",this.offset),e}_apply(t,e={},n=true){const r=super._apply(t);if(n===we){const e=()=>this.trigger("keyframe",t);window.requestAnimationFrame(e)}return r}seekTo(t){const e=this._running;var n,r,i;e&&this.pause(!1,!1),this.offset=this.iterations>0?(n=t,r=0,i=this.maxFiniteDuration,n<r?r:n>i?i:n):Math.max(t,0),this._apply(this.offset),e&&this.play(!1)}seek(t){return this.seekTo(Math.round(t/100*this.maxFiniteDuration))}seekBy(t){return this.seekTo(this.offset+t)}set(t,e){if(!xe.includes(t))return;const n=this._running;n&&this.pause(!1,!1),this._settings[t]=e,n?this.play(!1):this._apply(this.offset,{},!1)}destruct(){this.stop(),this._handlers.forEach((t=>{t.element?t.element.removeEventListener(t.event,t.handler):t.callback&&t.callback.call&&t.callback.call()}));const t=()=>{},e=Object.getOwnPropertyNames(Object.getPrototypeOf(this));e.push(...Object.getOwnPropertyNames(this)),e.forEach((e=>{"function"==typeof this[e]?this[e]=t:delete this[e]}))}}return Ae.init(),Ae}));
(function(s,i,o,w,d,a,b){(a=Array.from(d.querySelectorAll('svg#' + i.root)).filter(n=> !n.svgatorPlayer)[0]||{}).svgatorPlayer={ready:(function(a){b=[];return function(c){return c?(b.push(c),a.svgatorPlayer):b}})(a)};w[o]=w[o]||{};w[o][s]=w[o][s]||[];w[o][s].push(i);})('91c80d77',{"root":"eCj6Hr8k4mQ1","version":"2025-04-07","animations":[{"elements":{"eCj6Hr8k4mQ3":{"transform":{"data":{"t":{"x":-40.660769,"y":-65.238321}},"keys":{"o":[{"t":0,"v":{"x":40.660769,"y":65.238321,"type":"corner"}},{"t":1500,"v":{"x":40.660769,"y":61.59678,"type":"corner"}},{"t":3000,"v":{"x":40.660769,"y":65.238321,"type":"corner"}}],"r":[{"t":0,"v":0},{"t":1500,"v":4.114468},{"t":3000,"v":0}]}}},"eCj6Hr8k4mQ15":{"transform":{"data":{"t":{"x":-27.126016,"y":-96.311583}},"keys":{"o":[{"t":0,"v":{"x":27.126016,"y":98.739277,"type":"corner"}},{"t":1300,"v":{"x":29.553684,"y":103.594665,"type":"corner"}},{"t":3000,"v":{"x":27.126016,"y":98.739277,"type":"corner"}}]}}},"eCj6Hr8k4mQ23":{"transform":{"data":{"t":{"x":-128.358059,"y":-86.310195}},"keys":{"o":[{"t":0,"v":{"x":128.358059,"y":86.310195,"type":"corner"}},{"t":1500,"v":{"x":129.571893,"y":83.882501,"type":"corner"}},{"t":3000,"v":{"x":128.358059,"y":86.310195,"type":"corner"}}]}}},"eCj6Hr8k4mQ30":{"transform":{"data":{"t":{"x":-98.443447,"y":-76.697784}},"keys":{"o":[{"t":0,"v":{"x":98.443447,"y":76.697784,"type":"corner"}},{"t":1600,"v":{"x":97.229613,"y":77.911631,"type":"corner"}},{"t":3000,"v":{"x":98.443447,"y":76.697784,"type":"corner"}}],"r":[{"t":0,"v":0},{"t":1500,"v":4.757933},{"t":3000,"v":0}]}}},"eCj6Hr8k4mQ37":{"transform":{"data":{"o":{"x":75.821299,"y":67.782845,"type":"corner"},"t":{"x":-75.821299,"y":-68.996692}},"keys":{"r":[{"t":0,"v":0},{"t":1300,"v":19.045095},{"t":3000,"v":0}]}}},"eCj6Hr8k4mQ45":{"transform":{"data":{"t":{"x":-94.716877,"y":-105.892102}},"keys":{"o":[{"t":0,"v":{"x":110.048622,"y":54.650005,"type":"corner"}},{"t":1500,"v":{"x":111.262456,"y":51.008464,"type":"corner"}},{"t":3000,"v":{"x":110.048622,"y":54.650005,"type":"corner"}}],"r":[{"t":0,"v":0},{"t":1800,"v":19.625546},{"t":3000,"v":0}]}}},"eCj6Hr8k4mQ52":{"transform":{"data":{"t":{"x":-110.048622,"y":-54.650005}},"keys":{"o":[{"t":0,"v":{"x":98.895539,"y":105.862373,"type":"corner"}},{"t":1500,"v":{"x":101.141912,"y":103.514906,"type":"corner"}},{"t":3000,"v":{"x":99.34692,"y":105.862373,"type":"corner"}}],"r":[{"t":0,"v":0},{"t":1500,"v":19.625546},{"t":3000,"v":0}]}}}},"s":"MDDA2MGEyNDk4YIjljOTk4ODliPOTA5Nkk5NTQA5NjE1YTU3NTAc1NzUzNDk4YPjkwOTk4YzhhIOWI5MDk2OTUN0OTYxNTg1MzBQ5OTBSOWI4YFzk5ODhYOWI5LMDk2OTU5YTQC5NjE1NzUzNDSk4ZDkwOTM5MYzQ5NjE1ODUzKNDlORzg4OTMU5YjhjOTk5NTUg4OWI4YzQ5NDjE4ZDg4OTM5AYThjRzUzNDkK5YTk3OGM4YzXhiNDk2MTU3NQTU1Zkc1ODUzENDk4ZDk3OWEA0OTYxSDU4NTSc1N1JhNA|"}],"options":"MDVAyMmEwNDdEOTTg5OTg2OTdMIOTk0NzVmNDcK4ZFk5NDliOGXE5N0U0NzUxNBDc4ZDk0UDliAOGE5NzQ3NWYB0NzhiOTc4YTShhOWY4YTQ3YXTI/"},'__SVGATOR_PLAYER__',window,document)
]]></script>
</svg></span>

  <span class="py-10 inline-block text-cta uppercase relative w-fit">
    Needlepoint Accessories
    <span class="absolute left-0 right-0 bottom-0 border-b-1 border-current transition-position group-hover/text-link:bottom-5"></span>
  </span>
  </a>
</div>

<div class="w-full md:w-fit h-auto max-md:aspect-square flex flex-col justify-start items-center md:gap-10 relative group/button text-cerulean group/text-link max-md:bg-white px-10 pb-10 pt-0 max-md:last:odd:col-span-2 max-md:last:odd:flex-row max-md:last:odd:pb-10 max-md:last:odd:justify-start max-md:last:odd:aspect-auto">
  <a href="/collections/stitch-guides" class="w-full max-md:h-fit h-full flex flex-col justify-start items-center">
  <span class="block max-w-[120px] md:max-w-[194px] aspect-square *:w-full *:h-auto"><svg id="e3aBGLAMHCX1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 193 194" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" project-id="1c54820d3f3c4471a47d3d04fcf4c16a" export-id="42a4c22a3db2403e940d772e388b829e" cached="false"><g id="e3aBGLAMHCX2" transform="translate(.000001-3.061653)"><g transform="translate(.000001 0)"><path d="M75.9874,54.6149L75.893,151.696c0,1.468,1.188,2.656,2.648,2.656h57.755c1.616,0,2.92-1.317,2.92-2.935v-93.8837c0-1.7019-1.376-3.0858-3.07-3.0802l-60.1586.1618c-.0777,0-.0999-.1116-.0222-.1395L114.896,41.3903c.494-.1674.378-.8984-.144-.8984l-56.4897-.2288c-1.4101-.0056-2.5592,1.1439-2.5592,2.5612v94.3027c0,1.216.9826,2.204,2.1928,2.204h15.3159l2.6313-.106" fill="#88dbdf"/><path d="M75.9874,54.6149L75.893,151.696c0,1.468,1.188,2.656,2.648,2.656h57.755c1.616,0,2.92-1.317,2.92-2.935v-93.8837c0-1.7019-1.376-3.0858-3.07-3.0802l-60.1586.1618Zm0,0c-.0777,0-.0999-.1116-.0222-.1395L114.896,41.3903c.494-.1674.378-.8984-.144-.8984l-56.4897-.2288c-1.4101-.0056-2.5592,1.1439-2.5592,2.5612v94.3027c0,1.216.9826,2.204,2.1928,2.204h15.3159l2.6313-.106" fill="none" stroke="#00a7b5" stroke-width="1.5419" stroke-miterlimit="10"/><rect width="52" height="38" rx="0" ry="0" transform="translate(83 63)" fill="#eff9f7"/><path d="M90.9553,63.8575h-2.4592v2.1204h2.4592v-2.1204Z" fill="#b1d8c2"/><path d="M90.9553,89.7992h-2.4592v10.1668h2.4592v-10.1668Z" fill="#b1d8c2"/><path d="M109.944,89.7992h-2.46v10.1668h2.46v-10.1668Z" fill="#b1d8c2"/><path d="M128.881,89.7992h-2.459v10.1668h2.459v-10.1668Z" fill="#b1d8c2"/><path d="M100.455,80.1781h-2.4589v13.8775h2.4589v-13.8775Z" fill="#b1d8c2"/><path d="M90.9553,70.9498h-2.4592v13.8775h2.4592v-13.8775Z" fill="#b1d8c2"/><path d="M83.6523,67.2269v2.4719h13.0177v-2.4719h-13.0177Z" fill="#00a7b5"/><path d="M102.016,67.2269v2.4719h13.017v-2.4719h-13.017Z" fill="#00a7b5"/><path d="M120.426,67.2877v2.472h13.017v-2.472h-13.017Z" fill="#00a7b5"/><path d="M92.7812,76.5124v2.4719h13.0178v-2.4719h-13.0178Z" fill="#00a7b5"/><path d="M111.664,76.5124v2.4719h13.018v-2.4719h-13.018Z" fill="#00a7b5"/><path d="M83.9492,86.0763v2.4719h13.0177v-2.4719h-13.0177Z" fill="#00a7b5"/><path d="M102.227,86.0763v2.4719h13.017v-2.4719h-13.017Z" fill="#00a7b5"/><path d="M120.426,86.0763v2.4719h13.017v-2.4719h-13.017Z" fill="#00a7b5"/><path d="M111.25,95.3603v2.472h13.018v-2.472h-13.018Z" fill="#00a7b5"/><path d="M92.7109,95.3603v2.472h13.0181v-2.472h-13.0181Z" fill="#00a7b5"/><path d="M109.756,70.9498h-2.459v13.8775h2.459v-13.8775Z" fill="#b1d8c2"/><path d="M128.881,70.9498h-2.459v13.8775h2.459v-13.8775Z" fill="#b1d8c2"/><path d="M118.998,80.2353h-2.459v13.8775h2.459v-13.8775Z" fill="#b1d8c2"/><path d="M100.463,64.0081h-2.4591v11.1935h2.4591v-11.1935Z" fill="#b1d8c2"/><path d="M119.053,64.0081h-2.459v11.1935h2.459v-11.1935Z" fill="#b1d8c2"/><path d="M107.49,65.9823h2.459v-2.1204h-2.459v2.1204Z" fill="#b1d8c2"/><path d="M126.428,65.9823h2.459v-2.1204h-2.459v2.1204Z" fill="#b1d8c2"/><path d="M98.0525,100.155h2.4595v-1.2555h-2.4595v1.2555Z" fill="#b1d8c2"/><path d="M116.537,100.155h2.459v-1.2555h-2.459v1.2555Z" fill="#eff9f7"/><path d="M87.5417,95.3601h-3.8581v2.472h3.8581v-2.472Z" fill="#00a7b5"/><path d="M133.909,95.3601h-3.858v2.472h3.858v-2.472Z" fill="#00a7b5"/><path d="M87.5417,76.6537h-3.8581v2.472h3.8581v-2.472Z" fill="#00a7b5"/><path d="M133.909,76.5127h-3.858v2.4719h3.858v-2.4719Z" fill="#00a7b5"/><path d="M115.605,39.7713l.301,14.7437" fill="none" stroke="#00a7b5" stroke-width="1.5419" stroke-miterlimit="10"/><path d="M115.273,53.7579l-34.9996-.0002L115.273,41.728v12.0299Z" fill="#eff9f7"/></g><g id="e3aBGLAMHCX38" transform="translate(.534014 0.000008)" opacity="0" paint-order="stroke fill markers"><path d="M82.7539,109.648h50.7551" transform="matrix(.997399 0 0 1.000002 0.281252-.000213)" fill="none" stroke="#00a7b5" stroke-width="1.5419" stroke-miterlimit="10"/></g><g id="e3aBGLAMHCX40" opacity="0"><path d="M83.3086,122.269h50.7554" fill="none" stroke="#00a7b5" stroke-width="1.5419" stroke-miterlimit="10"/></g><g id="e3aBGLAMHCX42" opacity="0"><path d="M83.3086,133.67h50.7554" fill="none" stroke="#00a7b5" stroke-width="1.5419" stroke-miterlimit="10"/></g><g id="e3aBGLAMHCX44" opacity="0"><path d="M83.3086,145.069h50.7554" fill="none" stroke="#00a7b5" stroke-width="1.5419" stroke-miterlimit="10"/></g></g>
<script><![CDATA[
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof __SVGATOR_DEFINE__&&__SVGATOR_DEFINE__.amd?__SVGATOR_DEFINE__(e):((t="undefined"!=typeof globalThis?globalThis:t||self).__SVGATOR_PLAYER__=t.__SVGATOR_PLAYER__||{},t.__SVGATOR_PLAYER__["91c80d77"]=e())}(this,(function(){"use strict";const t=n(Math.pow(10,-6)),e=n(Math.pow(10,-2));function n(t,e=6){return function(t,e,n){if(Number.isInteger(t))return t;const r=Math.pow(10,e);return Math[n]((+t+Number.EPSILON)*r)/r}(t,e,"round")}function r(e,n,r=t){return Math.abs(e-n)<r}n(Math.pow(10,-4));const i=Math.PI/180;function s(t){return t*i}function o(t){return t/i}function u(t){return"number"!=typeof t&&(t=Number(t)),isNaN(t)||!isFinite(t)?0:t}let l={iD:!1};function a(t){return`${t}`.replace(/['"]/g,"")}function c(t,e="px"){return t.endsWith(e)?t:`${t}${e}`}function f(t=""){return l.iD?t:void 0}function h(t){const e=["^","\\s*","(matrix\\()","(?<a>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<b>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<c>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<d>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<e>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<f>-?[0-9]*\\.?[0-9]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return[u(n.groups.a),u(n.groups.b),u(n.groups.c),u(n.groups.d),u(n.groups.e),u(n.groups.f)]}function d(t,e="inline"){return t&&t!==e?(t=a(t))===e?f(e):t:f(e)}function g(t,e="1px"){if(!t||t===e)return f(e);if(t.endsWith("px")||t.endsWith("%"))return t;const r=c(t=`${n(u(t),2)}`);return r===e?f(e):r}function p(t,e="none"){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("url(#")?t:function(t){const e=["^","\\s*","url\\(","#","(?<maskId>[a-zA-Z0-9\\-_]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return`url(#${n.groups.maskId})`}(t):f(e)}function y(t,e="rgb(0, 0, 0)"){if(!t||t===e)return f(e);if((t=a(t))===e)return f(e);if(t.startsWith("rgb"))return t;const n=function(t){if("string"!=typeof t||"#"!==t[0])return t;const e=t.slice(1),n=e.length;if(3!==n&&6!==n)return t;for(let r=0;r<n;r++){const n=e.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return t}if(3===n)return`rgb(${parseInt(e[0]+e[0],16)}, ${parseInt(e[1]+e[1],16)}, ${parseInt(e[2]+e[2],16)})`;return`rgb(${parseInt(e.slice(0,2),16)}, ${parseInt(e.slice(2,4),16)}, ${parseInt(e.slice(4,6),16)})`}(t);return n===e?f(e):n}function m(t,e="1"){return t&&t!==e?(t=`${n(u(t),3)}`)===e?f(e):t:f(e)}let v={};const b={fill:"none",stroke:"none",opacity:"0.01",transform:"matrix(0.001 0 0 0.001 -10000 -10000)"};function w({element:t,tagType:e="path",property:n="d",attributeValue:r}){return v[r]||(v[r]=function({element:t,tagType:e="path",property:n="d",attributeValue:r}){const i=t.ownerSVGElement,s=document.createElementNS(i.namespaceURI,e);s.setAttributeNS(null,n,r);for(const t in b)s.setAttributeNS(null,t,b[t]);i.appendChild(s);const o=getComputedStyle(s)[n];return s.remove(),o}({element:t,tagType:e,property:n,attributeValue:r})),v[r]}const x=()=>{v={}};"object"==typeof window&&(window.removeEventListener("resize",x),window.addEventListener("resize",x));const A={include:(t,e)=>["path"].includes(e),formatter:t=>function(t,e=""){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("path(")?t:`path('${t}')`:f(e)}(t)},_={include:(t,e)=>["rect","mask"].includes(e),formatter:(t,e,n)=>g(t,function(t,e){var n;return(null===(n={mask:{x:"-150%",y:"-150%",width:"400%",height:"400%"}}[e])||void 0===n?void 0:n[t])||(["x","y"].includes(t)?"0px":"100%")}(e,n))},k=Object.freeze({d:A,display:t=>d(t),height:_,fill:t=>y(t),"fill-opacity":t=>m(t),filter:t=>d(t,"none"),mask:t=>p(t),opacity:t=>m(t),stroke:t=>y(t,"none"),"stroke-opacity":t=>m(t),"stroke-width":t=>g(t),transform:t=>function(t,e="none"){if(!t||t===e)return f(e);const n=h(t);return n?`matrix(${n.join(", ")})`:t}(t),"transform-origin":t=>function(t,e="0px 0px"){if(!t||t===e)return f(e);const n=["^","\\s*","(?<x>[0-9]+)","(px)?","\\s*",",","\\s*","(?<y>[0-9]+)","(px)?"].join(""),r=t.match(new RegExp(n,"i"));if(!r)return t;let i=`${u(r.groups.x)}`;i=c(i);let s=`${u(r.groups.y)}`;s=c(s);const o=`${i} ${s}`;return o===e?f(e):o}(t),visibility:t=>d(t,"visible"),width:_,x:_,y:_}),S=Object.keys(k),E=e;function I(t,e,n,i,s=window){var o,u;const l=t.getAttribute(e),a="transform"===e?"none":"",c=s.safari&&!s.chrome&&(null===(o=i.getPropertyValue)||void 0===o?void 0:o.call(i,e))===a||"mask"===n?l:null===(u=i.getPropertyValue)||void 0===u?void 0:u.call(i,e);if(l&&c){if(l===c)return l;switch(e){case"transform":return function(t,e){const n=h(t),i=h(e);if((null==n?void 0:n.length)===(null==i?void 0:i.length)){for(let t=0,e=n.length;t<e;t++)if(n[t]!==i[t]&&(s=i[t],!r(((o=n[t])-s)/(o||1)*100,0,E)))return;var s,o;return t}}(l,c);case"d":return function(t,e,n){return w({element:t,attributeValue:e})===n?e:void 0}(t,l,c);default:return c}}}function M(t,e,n,r){var i,s,o,u;const l="transform"===e||["mask","path"].includes(n)&&["x","y","width","height","d"].includes(e);return r&&l?I(t,e,n,r):(null===(i=r.getPropertyValue)||void 0===i?void 0:i.call(r,e))??(null===(s=t.attrs)||void 0===s||null===(o=s.style)||void 0===o?void 0:o[e])??(null===(u=t.attrs)||void 0===u?void 0:u[e])}function O(t,e,n=!1){l.iD=n;const r="undefined"!=typeof window&&getComputedStyle(t),i={};for(let l=0,a=S.length;l<a;l++){var s,o,u;const a=S[l],c=t.type||t.nodeName;if(!1===(null===(s=(o=k[a]).include)||void 0===s?void 0:s.call(o,a,c)))continue;const f=k[a].formatter||k[a];if(null!=e&&null!==(u=e[t.id])&&void 0!==u&&u[a])continue;const h=M(t,a,c,r);if(null==h&&!n)continue;const d=f.call(this,h,a,c);d&&(i[a]=d)}return i}function j(t){var e,n;if(null==t||null===(e=t.wD)||void 0===e||!e.length)return;this.h=t.wD.shift();const r=null===(n=t.rootId)||void 0===n?void 0:n.slice(0,-1);this.wIs=t.wD.map((t=>`${r}${t}`))}function B(t){const e=new j(t),n=t.svg,r=e.wIs,i=t.originalAnimations[0].elements,s=e.h;function o(t,e,s){var u;if(e[t])return;const l=n.querySelector("#"+t),a=null==l||null===(u=l.parentElement)||void 0===u?void 0:u.id;if(l&&a){if(r.includes(a))return e[a]||o(a,e,s),e[a].children??=[],e[t]=O(l,i),void e[a].children.push(e[t]);e[t]=O(l,i),s.push(e[t])}}async function u(){const t=function(){let t=[],e={};for(let n=0,i=r.length;n<i;n++)o(r[n],e,t);return t}();return await async function(t){var e,n;const r=JSON.stringify(t),i=(new TextEncoder).encode(r),o=await(null===(e=window.crypto)||void 0===e||null===(n=e.subtle)||void 0===n?void 0:n.digest("SHA-256",i));return o&&Array.from(new Uint8Array(o)).map((t=>t.toString(16).padStart(2,"0"))).join("")||s}(t)}this.vH=async function(){await u()!==s&&requestAnimationFrame((()=>t.stop()))}}function N(t){let e=0,n=0;const r=new B(t);this.cF=function(i,s){return t.wD?(e++,function(t){return!(t-n<300)&&(t-n>=500||e>=3)}(i)?(e=0,n=i,window.requestAnimationFrame((()=>r.vH())),s()):s()):s()}}function T(t){return t}function P(t,e,n){const r=1-n;return 3*n*r*(t*r+e*n)+n*n*n}function F(t=0,e=0,n=1,i=1){return t<0||t>1||n<0||n>1?null:r(t,e)&&r(n,i)?T:s=>{if(s<=0)return t>0?s*e/t:0===e&&n>0?s*i/n:0;if(s>=1)return n<1?1+(s-1)*(i-1)/(n-1):1===n&&t<1?1+(s-1)*(e-1)/(t-1):1;let o,u=0,l=1;for(;u<l;){o=(u+l)/2;const e=P(t,n,o);if(r(s,e))break;e<s?u=o:l=o}return P(e,i,o)}}function R(){return 1}function V(t){return 1===t?1:0}function C(t=1,e=0){if(1===t){if(0===e)return V;if(1===e)return R}const n=1/t;return t=>t>=1?1:(t+=e*n)-t%n}Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),Number.EPSILON||(Number.EPSILON=2220446049250313e-31);const D=Math.sin,$=Math.cos,L=Math.acos,q=Math.asin,z=Math.tan,G=Math.atan2,W=Math.sqrt;function Y(t,e){return{a:t[0]*e[0]+t[2]*e[1],b:t[1]*e[0]+t[3]*e[1],c:t[0]*e[2]+t[2]*e[3],d:t[1]*e[2]+t[3]*e[3],tx:t[0]*e[4]+t[2]*e[5]+t[4],ty:t[1]*e[4]+t[3]*e[5]+t[5]}}function U(t,e,n){return t>=.5?n:e}function H(t,e,n){return 0===t||e===n?e:t*(n-e)+e}function J(t,e,n){const r=H(t,e,n);return r<=0?0:r}function Q(t,e,n){const r=H(t,e,n);return r<=0?0:r>=1?1:r}function X(t,e,n){return 0===t?e:1===t?n:{x:H(t,e.x,n.x),y:H(t,e.y,n.y)}}function Z(t,e,n){return 0===t?e:1===t?n:{x:J(t,e.x,n.x),y:J(t,e.y,n.y)}}function K(t,e,n){const r=function(t,e,n){return Math.round(H(t,e,n))}(t,e,n);return r<=0?0:r>=255?255:r}function tt(t,e,n){return 0===t?e:1===t?n:{r:K(t,e.r,n.r),g:K(t,e.g,n.g),b:K(t,e.b,n.b),a:H(t,null==e.a?1:e.a,null==n.a?1:n.a)}}function et(t,e,n){let r=e.length;if(r!==n.length)return U(t,e,n);let i=new Array(r);for(let s=0;s<r;s++)i[s]=H(t,e[s],n[s]);return i}function nt(t,e){const n=[];for(let r=0;r<t;r++)n.push(e);return n}function rt(t,e){if(--e<=0)return t;const n=(t=Object.assign([],t)).length;do{for(let e=0;e<n;e++)t.push(t[e])}while(--e>0);return t}class it{constructor(t){this.list=t,this.length=t.length}setAttribute(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].setAttribute(t,e)}removeAttribute(t){const e=this.list;for(let n=0;n<this.length;n++)e[n].removeAttribute(t)}style(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].style[t]=e}}const st=/-./g,ot=(t,e)=>e.toUpperCase();let ut;function lt(t){return"function"==typeof t?t:U}function at(t){return t?"function"==typeof t?t:Array.isArray(t)?function(t,e=T){if(!Array.isArray(t))return e;switch(t.length){case 1:return C(t[0])||e;case 2:return C(t[0],t[1])||e;case 4:return F(t[0],t[1],t[2],t[3])||e}return e}(t,null):function(t,e,n=T){switch(t){case"linear":return T;case"steps":return C(e.steps||1,e.jump||0)||n;case"bezier":case"cubic-bezier":return F(e.x1||0,e.y1||0,e.x2||0,e.y2||0)||n}return n}(t.type,t.value,null):null}function ct(t,e,n,r=!1){const i=e.length-1;if(t<=e[0].t)return r?[0,0,e[0].v]:e[0].v;if(t>=e[i].t)return r?[i,1,e[i].v]:e[i].v;let s,o=e[0],u=null;for(s=1;s<=i;s++){if(!(t>e[s].t)){u=e[s];break}o=e[s]}return null==u?r?[i,1,e[i].v]:e[i].v:o.t===u.t?r?[s,1,u.v]:u.v:(t=(t-o.t)/(u.t-o.t),o.e&&(t=o.e(t)),r?[s,t,n(t,o.v,u.v)]:n(t,o.v,u.v))}function ft(t,e,n=null){return t&&t.length?"function"!=typeof e?null:("function"!=typeof n&&(n=null),r=>{let i=ct(r,t,e);return null!=i&&n&&(i=n(i)),i}):null}function ht(t,e){return t.t-e.t}function dt(t,e,n,r,i){const s="@"===n[0],o="#"===n[0];let u=ut[n],l=U;var a;switch(s?(a=n.substr(1),n=a.replace(st,ot)):o&&(n=n.substr(1)),typeof u){case"function":if(l=u(r,i,ct,at,n,s,e,t),o)return l;break;case"string":l=ft(r,lt(u));break;case"object":if(l=ft(r,lt(u.i),u.f),l&&"function"==typeof u.u)return u.u(e,l,n,s,t)}return l?function(t,e,n,r=!1){if(r)return t instanceof it?r=>t.style(e,n(r)):r=>t.style[e]=n(r);if(Array.isArray(e)){const r=e.length;return i=>{const s=n(i);if(null==s)for(let n=0;n<r;n++)t[n].removeAttribute(e);else for(let n=0;n<r;n++)t[n].setAttribute(e,s)}}return r=>{const i=n(r);null==i?t.removeAttribute(e):t.setAttribute(e,i)}}(e,n,l,s):null}function gt(t,e,n,r){if(!r||"object"!=typeof r)return null;let i=null,s=null;return Array.isArray(r)?s=function(t){if(!t||!t.length)return null;for(let e=0;e<t.length;e++)t[e].e&&(t[e].e=at(t[e].e));return t.sort(ht)}(r):(s=r.keys,i=r.data||null),s?dt(t,e,n,s,i):null}function pt(t,e,n){if(!n)return null;const r=[];for(const i in n)if(n.hasOwnProperty(i)){const s=gt(t,e,i,n[i]);s&&r.push(s)}return r.length?r:null}function yt(t,e){if(!e.settings.duration||e.settings.duration<0)return null;const n=function(t,e){if(!e)return null;let n=[];if(Array.isArray(e)){const r=e.length;for(let i=0;i<r;i++){const r=e[i];if(2!==r.length)continue;let s=null;if("string"==typeof r[0])s=t.getElementById(r[0]);else if(Array.isArray(r[0])){s=[];for(let e=0;e<r[0].length;e++)if("string"==typeof r[0][e]){const n=t.getElementById(r[0][e]);n&&s.push(n)}s=s.length?1===s.length?s[0]:new it(s):null}if(!s)continue;const o=pt(t,s,r[1]);o&&(n=n.concat(o))}}else for(const r in e){if(!e.hasOwnProperty(r))continue;const i=t.getElementById(r);if(!i)continue;const s=pt(t,i,e[r]);s&&(n=n.concat(s))}return n.length?n:null}(t,e.elements);return n?function(t,e){const n=e.duration,r=t.length;let i=null;return(s,o)=>{const u=e.iterations||1/0,l=(e.alternate&&u%2==0)^e.direction>0?n:0;let a=s%n,c=1+(s-a)/n;o*=e.direction,e.alternate&&c%2==0&&(o=-o);let f=!1;if(c>u)a=l,f=!0,-1===e.fill&&(a=e.direction>0?0:n);else if(o<0&&(a=n-a),a===i)return!1;i=a;for(let e=0;e<r;e++)t[e](a);return f}}(n,e.settings):null}function mt(t,e=document,n=0){const r=function(t,e){const n=e.querySelectorAll("svg");for(let e=0;e<n.length;e++)if(n[e].id===t.root&&!n[e].svgatorAnimation)return n[e].svgatorAnimation=!0,n[e];return null}(t,e);if(r)return r;if(n>=20)return null;const i=function(t){const e=t=>t.shadowRoot;return document?Array.from(t.querySelectorAll(":not("+["a","area","audio","br","canvas","circle","datalist","embed","g","head","hr","iframe","img","input","link","object","path","polygon","rect","script","source","style","svg","title","track","video"].join()+")")).filter(e).map(e):[]}(e);for(let e=0;e<i.length;e++){const r=mt(t,i[e],n+1);if(r)return r}return null}function vt(t,e=null,n=Number,r="undefined"!=typeof BigInt&&BigInt){const i="0x"+(t.replace(/[^0-9a-fA-F]+/g,"")||27);return e&&r&&n.isSafeInteger&&!n.isSafeInteger(+i)?n(r(i))%e+e:+i}function bt(t,e=27){return!t||t%e?t%e:[0,1].includes(e)?e:bt(t/e,e)}function wt(t,e,n){if(!t||!t.length)return;const r=vt(n),i=bt(r)+5;let s=function(t,e,n){let r="";for(;t&&n&&e<=t.length;)r+=t.substring(0,e),t=t.substring(e+1),e=n;return r+t}(t,bt(r,5),i);return s=s.replace(/\x7c$/g,"==").replace(/\x2f$/g,"="),s=atob(s),s=s.replace(/[\x41-\x5A]/g,""),s=function(t,e,n){const r=+("0x"+t.substring(0,4));t=t.substring(4);const i=vt(e,r)%r+n%27,s=[];for(let e=0;e<t.length;e+=2){if("|"===t[e]){const n=+("0x"+t.substring(e+1,e+1+4))-i;e+=3,s.push(n);continue}const n=+("0x"+t[e]+t[e+1])-i;s.push(n)}return String.fromCharCode(...s)}(s,e,r),s=JSON.parse(s),s}const xt=[{key:"alternate",def:!1},{key:"fill",def:1},{key:"iterations",def:0},{key:"direction",def:1},{key:"speed",def:1},{key:"fps",def:100}];function At(t){return n(t)+""}function _t(t,e=" "){return t&&t.length?t.map(At).join(e):""}function kt(t){return At(t.x)+","+At(t.y)}function St(t){return t?null==t.a||t.a>=1?function(t){if(!t)return"transparent";const e=t=>parseInt(t).toString(16).padStart(2,"0");return function(t){const e=[];let n="#"===t[0]?e.push("#"):0;for(;n<t.length;n+=2){if(t[n]!==t[n+1])return t;e.push(t[n])}return e.join("")}("#"+e(t.r)+e(t.g)+e(t.b)+(null==t.a||t.a>=1?"":e(255*t.a)))}(t):"rgba("+t.r+","+t.g+","+t.b+","+t.a+")":"transparent"}function Et(t){return t?"url(#"+t+")":"none"}!function(){for(var t=0,e=["ms","moz","webkit","o"],n=0;n<e.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[e[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[n]+"CancelAnimationFrame"]||window[e[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e){var n=Date.now(),r=Math.max(0,16-(n-t)),i=window.setTimeout((function(){e(n+r)}),r);return t=n+r,i},window.cancelAnimationFrame=window.clearTimeout)}();var It={f:null,i:Z,u:(t,e)=>n=>{const r=e(n);t.setAttribute("rx",At(r.x)),t.setAttribute("ry",At(r.y))}},Mt={f:null,i:function(t,e,n){return 0===t?e:1===t?n:{width:J(t,e.width,n.width),height:J(t,e.height,n.height)}},u:(t,e)=>n=>{const r=e(n);t.setAttribute("width",At(r.width)),t.setAttribute("height",At(r.height))}};Object.freeze({M:2,L:2,Z:0,H:1,V:1,C:6,Q:4,T:2,S:4,A:7});let Ot={},jt=null;function Bt(t){let e=function(){if(jt)return jt;if("object"!=typeof document||!document.createElementNS)return{};let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t&&t.style?(t.style.position="absolute",t.style.opacity="0.01",t.style.zIndex="-9999",t.style.left="-9999px",t.style.width="1px",t.style.height="1px",jt={svg:t},jt):{}}().svg;if(!e)return function(t){return null};let n=document.createElementNS(e.namespaceURI,"path");n.setAttributeNS(null,"d",t),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"stroke","none"),e.appendChild(n);let r=n.getTotalLength();return function(t){let e=n.getPointAtLength(r*t);return{x:e.x,y:e.y}}}function Nt(t,e,n,r,i=1){let s=function(t){return Ot[t]?Ot[t]:Ot[t]=Bt(t)}(function(t,e,n,r){if(!t||!r)return!1;let i=["M",t.x,t.y];if(e&&n&&(i.push("C"),i.push(e.x),i.push(e.y),i.push(n.x),i.push(n.y)),e?!n:n){let t=e||n;i.push("Q"),i.push(t.x),i.push(t.y)}return e||n||i.push("L"),i.push(r.x),i.push(r.y),i.join(" ")}(t,e,n,r));try{return s(i)}catch(t){return null}}function Tt(t,e,n){return t+(e-t)*n}function Pt(t,e,n,r=!1){const i={x:Tt(t.x,e.x,n),y:Tt(t.y,e.y,n)};return r&&(i.a=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}(t,e)),i}function Ft(t,e,n,r){const i=1-r;return i*i*t+2*i*r*e+r*r*n}function Rt(t,e,n,r){return 2*(1-r)*(e-t)+2*r*(n-e)}function Vt(t,e,n,r,i=!1){let s=Nt(t,e,null,n,r);return s||(s={x:Ft(t.x,e.x,n.x,r),y:Ft(t.y,e.y,n.y,r)}),i&&(s.a=function(t,e,n,r){return Math.atan2(Rt(t.y,e.y,n.y,r),Rt(t.x,e.x,n.x,r))}(t,e,n,r)),s}function Ct(t,e,n,r,i){const s=i*i;return i*s*(r-t+3*(e-n))+3*s*(t+n-2*e)+3*i*(e-t)+t}function Dt(t,e,n,r,i){const s=1-i;return 3*(s*s*(e-t)+2*s*i*(n-e)+i*i*(r-n))}function $t(t,e,n,r,i,s=!1){let o=Nt(t,e,n,r,i);return o||(o={x:Ct(t.x,e.x,n.x,r.x,i),y:Ct(t.y,e.y,n.y,r.y,i)}),s&&(o.a=function(t,e,n,r,i){return Math.atan2(Dt(t.y,e.y,n.y,r.y,i),Dt(t.x,e.x,n.x,r.x,i))}(t,e,n,r,i)),o}function Lt(t,e,n,r=!1){if(zt(e)){if(Gt(n))return Vt(e,n.start,n,t,r)}else if(zt(n)){if(Wt(e))return Vt(e,e.end,n,t,r)}else{if(Wt(e))return Gt(n)?$t(e,e.end,n.start,n,t,r):Vt(e,e.end,n,t,r);if(Gt(n))return Vt(e,n.start,n,t,r)}return Pt(e,n,t,r)}function qt(t,e,n){const r=Lt(t,e,n,!0);return r.a=o(function(t,e=!1){return e?t+Math.PI:t}(r.a)),r}function zt(t){return!t.type||"corner"===t.type}function Gt(t){return null!=t.start&&!zt(t)}function Wt(t){return null!=t.end&&!zt(t)}const Yt=new class{constructor(t=1,e=0,n=0,r=1,i=0,s=0){this.m=[t,e,n,r,i,s],this.i=null,this.w=null,this.s=null}get determinant(){const t=this.m;return t[0]*t[3]-t[1]*t[2]}get isIdentity(){if(null===this.i){const t=this.m;this.i=1===t[0]&&0===t[1]&&0===t[2]&&1===t[3]&&0===t[4]&&0===t[5]}return this.i}point(t,e){const n=this.m;return{x:n[0]*t+n[2]*e+n[4],y:n[1]*t+n[3]*e+n[5]}}translateSelf(t=0,e=0){if(!t&&!e)return this;const n=this.m;return n[4]+=n[0]*t+n[2]*e,n[5]+=n[1]*t+n[3]*e,this.w=this.s=this.i=null,this}rotateSelf(t=0){if(t%=360){t=s(t);const e=D(t),n=$(t),r=this.m,i=r[0],o=r[1];r[0]=i*n+r[2]*e,r[1]=o*n+r[3]*e,r[2]=r[2]*n-i*e,r[3]=r[3]*n-o*e,this.w=this.s=this.i=null}return this}scaleSelf(t=1,e=1){if(1!==t||1!==e){const n=this.m;n[0]*=t,n[1]*=t,n[2]*=e,n[3]*=e,this.w=this.s=this.i=null}return this}skewSelf(t,e){if(e%=360,(t%=360)||e){const n=this.m,r=n[0],i=n[1],o=n[2],u=n[3];t&&(t=z(s(t)),n[2]+=r*t,n[3]+=i*t),e&&(e=z(s(e)),n[0]+=o*e,n[1]+=u*e),this.w=this.s=this.i=null}return this}resetSelf(t=1,e=0,n=0,r=1,i=0,s=0){const o=this.m;return o[0]=t,o[1]=e,o[2]=n,o[3]=r,o[4]=i,o[5]=s,this.w=this.s=this.i=null,this}recomposeSelf(t=null,e=null,n=null,r=null,i=null){return this.isIdentity||this.resetSelf(),t&&(t.x||t.y)&&this.translateSelf(t.x,t.y),e&&this.rotateSelf(e),n&&(n.x&&this.skewSelf(n.x,0),n.y&&this.skewSelf(0,n.y)),!r||1===r.x&&1===r.y||this.scaleSelf(r.x,r.y),i&&(i.x||i.y)&&this.translateSelf(i.x,i.y),this}decompose(t=0,e=0){const r=this.m,i=r[0]*r[0]+r[1]*r[1],s=[[r[0],r[1]],[r[2],r[3]]];let u=W(i);if(0===u)return{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:0,y:0},skew:{x:0,y:0},rotate:0};s[0][0]/=u,s[0][1]/=u;const l=r[0]*r[3]-r[1]*r[2]<0;l&&(u=-u);let a=s[0][0]*s[1][0]+s[0][1]*s[1][1];s[1][0]-=s[0][0]*a,s[1][1]-=s[0][1]*a;let c,f=W(s[1][0]*s[1][0]+s[1][1]*s[1][1]);return 0===f?{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:0},skew:{x:0,y:0},rotate:0}:(s[1][0]/=f,s[1][1]/=f,a/=f,s[1][1]<0?(c=o(L(s[1][1])),s[0][1]<0&&(c=360-c)):c=o(q(s[0][1])),l&&(c=-c),a=o(G(a,W(s[0][0]*s[0][0]+s[0][1]*s[0][1]))),l&&(a=-a),{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:n(f)},skew:{x:n(a),y:0},rotate:n(c)})}multiply(t){return this.clone().multiplySelf(t)}preMultiply(t){return t.multiply(this)}multiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(this.m,t.m);return this.resetSelf(e,n,r,i,s,o),this}preMultiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(t.m,this.m);return this.resetSelf(e,n,r,i,s,o),this}clone(){const t=this.m;return new this.constructor(t[0],t[1],t[2],t[3],t[4],t[5])}static create(t){return t?Array.isArray(t)?new this(...t):t instanceof this?t.clone():(new this).recomposeSelf(t.origin,t.rotate,t.skew,t.scale,t.translate):new this}toString(t=" ",e=!1){if(null===this.s){let r=this.m.map((t=>n(t)));e||1!==r[0]||0!==r[1]||0!==r[2]||1!==r[3]?this.s="matrix("+r.join(t)+")":this.s="translate("+r[4]+t+r[5]+")"}return this.s}};var Ut={f:function(t){return t?t.join(" "):""},i:function(t,e,n){if(0===t)return e;if(1===t)return n;let r=e.length;if(r!==n.length)return U(t,e,n);let i,s=new Array(r);for(let o=0;o<r;o++){if(i=typeof e[o],i!==typeof n[o])return U(t,e,n);if("number"===i)s[o]=H(t,e[o],n[o]);else{if(e[o]!==n[o])return U(t,e,n);s[o]=e[o]}}return s}},Ht={f:null,i:et,u:(t,e)=>n=>{const r=e(n);t.setAttribute("x1",At(r[0])),t.setAttribute("y1",At(r[1])),t.setAttribute("x2",At(r[2])),t.setAttribute("y2",At(r[3]))}},Jt={f:At,i:H},Qt={f:At,i:Q},Xt={f:function(t,e=" "){return t&&t.length>0&&(t=t.map((t=>n(t,4)))),_t(t,e)},i:function(t,e,r){let i=e.length,s=r.length;if(i!==s)if(0===i)i=s,e=nt(i,0);else if(0===s)s=i,r=nt(i,0);else{const t=function(t,e){const n=t*e/function(t,e){let n;for(;e;)n=e,e=t%e,t=n;return t||1}(t,e);return n<0?-n:n}(i,s);e=rt(e,Math.floor(t/i)),r=rt(r,Math.floor(t/s)),i=s=t}let o=[];for(let s=0;s<i;s++)o.push(n(J(t,e[s],r[s])));return o}};function Zt(t,e,r){return t.map((t=>function(t,e,r){let i=t.v;if(!i||"g"!==i.t||i.s||!i.v||!i.r)return t;const s=r.getElementById(i.r),o=s&&s.querySelectorAll("stop")||[];return i.s=i.v.map(((t,e)=>{let r=o[e]&&o[e].getAttribute("offset");return r=n(parseInt(r)/100),{c:t,o:r}})),delete i.v,t}(t,0,r)))}const Kt={gt:"gradientTransform",c:{x:"cx",y:"cy"},rd:"r",f:{x:"x1",y:"y1"},to:{x:"x2",y:"y2"}};function te(t,e,n,r,i,s,o,u){return Zt(t,0,u),e=function(t,e,n){let r,i,s;const o=t.length-1,u={};for(let l=0;l<=o;l++)r=t[l],r.e&&(r.e=e(r.e)),r.v&&(i=r.v,"g"===i.t&&i.r&&(s=n.getElementById(i.r),s&&(u[i.r]={e:s,s:s.querySelectorAll("stop")})));return u}(t,r,u),r=>{const i=n(r,t,ee);if(!i)return"none";if("c"===i.t)return St(i.v);if("g"===i.t){if(!e[i.r])return Et(i.r);const t=e[i.r];return function(t,e){let n=t.s;for(let r=n.length;r<e.length;r++){const e=n[n.length-1].cloneNode();e.id=ie(e.id),t.e.appendChild(e),n=t.s=t.e.querySelectorAll("stop")}for(let t=0,r=n.length,i=e.length-1;t<r;t++)n[t].setAttribute("stop-color",St(e[Math.min(t,i)].c)),n[t].setAttribute("offset",e[Math.min(t,i)].o)}(t,i.s),Object.keys(Kt).forEach((e=>{if(void 0===i[e])return;if("object"==typeof Kt[e])return void Object.keys(Kt[e]).forEach((n=>{if(void 0===i[e][n])return;const r=i[e][n],s=Kt[e][n];t.e.setAttribute(s,r)}));const n="gt"===e?(r=i[e],Array.isArray(r)?"matrix("+r.join(" ")+")":""):i[e];var r;const s=Kt[e];t.e.setAttribute(s,n)})),Et(i.r)}return"none"}}function ee(t,e,n){if(0===t)return e;if(1===t)return n;if(e&&n){const r=e.t;if(r===n.t)switch(e.t){case"c":return{t:r,v:tt(t,e.v,n.v)};case"g":if(e.r===n.r){const i={t:r,s:ne(t,e.s,n.s),r:e.r};return e.gt&&n.gt&&(i.gt=et(t,e.gt,n.gt)),e.c?(i.c=X(t,e.c,n.c),i.rd=J(t,e.rd,n.rd)):e.f&&(i.f=X(t,e.f,n.f),i.to=X(t,e.to,n.to)),i}}if("c"===e.t&&"g"===n.t||"c"===n.t&&"g"===e.t){const r="c"===e.t?e:n,i="g"===e.t?{...e}:{...n},s=i.s.map((t=>({c:r.v,o:t.o})));return i.s="c"===e.t?ne(t,s,i.s):ne(t,i.s,s),i}}return U(t,e,n)}function ne(t,e,n){if(e.length===n.length)return e.map(((e,r)=>re(t,e,n[r])));const r=Math.max(e.length,n.length),i=[];for(let s=0;s<r;s++){const r=re(t,e[Math.min(s,e.length-1)],n[Math.min(s,n.length-1)]);i.push(r)}return i}function re(t,e,n){return{o:Q(t,e.o,n.o||0),c:tt(t,e.c,n.c||{})}}function ie(t){return t.replace(/-fill-([0-9]+)$/,((t,e)=>"-fill-"+(+e+1)))}function se(t,e,n){return 0===t?e:1===t?n:{blur:Z(t,e.blur,n.blur),offset:X(t,e.offset,n.offset),color:tt(t,e.color,n.color)}}const oe={blur:Z,brightness:J,contrast:J,"drop-shadow":se,"inner-shadow":se,grayscale:J,"hue-rotate":H,invert:J,opacity:J,saturate:J,sepia:J};function ue(t,e,n){if(0===t)return e;if(1===t)return n;const r=e.length;if(r!==n.length)return U(t,e,n);const i=[];let s;for(let o=0;o<r;o++){if(e[o].type!==n[o].type)return e;if(s=oe[e[o].type],!s)return U(t,e,n);i.push({type:e.type,value:s(t,e[o].value,n[o].value)})}return i}const le={blur:t=>t?e=>{t.setAttribute("stdDeviation",kt(e))}:null,brightness:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e),t.map((t=>t.setAttribute("slope",e)))}:null,contrast:(t,e,n)=>(t=ce(n,e))?e=>{const n=At((1-e)/2);e=At(e),t.map((t=>{t.setAttribute("slope",e),t.setAttribute("intercept",n)}))}:null,"drop-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-flood");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y)),s.setAttribute("flood-color",St(t.color))}:null},"inner-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-color-matrix");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y));const e=[0,0,0,0,t.color.r/255,0,0,0,0,t.color.g/255,0,0,0,0,t.color.b/255,0,0,0,t.color.a,0];s.setAttribute("values",_t(e))}:null},grayscale:t=>t?e=>{t.setAttribute("values",_t(function(t){return[.2126+.7874*(t=1-t),.7152-.7152*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152+.2848*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152-.7152*t,.0722+.9278*t,0,0,0,0,0,1,0]}(e)))}:null,"hue-rotate":t=>t?e=>t.setAttribute("values",At(e)):null,invert:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e)+" "+At(1-e),t.map((t=>t.setAttribute("tableValues",e)))}:null,opacity:(t,e,n)=>(t=n.getElementById(e+"-A"))?e=>t.setAttribute("tableValues","0 "+At(e)):null,saturate:t=>t?e=>t.setAttribute("values",At(e)):null,sepia:t=>t?e=>t.setAttribute("values",_t(function(t){return[.393+.607*(t=1-t),.769-.769*t,.189-.189*t,0,0,.349-.349*t,.686+.314*t,.168-.168*t,0,0,.272-.272*t,.534-.534*t,.131+.869*t,0,0,0,0,0,1,0]}(e))):null};const ae=["R","G","B"];function ce(t,e){const n=ae.map((n=>t.getElementById(e+"-"+n)||null));return-1!==n.indexOf(null)?null:n}var fe={fill:te,"fill-opacity":Qt,stroke:te,"stroke-opacity":Qt,"stroke-width":Jt,"stroke-dashoffset":{f:At,i:H},"stroke-dasharray":Xt,opacity:Qt,transform:function(t,e,n,r){if(!(t=function(t,e){if(!t||"object"!=typeof t)return null;let n=!1;for(const r in t)t.hasOwnProperty(r)&&(t[r]&&t[r].length?(t[r].forEach((t=>{t.e&&(t.e=e(t.e))})),n=!0):delete t[r]);return n?t:null}(t,r)))return null;const i=(r,i,s,o=null)=>t[r]?n(i,t[r],s):e&&e[r]?e[r]:o;return e&&e.a&&t.o?e=>{const r=n(e,t.o,qt);return Yt.recomposeSelf(r,i("r",e,H,0)+r.a,i("k",e,X),i("s",e,X),i("t",e,X)).toString()}:t=>Yt.recomposeSelf(i("o",t,Lt,null),i("r",t,H,0),i("k",t,X),i("s",t,X),i("t",t,X)).toString()},"#filter":function(t,e,n,r,i,s,o,u){if(!e.items||!t||!t.length)return null;const l=function(t,e){const n=(t=t.map((t=>t&&le[t[0]]?(e.getElementById(t[1]),le[t[0]](e.getElementById(t[1]),t[1],e)):null))).length;return e=>{for(let r=0;r<n;r++)t[r]&&t[r](e[r].value)}}(e.items,u);return l?(t=function(t,e){return t.map((t=>(t.e=e(t.e),t)))}(t,r),e=>{l(n(e,t,ue))}):null},"#line":Ht,points:{f:_t,i:et},d:Ut,r:Jt,"#size":Mt,"#radius":It,_(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)this[t[n]]=e;else this[t]=e}};const he={currentTime:"offset",duration:"duration",hasEnded:function(){return this.reachedToEnd()},isAlternate:"alternate",isPlaying:"_running",isRollingBack:"_rollingBack",state:function(t,e){return e.isPlaying?e.isRollingBack?"rollback":"playing":e.hasEnded?"ended":"paused"},totalTime:"maxFiniteDuration",iterations:"iterations",direction:"direction",fill:"fill",isReversed:function(t,e){return-1===e.direction},isBackwards:function(t,e){return-1===e.fill},isInfinite:function(t,e){return 0===e.iterations},speed:"speed",fps:"fps"},de={destruct:"destruct",pause:"pause",play:function(t,e){return ge(t,e.hasEnded?"restart":"play",e)},restart:"restart",reverse:function(t,e){return ge(t,"reverse",e,[!0])},seek:"seek",seekBy:"seekBy",seekTo:"seekTo",stop:"stop",toggle:"toggle",togglePlay:"toggle",set:"set"};function ge(t,e,n,r=[]){return function(){const i=[...arguments];return i.unshift(...r),t[e].call(t,...i),n}}class pe{constructor(t){const e={},n=["on","off"],r={get:function(t,r,i){return he[r]?"function"==typeof he[r]?he[r].call(t,t,i):t[he[r]]:de[r]?"function"==typeof de[r]?de[r].call(t,t,i):ge(t,de[r],i):-1!==n.indexOf(r)?e[r]:"ready"===r?t=>(t&&t.call(i,i),i):void 0},set:function(t,r,i){return-1!==n.indexOf(r)&&(e[r]=i)},ownKeys:function(t){return Object.keys(he)},has:function(t,e){return void 0!==he[e]}};if("function"==typeof Proxy)return new Proxy(t,r);const i=Object.keys(he).concat(Object.keys(de)).concat(n),s={};return i.forEach((e=>{const i={enumerable:!1,configurable:!1,get:()=>r.get(t,e,s)};-1!==n.indexOf(e)&&(i.set=n=>r.set(t,e,n)),Object.defineProperty(s,e,i)})),s}}function ye(t){t||(t=this);let e={};this.on=function(t,n,r=!1){return"function"==typeof n&&(t.split(/[, ]+/g).forEach((t=>(e[t]=e[t]||[],r?e[t].unshift(n):e[t].push(n)))),!0)},this.off=function(t,n){for(let r in e)if(e.hasOwnProperty(r)&&r.substr(0,t.length)===t)if(n)for(let t=0;t<e[r].length;t++)e[r][t]===n&&(e[r][t]=null);else e[r]=null},this.trigger=function(){let n,[r,...i]=[...arguments];t:for(let s in e)if(e.hasOwnProperty(s)&&e[s]&&(s===r||s.substr(0,r.length+1)===r+"."))for(let r=0;r<(e[s]||[]).length;r++)if(e[s][r]&&(n=e[s][r].apply(t,i),!1===n))break t;return n}}let me=function(t,e,n=n){let r=!1,i=null;return function(s){r&&clearTimeout(r),r=setTimeout((()=>function(){let s=0,o=n.innerHeight,u=0,l=n.innerWidth,a=t.parentNode;for(;a instanceof Element;){let t=n.getComputedStyle(a);if("visible"!==t.overflowY||"visible"!==t.overflowX){let e=a.getBoundingClientRect();"visible"!==t.overflowY&&(s=Math.max(s,e.top),o=Math.min(o,e.bottom)),"visible"!==t.overflowX&&(u=Math.max(u,e.left),l=Math.min(l,e.right))}if(a===a.parentNode)break;a=a.parentNode}r=!1;let c=t.getBoundingClientRect(),f=Math.min(c.height,Math.max(0,s-c.top)),h=Math.min(c.height,Math.max(0,c.bottom-o)),d=Math.min(c.width,Math.max(0,u-c.left)),g=Math.min(c.width,Math.max(0,c.right-l)),p=(c.height-f-h)/c.height,y=(c.width-d-g)/c.width,m=Math.round(p*y*100);null!==i&&i===m||(i=m,e(m))}()),100)}};class ve{constructor(t,e,n){const r=function(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i={el:t,window:window};if(!r)return i;let s;try{s=window.parent.document}catch(t){return i}return i.window=window.parent,i.el=Array.from(s.querySelectorAll("iframe,object")).filter((t=>t.contentWindow===window))[0]||i.el,i}(t);e=Math.max(1,e||1),e=Math.min(e,100),this.el=r.el,this._handlers=[],this.onThresholdChange=n&&n.call?n:()=>{},this.thresholdPercent=e||1,this.currentVisibility=null,this.visibilityCalculator=me(this.el,this.onVisibilityUpdate.bind(this),r.window),this.bindScrollWatchers(),this.visibilityCalculator()}bindScrollWatchers(){let t=this.el.parentNode;for(;t&&(this._handlers.push({element:t,event:"scroll",handler:this.visibilityCalculator}),t.addEventListener("scroll",this.visibilityCalculator),t!==t.parentNode&&t!==document);)t=t.parentNode}onVisibilityUpdate(t){let e=this.currentVisibility>=this.thresholdPercent,n=t>=this.thresholdPercent;if(null===this.currentVisibility||e!==n)return this.currentVisibility=t,void this.onThresholdChange(n);this.currentVisibility=t}destruct(){this._handlers.forEach((t=>{t.element.removeEventListener(t.event,t.handler)}))}}class be{static adjustLink(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i=null==t?void 0:t.firstElementChild;r&&i&&"a"===i.tagName&&!i.getAttribute("target")&&i.setAttributeNS(null,"target","_parent")}static autoPlay(t,e,n,r=[]){if("click"===n.start){const i=()=>{switch(n.click){case"freeze":return!t._running&&t.reachedToEnd()?t.restart():t.toggle();case"restart":return t.offset>0?t.restart():t.play();case"reverse":return t._running?t.reverse():t.reachedToEnd()?1===t.fill?t.reverse(!0):t.restart():t.play();case"none":default:if(t._running)return;return t.reachedToEnd()?t.restart():t.play()}};return r.push({element:e,event:"click",handler:i}),void e.addEventListener("click",i)}if("hover"===n.start){const i=()=>t.reachedToEnd()?t.restart():t._rollingBack?t.reverse():t.play();r.push({element:e,event:"mouseenter",handler:i}),e.addEventListener("mouseenter",i);const s=()=>{switch(n.hover){case"freeze":return t.pause();case"reset":return t.stop();case"reverse":if(t.reverse(),t._running)return;return t.play();case"none":default:return}};return r.push({element:e,event:"mouseleave",handler:s}),void e.addEventListener("mouseleave",s)}if("scroll"!==n.start)"programmatic"!==n.start&&t.play();else{const i=new ve(e,n.scroll||25,(function(e){e?t.reachedToEnd()?t.restart():t.play():t.pause()}));r.push({callback:()=>i.destruct()})}}}const we=!0,xe=["iterations","speed","fps","direction","fill","alternate"];class Ae extends class{_svg;_rootId;constructor(t){this._id=0,this._running=!1,this._rollingBack=!1,this._animations=t.animations,this._settings=t.animationSettings,t.version<"2022-05-02"&&delete this._settings.speed,xt.forEach((t=>{this._settings[t.key]=this._settings[t.key]||t.def})),this.duration=t.animationSettings.duration,this.offset=t.animationSettings.offset||0,this.rollbackStartOffset=0,this._rootId=t.root,this._svg=t.svg,this._originalAnimations=t.originalAnimations,this._fTC=new N(this)}get svg(){return this._svg}get rootId(){return this._rootId}get alternate(){return this._settings.alternate}get fill(){return this._settings.fill}get iterations(){return this._settings.iterations}get direction(){return this._settings.direction}get speed(){return this._settings.speed}get fps(){return this._settings.fps}get wD(){return this._settings.w}get originalAnimations(){return this._originalAnimations}get maxFiniteDuration(){return this.iterations>0?this.iterations*this.duration:this.duration}static build(t,e){if(delete t.animationSettings,t.options=wt(t.options,t.root,"91c80d77"),t.animations.map((e=>{e.settings=wt(e.s,t.root,"91c80d77"),delete e.s,t.animationSettings||(t.animationSettings=e.settings)})),Object.assign(t,{originalAnimations:t.animations},function(t,e){if(ut=e,!t||!t.root||!Array.isArray(t.animations))return null;const n=mt(t);if(!n)return null;const r=t.animations.map((t=>yt(n,t))).filter((t=>!!t));return r.length?{svg:n,animations:r}:null}(t,e)),!t)return null;const n=t.options||{},r=new this(t);return{el:t.svg,options:n,player:r}}static push(t){return this.build(t)}static init(){const t=window.__SVGATOR_PLAYER__&&window.__SVGATOR_PLAYER__["91c80d77"];Array.isArray(t)&&t.splice(0).forEach((t=>this.build(t)))}_apply(t,e={}){const n=this._animations,r=n.length;let i=0;for(let s=0;s<r;s++)e[s]?i++:(e[s]=n[s](t,1),e[s]&&i++);return i}_rollback(t){let e=1/0,n=null;this.rollbackStartOffset=t,this._rollingBack=!0,this._running=!0;const r=i=>{if(!this._rollingBack)return;null==n&&(n=i);let s=Math.round(t-(i-n)*this.speed);if(s>this.duration&&e!==1/0){const t=!!this.alternate&&s/this.duration%2>1;let e=s%this.duration;e+=t?this.duration:0,s=e||this.duration}const o=(this.fps?1e3/this.fps:0)*this.speed,u=Math.max(0,s);u<=e-o&&(this.offset=u,e=u,this._apply(u));const l=this.iterations>0&&-1===this.fill&&s>=this.maxFiniteDuration;(s<=0||this.offset<s||l)&&this.stop(),this._id=window.requestAnimationFrame(r)};this._id=window.requestAnimationFrame(r)}_start(t=0){let e,n=-1/0;const r={};this._running=!0;const i=s=>{e??=s;const o=Math.round((s-e)*this.speed+t),u=(this.fps?1e3/this.fps:0)*this.speed;o>=n+u&&!this._rollingBack&&this._fTC.cF(s,(()=>{this.offset=o,n=o;if(this._apply(o,r)===this._animations.length)return this.pause(!0),!0}))||(this._id=window.requestAnimationFrame(i))};this._id=window.requestAnimationFrame(i)}_pause(){this._id&&window.cancelAnimationFrame(this._id),this._running=!1}play(){if(!this._running)return this._rollingBack?this._rollback(this.offset):this._start(this.offset)}stop(){this._pause(),this.offset=0,this.rollbackStartOffset=0,this._rollingBack=!1,this._apply(0)}reachedToEnd(){return this.iterations>0&&this.offset>=this.iterations*this.duration}restart(t=!1){this.stop(t),this.play(t)}pause(){this._pause()}toggle(){return this._running?this.pause():this.reachedToEnd()?this.restart():this.play()}trigger(t,e){}_adjustOffset(t=!1){const e=this.alternate?2*this.duration:this.duration;if(t){if(!this._rollingBack&&0===this.offset)return void(this.offset=e);this._rollingBack&&(this.offset,this.maxFiniteDuration)}!this._rollingBack||this.rollbackStartOffset<=this.duration?0!==this.iterations&&(this.offset=Math.min(this.offset,this.maxFiniteDuration)):(this.offset=this.rollbackStartOffset-(this.rollbackStartOffset-this.offset)%e,this.rollbackStartOffset=0)}reverse(t=!1){if(!this._running)return this._adjustOffset(t),this._rollingBack=!this._rollingBack,t&&this.play(!1),void this.trigger("reverse",this.offset);this.pause(!1,!1),this._adjustOffset(),this._rollingBack=!this._rollingBack,this.play(!1),this.trigger("reverse",this.offset)}}{constructor(t){super(t),this._handlers=[]}static build(t){let e=super.build(t,fe);if(!e)return null;let{el:n,options:r,player:i}=e;const s=new pe(i),o=new ye(s);s.on=o.on,s.off=o.off,i.trigger=o.trigger;const u=n.svgatorPlayer&&n.svgatorPlayer.ready&&n.svgatorPlayer.ready.call&&n.svgatorPlayer.ready.call();n.svgatorPlayer=s,be.adjustLink(n),be.autoPlay(i,n,r,i._handlers),function(t,e,n){let r;"function"==typeof Event?r=new Event("ready"):(r=document.createEvent("Event"),r.initEvent("ready",!0,!0));if(t.dispatchEvent(r),!n||!n.length)return;n.forEach((t=>e.ready(t)))}(n,n.svgatorPlayer,u)}play(t=true){const e=super.play();return t===we&&this.trigger("play",this.offset),e}pause(t=!1,e=true){const n=super.pause();return e===we&&this.trigger(t?"end":"pause",this.offset),n}restart(){const t=super.restart(!1);return this.trigger("restart",this.offset),t}stop(t=true){const e=super.stop();return t===we&&this.trigger("stop",this.offset),e}_apply(t,e={},n=true){const r=super._apply(t);if(n===we){const e=()=>this.trigger("keyframe",t);window.requestAnimationFrame(e)}return r}seekTo(t){const e=this._running;var n,r,i;e&&this.pause(!1,!1),this.offset=this.iterations>0?(n=t,r=0,i=this.maxFiniteDuration,n<r?r:n>i?i:n):Math.max(t,0),this._apply(this.offset),e&&this.play(!1)}seek(t){return this.seekTo(Math.round(t/100*this.maxFiniteDuration))}seekBy(t){return this.seekTo(this.offset+t)}set(t,e){if(!xe.includes(t))return;const n=this._running;n&&this.pause(!1,!1),this._settings[t]=e,n?this.play(!1):this._apply(this.offset,{},!1)}destruct(){this.stop(),this._handlers.forEach((t=>{t.element?t.element.removeEventListener(t.event,t.handler):t.callback&&t.callback.call&&t.callback.call()}));const t=()=>{},e=Object.getOwnPropertyNames(Object.getPrototypeOf(this));e.push(...Object.getOwnPropertyNames(this)),e.forEach((e=>{"function"==typeof this[e]?this[e]=t:delete this[e]}))}}return Ae.init(),Ae}));
(function(s,i,o,w,d,a,b){(a=Array.from(d.querySelectorAll('svg#' + i.root)).filter(n=> !n.svgatorPlayer)[0]||{}).svgatorPlayer={ready:(function(a){b=[];return function(c){return c?(b.push(c),a.svgatorPlayer):b}})(a)};w[o]=w[o]||{};w[o][s]=w[o][s]||[];w[o][s].push(i);})('91c80d77',{"root":"e3aBGLAMHCX1","version":"2025-04-07","animations":[{"elements":{"e3aBGLAMHCX2":{"transform":{"data":{"t":{"x":-97.459552,"y":-97.061653}},"keys":{"o":[{"t":0,"v":{"x":97.459553,"y":94,"type":"corner"},"e":[0.675,0.005,0.335,1]},{"t":2700,"v":{"x":97.459553,"y":90.061653,"type":"corner"},"e":[0.675,0.005,0.335,1]},{"t":5600,"v":{"x":97.459553,"y":94,"type":"corner"},"e":[0.675,0.005,0.335,1]}]}}},"e3aBGLAMHCX38":{"opacity":[{"t":0,"v":0},{"t":2600,"v":1},{"t":5600,"v":0}]},"e3aBGLAMHCX40":{"opacity":[{"t":400,"v":0},{"t":3400,"v":1},{"t":5600,"v":0}]},"e3aBGLAMHCX42":{"opacity":[{"t":1200,"v":0},{"t":4200,"v":1},{"t":5600,"v":0}]},"e3aBGLAMHCX44":{"opacity":[{"t":2000,"v":0},{"t":5000,"v":1},{"t":5600,"v":0}]}},"s":"MDPA2MDgyMjk2YLjdjNzk2ODdiVNzA3Njc1VTIA5NDEzZDM3MzIczNzMzMjk2YIjcwSDc5NmM2VYTdiNzA3NlMD3NTI5NDEzODPMzMjlJNzA3YCjZjNzk2ODdiKNzA3Njc1N2ERyOTQxMzczMzVI5NmQ3MDczNHzMyOTQxMzgzQMzI5Njg3MzdCiNmM3OTc1NjKg3YjZjMjk0MITZkNjg3MzdhDNmMzMzI5N2ES3NzZjNmM2YjBI5NDEzODM1MO2IzOTMzMjlXONmQ3NzdhMjkT0MTM4MzczNzXg0"}],"options":"MDPAyMjhhMzE4MJjgzNzA4MTgzYMzE0OTMxNzcW3ZUY4NTc0ODDEzMTNiMzE3NVzdlODU3NDgxOQjMxNDlUMzFYUNzU4MTc0QTMc0ODk3NDMxOUGM/"},'__SVGATOR_PLAYER__',window,document)
]]></script>
</svg></span>

  <span class="py-10 inline-block text-cta uppercase relative w-fit">
    Stitch Guides
    <span class="absolute left-0 right-0 bottom-0 border-b-1 border-current transition-position group-hover/text-link:bottom-5"></span>
  </span>
  </a>
</div>

<div class="w-full md:w-fit h-auto max-md:aspect-square flex flex-col justify-start items-center md:gap-10 relative group/button text-cerulean group/text-link max-md:bg-white px-10 pb-10 pt-0 max-md:last:odd:col-span-2 max-md:last:odd:flex-row max-md:last:odd:pb-10 max-md:last:odd:justify-start max-md:last:odd:aspect-auto">
  <a href="/pages/finishing" class="w-full max-md:h-fit h-full flex flex-col justify-start items-center">
  <span class="block max-w-[120px] md:max-w-[194px] aspect-square *:w-full *:h-auto"><svg id="eoTBYgjyr9I1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 194 194" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" project-id="adc51be36056477f88917200e4d42571" export-id="cc7fc7ebc3b345c7b697cbb1f2fa2762" cached="false"><g id="eoTBYgjyr9I2" transform="translate(.000001 0.000001)"><path d="M131.048,63.5872l.476-.5324c0,0,5.324-5.7286,9.15-1.5617c3.862,4.2024-4.287,10.9178-4.287,10.9178L47.8021,154.961c-.4614.433-1.1925.426-1.6397-.028l-.0639-.064c-.5111-.511-.5253-1.342-.0213-1.867L126.668,68.2936l1.378-1.3984l3.009-3.3009-.007-.0071Z" opacity="0.8" fill="#88dbdf"/><g opacity="0.7"><path d="M128.035,66.8796l-1.377,1.3984-80.5913,84.709c-.497.525-.4899,1.355.0212,1.866l.0639.064c.4472.448,1.1784.462,1.6398.029L136.376,72.3952c0,0,8.149-6.7153,4.288-10.9177-3.834-4.1669-9.151,1.5617-9.151,1.5617l-.475.5324" fill="#88dbdf"/><path d="M128.035,66.8796l-1.377,1.3984-80.5913,84.709c-.497.525-.4899,1.355.0212,1.866l.0639.064c.4472.448,1.1784.462,1.6398.029L136.376,72.3952c0,0,8.149-6.7153,4.288-10.9177-3.834-4.1669-9.151,1.5617-9.151,1.5617l-.475.5324" fill="none" stroke="#00a7b5" stroke-width="1.41937" stroke-miterlimit="10"/></g><path id="eoTBYgjyr9I7" d="M136.792,74.2788c0,0,6.432,6.1048-2.051,19.7272-8.483,13.615-12.835,27.373-8.022,33.79c4.437,5.913,17.988,6.502,21.019-.249c1.15-2.555.547-6.31-1.76-7.83-2.967-1.952-7.056-1.228-7.525-1.121-2.782.653-12.713,3.123-23.66,24.803c0,0-7.73,14.261-4.5,26.002" fill="none" stroke="#b1d8c2" stroke-width="1.41937" stroke-miterlimit="10"/><path id="eoTBYgjyr9I8" d="M133.593,69.4992l-1.988-2.3781c-.333-.4401-.979-1.1642-1.37-1.5546-14.261-14.3535-28.323-14.6233-34.3431-13.8992-.5182.0639-4.678.7028-5.1962.7809-5.5299.8518-19.1522,2.6904-18.8186-7.2336C72.2959,32.9055,92.4704,35.1771,97.6453,24.6" fill="none" stroke="#b1d8c2" stroke-width="1.41937" stroke-miterlimit="10"/><path d="M127.802,74.0423c-2.058-2.0799,7.887-11.9897,10.102-9.7678l-.022-.0213c1.91,1.9095-8.277,11.585-10.236,9.6329" fill="#fff"/><path d="M127.802,74.0423c-2.058-2.0799,7.887-11.9897,10.102-9.7678l-.022-.0213c1.91,1.9095-8.277,11.585-10.236,9.6329" fill="none" stroke="#00a7b5" stroke-width="1.41937" stroke-miterlimit="10"/></g>
<script><![CDATA[
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof __SVGATOR_DEFINE__&&__SVGATOR_DEFINE__.amd?__SVGATOR_DEFINE__(e):((t="undefined"!=typeof globalThis?globalThis:t||self).__SVGATOR_PLAYER__=t.__SVGATOR_PLAYER__||{},t.__SVGATOR_PLAYER__["91c80d77"]=e())}(this,(function(){"use strict";const t=n(Math.pow(10,-6)),e=n(Math.pow(10,-2));function n(t,e=6){return function(t,e,n){if(Number.isInteger(t))return t;const r=Math.pow(10,e);return Math[n]((+t+Number.EPSILON)*r)/r}(t,e,"round")}function r(e,n,r=t){return Math.abs(e-n)<r}n(Math.pow(10,-4));const i=Math.PI/180;function s(t){return t*i}function o(t){return t/i}function u(t){return"number"!=typeof t&&(t=Number(t)),isNaN(t)||!isFinite(t)?0:t}let l={iD:!1};function a(t){return`${t}`.replace(/['"]/g,"")}function c(t,e="px"){return t.endsWith(e)?t:`${t}${e}`}function f(t=""){return l.iD?t:void 0}function h(t){const e=["^","\\s*","(matrix\\()","(?<a>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<b>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<c>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<d>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<e>-?[0-9]*\\.?[0-9]+)","\\s*",",?","\\s*","(?<f>-?[0-9]*\\.?[0-9]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return[u(n.groups.a),u(n.groups.b),u(n.groups.c),u(n.groups.d),u(n.groups.e),u(n.groups.f)]}function d(t,e="inline"){return t&&t!==e?(t=a(t))===e?f(e):t:f(e)}function g(t,e="1px"){if(!t||t===e)return f(e);if(t.endsWith("px")||t.endsWith("%"))return t;const r=c(t=`${n(u(t),2)}`);return r===e?f(e):r}function p(t,e="none"){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("url(#")?t:function(t){const e=["^","\\s*","url\\(","#","(?<maskId>[a-zA-Z0-9\\-_]+)","\\)"].join(""),n=t.match(new RegExp(e,"i"));if(n)return`url(#${n.groups.maskId})`}(t):f(e)}function y(t,e="rgb(0, 0, 0)"){if(!t||t===e)return f(e);if((t=a(t))===e)return f(e);if(t.startsWith("rgb"))return t;const n=function(t){if("string"!=typeof t||"#"!==t[0])return t;const e=t.slice(1),n=e.length;if(3!==n&&6!==n)return t;for(let r=0;r<n;r++){const n=e.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return t}if(3===n)return`rgb(${parseInt(e[0]+e[0],16)}, ${parseInt(e[1]+e[1],16)}, ${parseInt(e[2]+e[2],16)})`;return`rgb(${parseInt(e.slice(0,2),16)}, ${parseInt(e.slice(2,4),16)}, ${parseInt(e.slice(4,6),16)})`}(t);return n===e?f(e):n}function m(t,e="1"){return t&&t!==e?(t=`${n(u(t),3)}`)===e?f(e):t:f(e)}let v={};const b={fill:"none",stroke:"none",opacity:"0.01",transform:"matrix(0.001 0 0 0.001 -10000 -10000)"};function w({element:t,tagType:e="path",property:n="d",attributeValue:r}){return v[r]||(v[r]=function({element:t,tagType:e="path",property:n="d",attributeValue:r}){const i=t.ownerSVGElement,s=document.createElementNS(i.namespaceURI,e);s.setAttributeNS(null,n,r);for(const t in b)s.setAttributeNS(null,t,b[t]);i.appendChild(s);const o=getComputedStyle(s)[n];return s.remove(),o}({element:t,tagType:e,property:n,attributeValue:r})),v[r]}const x=()=>{v={}};"object"==typeof window&&(window.removeEventListener("resize",x),window.addEventListener("resize",x));const A={include:(t,e)=>["path"].includes(e),formatter:t=>function(t,e=""){return t&&t!==e?(t=a(t))===e?f(e):t.startsWith("path(")?t:`path('${t}')`:f(e)}(t)},_={include:(t,e)=>["rect","mask"].includes(e),formatter:(t,e,n)=>g(t,function(t,e){var n;return(null===(n={mask:{x:"-150%",y:"-150%",width:"400%",height:"400%"}}[e])||void 0===n?void 0:n[t])||(["x","y"].includes(t)?"0px":"100%")}(e,n))},k=Object.freeze({d:A,display:t=>d(t),height:_,fill:t=>y(t),"fill-opacity":t=>m(t),filter:t=>d(t,"none"),mask:t=>p(t),opacity:t=>m(t),stroke:t=>y(t,"none"),"stroke-opacity":t=>m(t),"stroke-width":t=>g(t),transform:t=>function(t,e="none"){if(!t||t===e)return f(e);const n=h(t);return n?`matrix(${n.join(", ")})`:t}(t),"transform-origin":t=>function(t,e="0px 0px"){if(!t||t===e)return f(e);const n=["^","\\s*","(?<x>[0-9]+)","(px)?","\\s*",",","\\s*","(?<y>[0-9]+)","(px)?"].join(""),r=t.match(new RegExp(n,"i"));if(!r)return t;let i=`${u(r.groups.x)}`;i=c(i);let s=`${u(r.groups.y)}`;s=c(s);const o=`${i} ${s}`;return o===e?f(e):o}(t),visibility:t=>d(t,"visible"),width:_,x:_,y:_}),S=Object.keys(k),E=e;function I(t,e,n,i,s=window){var o,u;const l=t.getAttribute(e),a="transform"===e?"none":"",c=s.safari&&!s.chrome&&(null===(o=i.getPropertyValue)||void 0===o?void 0:o.call(i,e))===a||"mask"===n?l:null===(u=i.getPropertyValue)||void 0===u?void 0:u.call(i,e);if(l&&c){if(l===c)return l;switch(e){case"transform":return function(t,e){const n=h(t),i=h(e);if((null==n?void 0:n.length)===(null==i?void 0:i.length)){for(let t=0,e=n.length;t<e;t++)if(n[t]!==i[t]&&(s=i[t],!r(((o=n[t])-s)/(o||1)*100,0,E)))return;var s,o;return t}}(l,c);case"d":return function(t,e,n){return w({element:t,attributeValue:e})===n?e:void 0}(t,l,c);default:return c}}}function M(t,e,n,r){var i,s,o,u;const l="transform"===e||["mask","path"].includes(n)&&["x","y","width","height","d"].includes(e);return r&&l?I(t,e,n,r):(null===(i=r.getPropertyValue)||void 0===i?void 0:i.call(r,e))??(null===(s=t.attrs)||void 0===s||null===(o=s.style)||void 0===o?void 0:o[e])??(null===(u=t.attrs)||void 0===u?void 0:u[e])}function O(t,e,n=!1){l.iD=n;const r="undefined"!=typeof window&&getComputedStyle(t),i={};for(let l=0,a=S.length;l<a;l++){var s,o,u;const a=S[l],c=t.type||t.nodeName;if(!1===(null===(s=(o=k[a]).include)||void 0===s?void 0:s.call(o,a,c)))continue;const f=k[a].formatter||k[a];if(null!=e&&null!==(u=e[t.id])&&void 0!==u&&u[a])continue;const h=M(t,a,c,r);if(null==h&&!n)continue;const d=f.call(this,h,a,c);d&&(i[a]=d)}return i}function j(t){var e,n;if(null==t||null===(e=t.wD)||void 0===e||!e.length)return;this.h=t.wD.shift();const r=null===(n=t.rootId)||void 0===n?void 0:n.slice(0,-1);this.wIs=t.wD.map((t=>`${r}${t}`))}function B(t){const e=new j(t),n=t.svg,r=e.wIs,i=t.originalAnimations[0].elements,s=e.h;function o(t,e,s){var u;if(e[t])return;const l=n.querySelector("#"+t),a=null==l||null===(u=l.parentElement)||void 0===u?void 0:u.id;if(l&&a){if(r.includes(a))return e[a]||o(a,e,s),e[a].children??=[],e[t]=O(l,i),void e[a].children.push(e[t]);e[t]=O(l,i),s.push(e[t])}}async function u(){const t=function(){let t=[],e={};for(let n=0,i=r.length;n<i;n++)o(r[n],e,t);return t}();return await async function(t){var e,n;const r=JSON.stringify(t),i=(new TextEncoder).encode(r),o=await(null===(e=window.crypto)||void 0===e||null===(n=e.subtle)||void 0===n?void 0:n.digest("SHA-256",i));return o&&Array.from(new Uint8Array(o)).map((t=>t.toString(16).padStart(2,"0"))).join("")||s}(t)}this.vH=async function(){await u()!==s&&requestAnimationFrame((()=>t.stop()))}}function N(t){let e=0,n=0;const r=new B(t);this.cF=function(i,s){return t.wD?(e++,function(t){return!(t-n<300)&&(t-n>=500||e>=3)}(i)?(e=0,n=i,window.requestAnimationFrame((()=>r.vH())),s()):s()):s()}}function T(t){return t}function P(t,e,n){const r=1-n;return 3*n*r*(t*r+e*n)+n*n*n}function F(t=0,e=0,n=1,i=1){return t<0||t>1||n<0||n>1?null:r(t,e)&&r(n,i)?T:s=>{if(s<=0)return t>0?s*e/t:0===e&&n>0?s*i/n:0;if(s>=1)return n<1?1+(s-1)*(i-1)/(n-1):1===n&&t<1?1+(s-1)*(e-1)/(t-1):1;let o,u=0,l=1;for(;u<l;){o=(u+l)/2;const e=P(t,n,o);if(r(s,e))break;e<s?u=o:l=o}return P(e,i,o)}}function R(){return 1}function V(t){return 1===t?1:0}function C(t=1,e=0){if(1===t){if(0===e)return V;if(1===e)return R}const n=1/t;return t=>t>=1?1:(t+=e*n)-t%n}Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),Number.EPSILON||(Number.EPSILON=2220446049250313e-31);const D=Math.sin,$=Math.cos,L=Math.acos,q=Math.asin,z=Math.tan,G=Math.atan2,W=Math.sqrt;function Y(t,e){return{a:t[0]*e[0]+t[2]*e[1],b:t[1]*e[0]+t[3]*e[1],c:t[0]*e[2]+t[2]*e[3],d:t[1]*e[2]+t[3]*e[3],tx:t[0]*e[4]+t[2]*e[5]+t[4],ty:t[1]*e[4]+t[3]*e[5]+t[5]}}function U(t,e,n){return t>=.5?n:e}function H(t,e,n){return 0===t||e===n?e:t*(n-e)+e}function J(t,e,n){const r=H(t,e,n);return r<=0?0:r}function Q(t,e,n){const r=H(t,e,n);return r<=0?0:r>=1?1:r}function X(t,e,n){return 0===t?e:1===t?n:{x:H(t,e.x,n.x),y:H(t,e.y,n.y)}}function Z(t,e,n){return 0===t?e:1===t?n:{x:J(t,e.x,n.x),y:J(t,e.y,n.y)}}function K(t,e,n){const r=function(t,e,n){return Math.round(H(t,e,n))}(t,e,n);return r<=0?0:r>=255?255:r}function tt(t,e,n){return 0===t?e:1===t?n:{r:K(t,e.r,n.r),g:K(t,e.g,n.g),b:K(t,e.b,n.b),a:H(t,null==e.a?1:e.a,null==n.a?1:n.a)}}function et(t,e,n){let r=e.length;if(r!==n.length)return U(t,e,n);let i=new Array(r);for(let s=0;s<r;s++)i[s]=H(t,e[s],n[s]);return i}function nt(t,e){const n=[];for(let r=0;r<t;r++)n.push(e);return n}function rt(t,e){if(--e<=0)return t;const n=(t=Object.assign([],t)).length;do{for(let e=0;e<n;e++)t.push(t[e])}while(--e>0);return t}class it{constructor(t){this.list=t,this.length=t.length}setAttribute(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].setAttribute(t,e)}removeAttribute(t){const e=this.list;for(let n=0;n<this.length;n++)e[n].removeAttribute(t)}style(t,e){const n=this.list;for(let r=0;r<this.length;r++)n[r].style[t]=e}}const st=/-./g,ot=(t,e)=>e.toUpperCase();let ut;function lt(t){return"function"==typeof t?t:U}function at(t){return t?"function"==typeof t?t:Array.isArray(t)?function(t,e=T){if(!Array.isArray(t))return e;switch(t.length){case 1:return C(t[0])||e;case 2:return C(t[0],t[1])||e;case 4:return F(t[0],t[1],t[2],t[3])||e}return e}(t,null):function(t,e,n=T){switch(t){case"linear":return T;case"steps":return C(e.steps||1,e.jump||0)||n;case"bezier":case"cubic-bezier":return F(e.x1||0,e.y1||0,e.x2||0,e.y2||0)||n}return n}(t.type,t.value,null):null}function ct(t,e,n,r=!1){const i=e.length-1;if(t<=e[0].t)return r?[0,0,e[0].v]:e[0].v;if(t>=e[i].t)return r?[i,1,e[i].v]:e[i].v;let s,o=e[0],u=null;for(s=1;s<=i;s++){if(!(t>e[s].t)){u=e[s];break}o=e[s]}return null==u?r?[i,1,e[i].v]:e[i].v:o.t===u.t?r?[s,1,u.v]:u.v:(t=(t-o.t)/(u.t-o.t),o.e&&(t=o.e(t)),r?[s,t,n(t,o.v,u.v)]:n(t,o.v,u.v))}function ft(t,e,n=null){return t&&t.length?"function"!=typeof e?null:("function"!=typeof n&&(n=null),r=>{let i=ct(r,t,e);return null!=i&&n&&(i=n(i)),i}):null}function ht(t,e){return t.t-e.t}function dt(t,e,n,r,i){const s="@"===n[0],o="#"===n[0];let u=ut[n],l=U;var a;switch(s?(a=n.substr(1),n=a.replace(st,ot)):o&&(n=n.substr(1)),typeof u){case"function":if(l=u(r,i,ct,at,n,s,e,t),o)return l;break;case"string":l=ft(r,lt(u));break;case"object":if(l=ft(r,lt(u.i),u.f),l&&"function"==typeof u.u)return u.u(e,l,n,s,t)}return l?function(t,e,n,r=!1){if(r)return t instanceof it?r=>t.style(e,n(r)):r=>t.style[e]=n(r);if(Array.isArray(e)){const r=e.length;return i=>{const s=n(i);if(null==s)for(let n=0;n<r;n++)t[n].removeAttribute(e);else for(let n=0;n<r;n++)t[n].setAttribute(e,s)}}return r=>{const i=n(r);null==i?t.removeAttribute(e):t.setAttribute(e,i)}}(e,n,l,s):null}function gt(t,e,n,r){if(!r||"object"!=typeof r)return null;let i=null,s=null;return Array.isArray(r)?s=function(t){if(!t||!t.length)return null;for(let e=0;e<t.length;e++)t[e].e&&(t[e].e=at(t[e].e));return t.sort(ht)}(r):(s=r.keys,i=r.data||null),s?dt(t,e,n,s,i):null}function pt(t,e,n){if(!n)return null;const r=[];for(const i in n)if(n.hasOwnProperty(i)){const s=gt(t,e,i,n[i]);s&&r.push(s)}return r.length?r:null}function yt(t,e){if(!e.settings.duration||e.settings.duration<0)return null;const n=function(t,e){if(!e)return null;let n=[];if(Array.isArray(e)){const r=e.length;for(let i=0;i<r;i++){const r=e[i];if(2!==r.length)continue;let s=null;if("string"==typeof r[0])s=t.getElementById(r[0]);else if(Array.isArray(r[0])){s=[];for(let e=0;e<r[0].length;e++)if("string"==typeof r[0][e]){const n=t.getElementById(r[0][e]);n&&s.push(n)}s=s.length?1===s.length?s[0]:new it(s):null}if(!s)continue;const o=pt(t,s,r[1]);o&&(n=n.concat(o))}}else for(const r in e){if(!e.hasOwnProperty(r))continue;const i=t.getElementById(r);if(!i)continue;const s=pt(t,i,e[r]);s&&(n=n.concat(s))}return n.length?n:null}(t,e.elements);return n?function(t,e){const n=e.duration,r=t.length;let i=null;return(s,o)=>{const u=e.iterations||1/0,l=(e.alternate&&u%2==0)^e.direction>0?n:0;let a=s%n,c=1+(s-a)/n;o*=e.direction,e.alternate&&c%2==0&&(o=-o);let f=!1;if(c>u)a=l,f=!0,-1===e.fill&&(a=e.direction>0?0:n);else if(o<0&&(a=n-a),a===i)return!1;i=a;for(let e=0;e<r;e++)t[e](a);return f}}(n,e.settings):null}function mt(t,e=document,n=0){const r=function(t,e){const n=e.querySelectorAll("svg");for(let e=0;e<n.length;e++)if(n[e].id===t.root&&!n[e].svgatorAnimation)return n[e].svgatorAnimation=!0,n[e];return null}(t,e);if(r)return r;if(n>=20)return null;const i=function(t){const e=t=>t.shadowRoot;return document?Array.from(t.querySelectorAll(":not("+["a","area","audio","br","canvas","circle","datalist","embed","g","head","hr","iframe","img","input","link","object","path","polygon","rect","script","source","style","svg","title","track","video"].join()+")")).filter(e).map(e):[]}(e);for(let e=0;e<i.length;e++){const r=mt(t,i[e],n+1);if(r)return r}return null}function vt(t,e=null,n=Number,r="undefined"!=typeof BigInt&&BigInt){const i="0x"+(t.replace(/[^0-9a-fA-F]+/g,"")||27);return e&&r&&n.isSafeInteger&&!n.isSafeInteger(+i)?n(r(i))%e+e:+i}function bt(t,e=27){return!t||t%e?t%e:[0,1].includes(e)?e:bt(t/e,e)}function wt(t,e,n){if(!t||!t.length)return;const r=vt(n),i=bt(r)+5;let s=function(t,e,n){let r="";for(;t&&n&&e<=t.length;)r+=t.substring(0,e),t=t.substring(e+1),e=n;return r+t}(t,bt(r,5),i);return s=s.replace(/\x7c$/g,"==").replace(/\x2f$/g,"="),s=atob(s),s=s.replace(/[\x41-\x5A]/g,""),s=function(t,e,n){const r=+("0x"+t.substring(0,4));t=t.substring(4);const i=vt(e,r)%r+n%27,s=[];for(let e=0;e<t.length;e+=2){if("|"===t[e]){const n=+("0x"+t.substring(e+1,e+1+4))-i;e+=3,s.push(n);continue}const n=+("0x"+t[e]+t[e+1])-i;s.push(n)}return String.fromCharCode(...s)}(s,e,r),s=JSON.parse(s),s}const xt=[{key:"alternate",def:!1},{key:"fill",def:1},{key:"iterations",def:0},{key:"direction",def:1},{key:"speed",def:1},{key:"fps",def:100}];function At(t){return n(t)+""}function _t(t,e=" "){return t&&t.length?t.map(At).join(e):""}function kt(t){return At(t.x)+","+At(t.y)}function St(t){return t?null==t.a||t.a>=1?function(t){if(!t)return"transparent";const e=t=>parseInt(t).toString(16).padStart(2,"0");return function(t){const e=[];let n="#"===t[0]?e.push("#"):0;for(;n<t.length;n+=2){if(t[n]!==t[n+1])return t;e.push(t[n])}return e.join("")}("#"+e(t.r)+e(t.g)+e(t.b)+(null==t.a||t.a>=1?"":e(255*t.a)))}(t):"rgba("+t.r+","+t.g+","+t.b+","+t.a+")":"transparent"}function Et(t){return t?"url(#"+t+")":"none"}!function(){for(var t=0,e=["ms","moz","webkit","o"],n=0;n<e.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[e[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[n]+"CancelAnimationFrame"]||window[e[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e){var n=Date.now(),r=Math.max(0,16-(n-t)),i=window.setTimeout((function(){e(n+r)}),r);return t=n+r,i},window.cancelAnimationFrame=window.clearTimeout)}();var It={f:null,i:Z,u:(t,e)=>n=>{const r=e(n);t.setAttribute("rx",At(r.x)),t.setAttribute("ry",At(r.y))}},Mt={f:null,i:function(t,e,n){return 0===t?e:1===t?n:{width:J(t,e.width,n.width),height:J(t,e.height,n.height)}},u:(t,e)=>n=>{const r=e(n);t.setAttribute("width",At(r.width)),t.setAttribute("height",At(r.height))}};Object.freeze({M:2,L:2,Z:0,H:1,V:1,C:6,Q:4,T:2,S:4,A:7});let Ot={},jt=null;function Bt(t){let e=function(){if(jt)return jt;if("object"!=typeof document||!document.createElementNS)return{};let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t&&t.style?(t.style.position="absolute",t.style.opacity="0.01",t.style.zIndex="-9999",t.style.left="-9999px",t.style.width="1px",t.style.height="1px",jt={svg:t},jt):{}}().svg;if(!e)return function(t){return null};let n=document.createElementNS(e.namespaceURI,"path");n.setAttributeNS(null,"d",t),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"stroke","none"),e.appendChild(n);let r=n.getTotalLength();return function(t){let e=n.getPointAtLength(r*t);return{x:e.x,y:e.y}}}function Nt(t,e,n,r,i=1){let s=function(t){return Ot[t]?Ot[t]:Ot[t]=Bt(t)}(function(t,e,n,r){if(!t||!r)return!1;let i=["M",t.x,t.y];if(e&&n&&(i.push("C"),i.push(e.x),i.push(e.y),i.push(n.x),i.push(n.y)),e?!n:n){let t=e||n;i.push("Q"),i.push(t.x),i.push(t.y)}return e||n||i.push("L"),i.push(r.x),i.push(r.y),i.join(" ")}(t,e,n,r));try{return s(i)}catch(t){return null}}function Tt(t,e,n){return t+(e-t)*n}function Pt(t,e,n,r=!1){const i={x:Tt(t.x,e.x,n),y:Tt(t.y,e.y,n)};return r&&(i.a=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}(t,e)),i}function Ft(t,e,n,r){const i=1-r;return i*i*t+2*i*r*e+r*r*n}function Rt(t,e,n,r){return 2*(1-r)*(e-t)+2*r*(n-e)}function Vt(t,e,n,r,i=!1){let s=Nt(t,e,null,n,r);return s||(s={x:Ft(t.x,e.x,n.x,r),y:Ft(t.y,e.y,n.y,r)}),i&&(s.a=function(t,e,n,r){return Math.atan2(Rt(t.y,e.y,n.y,r),Rt(t.x,e.x,n.x,r))}(t,e,n,r)),s}function Ct(t,e,n,r,i){const s=i*i;return i*s*(r-t+3*(e-n))+3*s*(t+n-2*e)+3*i*(e-t)+t}function Dt(t,e,n,r,i){const s=1-i;return 3*(s*s*(e-t)+2*s*i*(n-e)+i*i*(r-n))}function $t(t,e,n,r,i,s=!1){let o=Nt(t,e,n,r,i);return o||(o={x:Ct(t.x,e.x,n.x,r.x,i),y:Ct(t.y,e.y,n.y,r.y,i)}),s&&(o.a=function(t,e,n,r,i){return Math.atan2(Dt(t.y,e.y,n.y,r.y,i),Dt(t.x,e.x,n.x,r.x,i))}(t,e,n,r,i)),o}function Lt(t,e,n,r=!1){if(zt(e)){if(Gt(n))return Vt(e,n.start,n,t,r)}else if(zt(n)){if(Wt(e))return Vt(e,e.end,n,t,r)}else{if(Wt(e))return Gt(n)?$t(e,e.end,n.start,n,t,r):Vt(e,e.end,n,t,r);if(Gt(n))return Vt(e,n.start,n,t,r)}return Pt(e,n,t,r)}function qt(t,e,n){const r=Lt(t,e,n,!0);return r.a=o(function(t,e=!1){return e?t+Math.PI:t}(r.a)),r}function zt(t){return!t.type||"corner"===t.type}function Gt(t){return null!=t.start&&!zt(t)}function Wt(t){return null!=t.end&&!zt(t)}const Yt=new class{constructor(t=1,e=0,n=0,r=1,i=0,s=0){this.m=[t,e,n,r,i,s],this.i=null,this.w=null,this.s=null}get determinant(){const t=this.m;return t[0]*t[3]-t[1]*t[2]}get isIdentity(){if(null===this.i){const t=this.m;this.i=1===t[0]&&0===t[1]&&0===t[2]&&1===t[3]&&0===t[4]&&0===t[5]}return this.i}point(t,e){const n=this.m;return{x:n[0]*t+n[2]*e+n[4],y:n[1]*t+n[3]*e+n[5]}}translateSelf(t=0,e=0){if(!t&&!e)return this;const n=this.m;return n[4]+=n[0]*t+n[2]*e,n[5]+=n[1]*t+n[3]*e,this.w=this.s=this.i=null,this}rotateSelf(t=0){if(t%=360){t=s(t);const e=D(t),n=$(t),r=this.m,i=r[0],o=r[1];r[0]=i*n+r[2]*e,r[1]=o*n+r[3]*e,r[2]=r[2]*n-i*e,r[3]=r[3]*n-o*e,this.w=this.s=this.i=null}return this}scaleSelf(t=1,e=1){if(1!==t||1!==e){const n=this.m;n[0]*=t,n[1]*=t,n[2]*=e,n[3]*=e,this.w=this.s=this.i=null}return this}skewSelf(t,e){if(e%=360,(t%=360)||e){const n=this.m,r=n[0],i=n[1],o=n[2],u=n[3];t&&(t=z(s(t)),n[2]+=r*t,n[3]+=i*t),e&&(e=z(s(e)),n[0]+=o*e,n[1]+=u*e),this.w=this.s=this.i=null}return this}resetSelf(t=1,e=0,n=0,r=1,i=0,s=0){const o=this.m;return o[0]=t,o[1]=e,o[2]=n,o[3]=r,o[4]=i,o[5]=s,this.w=this.s=this.i=null,this}recomposeSelf(t=null,e=null,n=null,r=null,i=null){return this.isIdentity||this.resetSelf(),t&&(t.x||t.y)&&this.translateSelf(t.x,t.y),e&&this.rotateSelf(e),n&&(n.x&&this.skewSelf(n.x,0),n.y&&this.skewSelf(0,n.y)),!r||1===r.x&&1===r.y||this.scaleSelf(r.x,r.y),i&&(i.x||i.y)&&this.translateSelf(i.x,i.y),this}decompose(t=0,e=0){const r=this.m,i=r[0]*r[0]+r[1]*r[1],s=[[r[0],r[1]],[r[2],r[3]]];let u=W(i);if(0===u)return{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:0,y:0},skew:{x:0,y:0},rotate:0};s[0][0]/=u,s[0][1]/=u;const l=r[0]*r[3]-r[1]*r[2]<0;l&&(u=-u);let a=s[0][0]*s[1][0]+s[0][1]*s[1][1];s[1][0]-=s[0][0]*a,s[1][1]-=s[0][1]*a;let c,f=W(s[1][0]*s[1][0]+s[1][1]*s[1][1]);return 0===f?{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:0},skew:{x:0,y:0},rotate:0}:(s[1][0]/=f,s[1][1]/=f,a/=f,s[1][1]<0?(c=o(L(s[1][1])),s[0][1]<0&&(c=360-c)):c=o(q(s[0][1])),l&&(c=-c),a=o(G(a,W(s[0][0]*s[0][0]+s[0][1]*s[0][1]))),l&&(a=-a),{origin:{x:n(r[4]),y:n(r[5])},translate:{x:n(t),y:n(e)},scale:{x:n(u),y:n(f)},skew:{x:n(a),y:0},rotate:n(c)})}multiply(t){return this.clone().multiplySelf(t)}preMultiply(t){return t.multiply(this)}multiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(this.m,t.m);return this.resetSelf(e,n,r,i,s,o),this}preMultiplySelf(t){const{a:e,b:n,c:r,d:i,tx:s,ty:o}=Y(t.m,this.m);return this.resetSelf(e,n,r,i,s,o),this}clone(){const t=this.m;return new this.constructor(t[0],t[1],t[2],t[3],t[4],t[5])}static create(t){return t?Array.isArray(t)?new this(...t):t instanceof this?t.clone():(new this).recomposeSelf(t.origin,t.rotate,t.skew,t.scale,t.translate):new this}toString(t=" ",e=!1){if(null===this.s){let r=this.m.map((t=>n(t)));e||1!==r[0]||0!==r[1]||0!==r[2]||1!==r[3]?this.s="matrix("+r.join(t)+")":this.s="translate("+r[4]+t+r[5]+")"}return this.s}};var Ut={f:function(t){return t?t.join(" "):""},i:function(t,e,n){if(0===t)return e;if(1===t)return n;let r=e.length;if(r!==n.length)return U(t,e,n);let i,s=new Array(r);for(let o=0;o<r;o++){if(i=typeof e[o],i!==typeof n[o])return U(t,e,n);if("number"===i)s[o]=H(t,e[o],n[o]);else{if(e[o]!==n[o])return U(t,e,n);s[o]=e[o]}}return s}},Ht={f:null,i:et,u:(t,e)=>n=>{const r=e(n);t.setAttribute("x1",At(r[0])),t.setAttribute("y1",At(r[1])),t.setAttribute("x2",At(r[2])),t.setAttribute("y2",At(r[3]))}},Jt={f:At,i:H},Qt={f:At,i:Q},Xt={f:function(t,e=" "){return t&&t.length>0&&(t=t.map((t=>n(t,4)))),_t(t,e)},i:function(t,e,r){let i=e.length,s=r.length;if(i!==s)if(0===i)i=s,e=nt(i,0);else if(0===s)s=i,r=nt(i,0);else{const t=function(t,e){const n=t*e/function(t,e){let n;for(;e;)n=e,e=t%e,t=n;return t||1}(t,e);return n<0?-n:n}(i,s);e=rt(e,Math.floor(t/i)),r=rt(r,Math.floor(t/s)),i=s=t}let o=[];for(let s=0;s<i;s++)o.push(n(J(t,e[s],r[s])));return o}};function Zt(t,e,r){return t.map((t=>function(t,e,r){let i=t.v;if(!i||"g"!==i.t||i.s||!i.v||!i.r)return t;const s=r.getElementById(i.r),o=s&&s.querySelectorAll("stop")||[];return i.s=i.v.map(((t,e)=>{let r=o[e]&&o[e].getAttribute("offset");return r=n(parseInt(r)/100),{c:t,o:r}})),delete i.v,t}(t,0,r)))}const Kt={gt:"gradientTransform",c:{x:"cx",y:"cy"},rd:"r",f:{x:"x1",y:"y1"},to:{x:"x2",y:"y2"}};function te(t,e,n,r,i,s,o,u){return Zt(t,0,u),e=function(t,e,n){let r,i,s;const o=t.length-1,u={};for(let l=0;l<=o;l++)r=t[l],r.e&&(r.e=e(r.e)),r.v&&(i=r.v,"g"===i.t&&i.r&&(s=n.getElementById(i.r),s&&(u[i.r]={e:s,s:s.querySelectorAll("stop")})));return u}(t,r,u),r=>{const i=n(r,t,ee);if(!i)return"none";if("c"===i.t)return St(i.v);if("g"===i.t){if(!e[i.r])return Et(i.r);const t=e[i.r];return function(t,e){let n=t.s;for(let r=n.length;r<e.length;r++){const e=n[n.length-1].cloneNode();e.id=ie(e.id),t.e.appendChild(e),n=t.s=t.e.querySelectorAll("stop")}for(let t=0,r=n.length,i=e.length-1;t<r;t++)n[t].setAttribute("stop-color",St(e[Math.min(t,i)].c)),n[t].setAttribute("offset",e[Math.min(t,i)].o)}(t,i.s),Object.keys(Kt).forEach((e=>{if(void 0===i[e])return;if("object"==typeof Kt[e])return void Object.keys(Kt[e]).forEach((n=>{if(void 0===i[e][n])return;const r=i[e][n],s=Kt[e][n];t.e.setAttribute(s,r)}));const n="gt"===e?(r=i[e],Array.isArray(r)?"matrix("+r.join(" ")+")":""):i[e];var r;const s=Kt[e];t.e.setAttribute(s,n)})),Et(i.r)}return"none"}}function ee(t,e,n){if(0===t)return e;if(1===t)return n;if(e&&n){const r=e.t;if(r===n.t)switch(e.t){case"c":return{t:r,v:tt(t,e.v,n.v)};case"g":if(e.r===n.r){const i={t:r,s:ne(t,e.s,n.s),r:e.r};return e.gt&&n.gt&&(i.gt=et(t,e.gt,n.gt)),e.c?(i.c=X(t,e.c,n.c),i.rd=J(t,e.rd,n.rd)):e.f&&(i.f=X(t,e.f,n.f),i.to=X(t,e.to,n.to)),i}}if("c"===e.t&&"g"===n.t||"c"===n.t&&"g"===e.t){const r="c"===e.t?e:n,i="g"===e.t?{...e}:{...n},s=i.s.map((t=>({c:r.v,o:t.o})));return i.s="c"===e.t?ne(t,s,i.s):ne(t,i.s,s),i}}return U(t,e,n)}function ne(t,e,n){if(e.length===n.length)return e.map(((e,r)=>re(t,e,n[r])));const r=Math.max(e.length,n.length),i=[];for(let s=0;s<r;s++){const r=re(t,e[Math.min(s,e.length-1)],n[Math.min(s,n.length-1)]);i.push(r)}return i}function re(t,e,n){return{o:Q(t,e.o,n.o||0),c:tt(t,e.c,n.c||{})}}function ie(t){return t.replace(/-fill-([0-9]+)$/,((t,e)=>"-fill-"+(+e+1)))}function se(t,e,n){return 0===t?e:1===t?n:{blur:Z(t,e.blur,n.blur),offset:X(t,e.offset,n.offset),color:tt(t,e.color,n.color)}}const oe={blur:Z,brightness:J,contrast:J,"drop-shadow":se,"inner-shadow":se,grayscale:J,"hue-rotate":H,invert:J,opacity:J,saturate:J,sepia:J};function ue(t,e,n){if(0===t)return e;if(1===t)return n;const r=e.length;if(r!==n.length)return U(t,e,n);const i=[];let s;for(let o=0;o<r;o++){if(e[o].type!==n[o].type)return e;if(s=oe[e[o].type],!s)return U(t,e,n);i.push({type:e.type,value:s(t,e[o].value,n[o].value)})}return i}const le={blur:t=>t?e=>{t.setAttribute("stdDeviation",kt(e))}:null,brightness:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e),t.map((t=>t.setAttribute("slope",e)))}:null,contrast:(t,e,n)=>(t=ce(n,e))?e=>{const n=At((1-e)/2);e=At(e),t.map((t=>{t.setAttribute("slope",e),t.setAttribute("intercept",n)}))}:null,"drop-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-flood");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y)),s.setAttribute("flood-color",St(t.color))}:null},"inner-shadow"(t,e,n){const r=n.getElementById(e+"-blur");if(!r)return null;const i=n.getElementById(e+"-offset");if(!i)return null;const s=n.getElementById(e+"-color-matrix");return s?t=>{r.setAttribute("stdDeviation",kt(t.blur)),i.setAttribute("dx",At(t.offset.x)),i.setAttribute("dy",At(t.offset.y));const e=[0,0,0,0,t.color.r/255,0,0,0,0,t.color.g/255,0,0,0,0,t.color.b/255,0,0,0,t.color.a,0];s.setAttribute("values",_t(e))}:null},grayscale:t=>t?e=>{t.setAttribute("values",_t(function(t){return[.2126+.7874*(t=1-t),.7152-.7152*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152+.2848*t,.0722-.0722*t,0,0,.2126-.2126*t,.7152-.7152*t,.0722+.9278*t,0,0,0,0,0,1,0]}(e)))}:null,"hue-rotate":t=>t?e=>t.setAttribute("values",At(e)):null,invert:(t,e,n)=>(t=ce(n,e))?e=>{e=At(e)+" "+At(1-e),t.map((t=>t.setAttribute("tableValues",e)))}:null,opacity:(t,e,n)=>(t=n.getElementById(e+"-A"))?e=>t.setAttribute("tableValues","0 "+At(e)):null,saturate:t=>t?e=>t.setAttribute("values",At(e)):null,sepia:t=>t?e=>t.setAttribute("values",_t(function(t){return[.393+.607*(t=1-t),.769-.769*t,.189-.189*t,0,0,.349-.349*t,.686+.314*t,.168-.168*t,0,0,.272-.272*t,.534-.534*t,.131+.869*t,0,0,0,0,0,1,0]}(e))):null};const ae=["R","G","B"];function ce(t,e){const n=ae.map((n=>t.getElementById(e+"-"+n)||null));return-1!==n.indexOf(null)?null:n}var fe={fill:te,"fill-opacity":Qt,stroke:te,"stroke-opacity":Qt,"stroke-width":Jt,"stroke-dashoffset":{f:At,i:H},"stroke-dasharray":Xt,opacity:Qt,transform:function(t,e,n,r){if(!(t=function(t,e){if(!t||"object"!=typeof t)return null;let n=!1;for(const r in t)t.hasOwnProperty(r)&&(t[r]&&t[r].length?(t[r].forEach((t=>{t.e&&(t.e=e(t.e))})),n=!0):delete t[r]);return n?t:null}(t,r)))return null;const i=(r,i,s,o=null)=>t[r]?n(i,t[r],s):e&&e[r]?e[r]:o;return e&&e.a&&t.o?e=>{const r=n(e,t.o,qt);return Yt.recomposeSelf(r,i("r",e,H,0)+r.a,i("k",e,X),i("s",e,X),i("t",e,X)).toString()}:t=>Yt.recomposeSelf(i("o",t,Lt,null),i("r",t,H,0),i("k",t,X),i("s",t,X),i("t",t,X)).toString()},"#filter":function(t,e,n,r,i,s,o,u){if(!e.items||!t||!t.length)return null;const l=function(t,e){const n=(t=t.map((t=>t&&le[t[0]]?(e.getElementById(t[1]),le[t[0]](e.getElementById(t[1]),t[1],e)):null))).length;return e=>{for(let r=0;r<n;r++)t[r]&&t[r](e[r].value)}}(e.items,u);return l?(t=function(t,e){return t.map((t=>(t.e=e(t.e),t)))}(t,r),e=>{l(n(e,t,ue))}):null},"#line":Ht,points:{f:_t,i:et},d:Ut,r:Jt,"#size":Mt,"#radius":It,_(t,e){if(Array.isArray(t))for(let n=0;n<t.length;n++)this[t[n]]=e;else this[t]=e}};const he={currentTime:"offset",duration:"duration",hasEnded:function(){return this.reachedToEnd()},isAlternate:"alternate",isPlaying:"_running",isRollingBack:"_rollingBack",state:function(t,e){return e.isPlaying?e.isRollingBack?"rollback":"playing":e.hasEnded?"ended":"paused"},totalTime:"maxFiniteDuration",iterations:"iterations",direction:"direction",fill:"fill",isReversed:function(t,e){return-1===e.direction},isBackwards:function(t,e){return-1===e.fill},isInfinite:function(t,e){return 0===e.iterations},speed:"speed",fps:"fps"},de={destruct:"destruct",pause:"pause",play:function(t,e){return ge(t,e.hasEnded?"restart":"play",e)},restart:"restart",reverse:function(t,e){return ge(t,"reverse",e,[!0])},seek:"seek",seekBy:"seekBy",seekTo:"seekTo",stop:"stop",toggle:"toggle",togglePlay:"toggle",set:"set"};function ge(t,e,n,r=[]){return function(){const i=[...arguments];return i.unshift(...r),t[e].call(t,...i),n}}class pe{constructor(t){const e={},n=["on","off"],r={get:function(t,r,i){return he[r]?"function"==typeof he[r]?he[r].call(t,t,i):t[he[r]]:de[r]?"function"==typeof de[r]?de[r].call(t,t,i):ge(t,de[r],i):-1!==n.indexOf(r)?e[r]:"ready"===r?t=>(t&&t.call(i,i),i):void 0},set:function(t,r,i){return-1!==n.indexOf(r)&&(e[r]=i)},ownKeys:function(t){return Object.keys(he)},has:function(t,e){return void 0!==he[e]}};if("function"==typeof Proxy)return new Proxy(t,r);const i=Object.keys(he).concat(Object.keys(de)).concat(n),s={};return i.forEach((e=>{const i={enumerable:!1,configurable:!1,get:()=>r.get(t,e,s)};-1!==n.indexOf(e)&&(i.set=n=>r.set(t,e,n)),Object.defineProperty(s,e,i)})),s}}function ye(t){t||(t=this);let e={};this.on=function(t,n,r=!1){return"function"==typeof n&&(t.split(/[, ]+/g).forEach((t=>(e[t]=e[t]||[],r?e[t].unshift(n):e[t].push(n)))),!0)},this.off=function(t,n){for(let r in e)if(e.hasOwnProperty(r)&&r.substr(0,t.length)===t)if(n)for(let t=0;t<e[r].length;t++)e[r][t]===n&&(e[r][t]=null);else e[r]=null},this.trigger=function(){let n,[r,...i]=[...arguments];t:for(let s in e)if(e.hasOwnProperty(s)&&e[s]&&(s===r||s.substr(0,r.length+1)===r+"."))for(let r=0;r<(e[s]||[]).length;r++)if(e[s][r]&&(n=e[s][r].apply(t,i),!1===n))break t;return n}}let me=function(t,e,n=n){let r=!1,i=null;return function(s){r&&clearTimeout(r),r=setTimeout((()=>function(){let s=0,o=n.innerHeight,u=0,l=n.innerWidth,a=t.parentNode;for(;a instanceof Element;){let t=n.getComputedStyle(a);if("visible"!==t.overflowY||"visible"!==t.overflowX){let e=a.getBoundingClientRect();"visible"!==t.overflowY&&(s=Math.max(s,e.top),o=Math.min(o,e.bottom)),"visible"!==t.overflowX&&(u=Math.max(u,e.left),l=Math.min(l,e.right))}if(a===a.parentNode)break;a=a.parentNode}r=!1;let c=t.getBoundingClientRect(),f=Math.min(c.height,Math.max(0,s-c.top)),h=Math.min(c.height,Math.max(0,c.bottom-o)),d=Math.min(c.width,Math.max(0,u-c.left)),g=Math.min(c.width,Math.max(0,c.right-l)),p=(c.height-f-h)/c.height,y=(c.width-d-g)/c.width,m=Math.round(p*y*100);null!==i&&i===m||(i=m,e(m))}()),100)}};class ve{constructor(t,e,n){const r=function(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i={el:t,window:window};if(!r)return i;let s;try{s=window.parent.document}catch(t){return i}return i.window=window.parent,i.el=Array.from(s.querySelectorAll("iframe,object")).filter((t=>t.contentWindow===window))[0]||i.el,i}(t);e=Math.max(1,e||1),e=Math.min(e,100),this.el=r.el,this._handlers=[],this.onThresholdChange=n&&n.call?n:()=>{},this.thresholdPercent=e||1,this.currentVisibility=null,this.visibilityCalculator=me(this.el,this.onVisibilityUpdate.bind(this),r.window),this.bindScrollWatchers(),this.visibilityCalculator()}bindScrollWatchers(){let t=this.el.parentNode;for(;t&&(this._handlers.push({element:t,event:"scroll",handler:this.visibilityCalculator}),t.addEventListener("scroll",this.visibilityCalculator),t!==t.parentNode&&t!==document);)t=t.parentNode}onVisibilityUpdate(t){let e=this.currentVisibility>=this.thresholdPercent,n=t>=this.thresholdPercent;if(null===this.currentVisibility||e!==n)return this.currentVisibility=t,void this.onThresholdChange(n);this.currentVisibility=t}destruct(){this._handlers.forEach((t=>{t.element.removeEventListener(t.event,t.handler)}))}}class be{static adjustLink(t){var e,n;const r=t&&1===(null===(e=t.ownerDocument)||void 0===e||null===(n=e.childNodes)||void 0===n?void 0:n.length)&&window.parent!==window,i=null==t?void 0:t.firstElementChild;r&&i&&"a"===i.tagName&&!i.getAttribute("target")&&i.setAttributeNS(null,"target","_parent")}static autoPlay(t,e,n,r=[]){if("click"===n.start){const i=()=>{switch(n.click){case"freeze":return!t._running&&t.reachedToEnd()?t.restart():t.toggle();case"restart":return t.offset>0?t.restart():t.play();case"reverse":return t._running?t.reverse():t.reachedToEnd()?1===t.fill?t.reverse(!0):t.restart():t.play();case"none":default:if(t._running)return;return t.reachedToEnd()?t.restart():t.play()}};return r.push({element:e,event:"click",handler:i}),void e.addEventListener("click",i)}if("hover"===n.start){const i=()=>t.reachedToEnd()?t.restart():t._rollingBack?t.reverse():t.play();r.push({element:e,event:"mouseenter",handler:i}),e.addEventListener("mouseenter",i);const s=()=>{switch(n.hover){case"freeze":return t.pause();case"reset":return t.stop();case"reverse":if(t.reverse(),t._running)return;return t.play();case"none":default:return}};return r.push({element:e,event:"mouseleave",handler:s}),void e.addEventListener("mouseleave",s)}if("scroll"!==n.start)"programmatic"!==n.start&&t.play();else{const i=new ve(e,n.scroll||25,(function(e){e?t.reachedToEnd()?t.restart():t.play():t.pause()}));r.push({callback:()=>i.destruct()})}}}const we=!0,xe=["iterations","speed","fps","direction","fill","alternate"];class Ae extends class{_svg;_rootId;constructor(t){this._id=0,this._running=!1,this._rollingBack=!1,this._animations=t.animations,this._settings=t.animationSettings,t.version<"2022-05-02"&&delete this._settings.speed,xt.forEach((t=>{this._settings[t.key]=this._settings[t.key]||t.def})),this.duration=t.animationSettings.duration,this.offset=t.animationSettings.offset||0,this.rollbackStartOffset=0,this._rootId=t.root,this._svg=t.svg,this._originalAnimations=t.originalAnimations,this._fTC=new N(this)}get svg(){return this._svg}get rootId(){return this._rootId}get alternate(){return this._settings.alternate}get fill(){return this._settings.fill}get iterations(){return this._settings.iterations}get direction(){return this._settings.direction}get speed(){return this._settings.speed}get fps(){return this._settings.fps}get wD(){return this._settings.w}get originalAnimations(){return this._originalAnimations}get maxFiniteDuration(){return this.iterations>0?this.iterations*this.duration:this.duration}static build(t,e){if(delete t.animationSettings,t.options=wt(t.options,t.root,"91c80d77"),t.animations.map((e=>{e.settings=wt(e.s,t.root,"91c80d77"),delete e.s,t.animationSettings||(t.animationSettings=e.settings)})),Object.assign(t,{originalAnimations:t.animations},function(t,e){if(ut=e,!t||!t.root||!Array.isArray(t.animations))return null;const n=mt(t);if(!n)return null;const r=t.animations.map((t=>yt(n,t))).filter((t=>!!t));return r.length?{svg:n,animations:r}:null}(t,e)),!t)return null;const n=t.options||{},r=new this(t);return{el:t.svg,options:n,player:r}}static push(t){return this.build(t)}static init(){const t=window.__SVGATOR_PLAYER__&&window.__SVGATOR_PLAYER__["91c80d77"];Array.isArray(t)&&t.splice(0).forEach((t=>this.build(t)))}_apply(t,e={}){const n=this._animations,r=n.length;let i=0;for(let s=0;s<r;s++)e[s]?i++:(e[s]=n[s](t,1),e[s]&&i++);return i}_rollback(t){let e=1/0,n=null;this.rollbackStartOffset=t,this._rollingBack=!0,this._running=!0;const r=i=>{if(!this._rollingBack)return;null==n&&(n=i);let s=Math.round(t-(i-n)*this.speed);if(s>this.duration&&e!==1/0){const t=!!this.alternate&&s/this.duration%2>1;let e=s%this.duration;e+=t?this.duration:0,s=e||this.duration}const o=(this.fps?1e3/this.fps:0)*this.speed,u=Math.max(0,s);u<=e-o&&(this.offset=u,e=u,this._apply(u));const l=this.iterations>0&&-1===this.fill&&s>=this.maxFiniteDuration;(s<=0||this.offset<s||l)&&this.stop(),this._id=window.requestAnimationFrame(r)};this._id=window.requestAnimationFrame(r)}_start(t=0){let e,n=-1/0;const r={};this._running=!0;const i=s=>{e??=s;const o=Math.round((s-e)*this.speed+t),u=(this.fps?1e3/this.fps:0)*this.speed;o>=n+u&&!this._rollingBack&&this._fTC.cF(s,(()=>{this.offset=o,n=o;if(this._apply(o,r)===this._animations.length)return this.pause(!0),!0}))||(this._id=window.requestAnimationFrame(i))};this._id=window.requestAnimationFrame(i)}_pause(){this._id&&window.cancelAnimationFrame(this._id),this._running=!1}play(){if(!this._running)return this._rollingBack?this._rollback(this.offset):this._start(this.offset)}stop(){this._pause(),this.offset=0,this.rollbackStartOffset=0,this._rollingBack=!1,this._apply(0)}reachedToEnd(){return this.iterations>0&&this.offset>=this.iterations*this.duration}restart(t=!1){this.stop(t),this.play(t)}pause(){this._pause()}toggle(){return this._running?this.pause():this.reachedToEnd()?this.restart():this.play()}trigger(t,e){}_adjustOffset(t=!1){const e=this.alternate?2*this.duration:this.duration;if(t){if(!this._rollingBack&&0===this.offset)return void(this.offset=e);this._rollingBack&&(this.offset,this.maxFiniteDuration)}!this._rollingBack||this.rollbackStartOffset<=this.duration?0!==this.iterations&&(this.offset=Math.min(this.offset,this.maxFiniteDuration)):(this.offset=this.rollbackStartOffset-(this.rollbackStartOffset-this.offset)%e,this.rollbackStartOffset=0)}reverse(t=!1){if(!this._running)return this._adjustOffset(t),this._rollingBack=!this._rollingBack,t&&this.play(!1),void this.trigger("reverse",this.offset);this.pause(!1,!1),this._adjustOffset(),this._rollingBack=!this._rollingBack,this.play(!1),this.trigger("reverse",this.offset)}}{constructor(t){super(t),this._handlers=[]}static build(t){let e=super.build(t,fe);if(!e)return null;let{el:n,options:r,player:i}=e;const s=new pe(i),o=new ye(s);s.on=o.on,s.off=o.off,i.trigger=o.trigger;const u=n.svgatorPlayer&&n.svgatorPlayer.ready&&n.svgatorPlayer.ready.call&&n.svgatorPlayer.ready.call();n.svgatorPlayer=s,be.adjustLink(n),be.autoPlay(i,n,r,i._handlers),function(t,e,n){let r;"function"==typeof Event?r=new Event("ready"):(r=document.createEvent("Event"),r.initEvent("ready",!0,!0));if(t.dispatchEvent(r),!n||!n.length)return;n.forEach((t=>e.ready(t)))}(n,n.svgatorPlayer,u)}play(t=true){const e=super.play();return t===we&&this.trigger("play",this.offset),e}pause(t=!1,e=true){const n=super.pause();return e===we&&this.trigger(t?"end":"pause",this.offset),n}restart(){const t=super.restart(!1);return this.trigger("restart",this.offset),t}stop(t=true){const e=super.stop();return t===we&&this.trigger("stop",this.offset),e}_apply(t,e={},n=true){const r=super._apply(t);if(n===we){const e=()=>this.trigger("keyframe",t);window.requestAnimationFrame(e)}return r}seekTo(t){const e=this._running;var n,r,i;e&&this.pause(!1,!1),this.offset=this.iterations>0?(n=t,r=0,i=this.maxFiniteDuration,n<r?r:n>i?i:n):Math.max(t,0),this._apply(this.offset),e&&this.play(!1)}seek(t){return this.seekTo(Math.round(t/100*this.maxFiniteDuration))}seekBy(t){return this.seekTo(this.offset+t)}set(t,e){if(!xe.includes(t))return;const n=this._running;n&&this.pause(!1,!1),this._settings[t]=e,n?this.play(!1):this._apply(this.offset,{},!1)}destruct(){this.stop(),this._handlers.forEach((t=>{t.element?t.element.removeEventListener(t.event,t.handler):t.callback&&t.callback.call&&t.callback.call()}));const t=()=>{},e=Object.getOwnPropertyNames(Object.getPrototypeOf(this));e.push(...Object.getOwnPropertyNames(this)),e.forEach((e=>{"function"==typeof this[e]?this[e]=t:delete this[e]}))}}return Ae.init(),Ae}));
(function(s,i,o,w,d,a,b){(a=Array.from(d.querySelectorAll('svg#' + i.root)).filter(n=> !n.svgatorPlayer)[0]||{}).svgatorPlayer={ready:(function(a){b=[];return function(c){return c?(b.push(c),a.svgatorPlayer):b}})(a)};w[o]=w[o]||{};w[o][s]=w[o][s]||[];w[o][s].push(i);})('91c80d77',{"root":"eoTBYgjyr9I1","version":"2025-04-07","animations":[{"elements":{"eoTBYgjyr9I2":{"transform":{"data":{"o":{"x":97.002373,"y":97.000498,"type":"corner"},"t":{"x":-97.002372,"y":-97.000497}},"keys":{"r":[{"t":0,"v":0,"e":[0.42,0,0.58,1]},{"t":2000,"v":-6,"e":[0.42,0,0.58,1]},{"t":4000,"v":0}]}}},"eoTBYgjyr9I7":{"d":[{"t":0,"v":["M",136.792,74.2788,"C",136.792,74.2788,143.224,80.3836,134.741,94.006,"C",126.258,107.621,121.906,121.379,126.719,127.796,"C",131.156,133.709,144.707,134.298,147.738,127.547,"C",148.888,124.992,148.285,121.237,145.978,119.717,"C",143.011,117.765,138.922,118.489,138.453,118.596,"C",135.671,119.249,125.74,121.719,114.793,143.399,"C",114.793,143.399,107.063,157.66,110.293,169.401]},{"t":2000,"v":["M",136.792,74.2788,"C",136.792,74.2788,144.696825,84.526924,136.213825,98.149324,"C",127.730825,111.764324,121.906,121.379,126.719,127.796,"C",131.156,133.709,140.725056,133.918356,143.756056,127.167356,"C",144.906056,124.612356,144.303056,120.857356,141.996056,119.337356,"C",139.029056,117.385356,134.940056,118.109356,134.471056,118.216356,"C",128.772609,120.058636,121.431975,124.658578,110.484975,146.338578,"C",110.484975,146.338578,100.600904,168.512575,122.837503,174.789167]},{"t":4000,"v":["M",136.792,74.2788,"C",136.792,74.2788,143.224,80.3836,134.741,94.006,"C",126.258,107.621,121.906,121.379,126.719,127.796,"C",131.156,133.709,144.707,134.298,147.738,127.547,"C",148.888,124.992,148.285,121.237,145.978,119.717,"C",143.011,117.765,138.922,118.489,138.453,118.596,"C",135.671,119.249,125.74,121.719,114.793,143.399,"C",114.793,143.399,107.063,157.66,110.293,169.401]}]},"eoTBYgjyr9I8":{"d":[{"t":0,"v":["M",133.593,69.4992,"L",131.605,67.1211,"C",131.272,66.681,130.626,65.9569,130.235,65.5665,"C",115.974,51.213,101.912,50.9432,95.8919,51.6673,"C",95.3737,51.7312,91.2139,52.3701,90.6957,52.4482,"C",85.1658,53.3,71.5435,55.1386,71.8771,45.2146,"C",72.2959,32.9055,92.4704,35.1771,97.6453,24.6]},{"t":2000,"v":["M",133.593,69.4992,"L",131.605,67.1211,"C",131.272,66.681,130.626,65.9569,130.235,65.5665,"C",115.974,51.213,106.257442,57.432972,100.237342,58.157072,"C",99.719142,58.220972,95.559342,58.859872,95.041142,58.937972,"C",89.511242,59.789772,75.888942,61.628372,76.222542,51.704372,"C",76.641342,39.395272,92.407566,33.605222,97.582466,23.028122]},{"t":4000,"v":["M",133.593,69.4992,"L",131.605,67.1211,"C",131.272,66.681,130.626,65.9569,130.235,65.5665,"C",115.974,51.213,101.912,50.9432,95.8919,51.6673,"C",95.3737,51.7312,91.2139,52.3701,90.6957,52.4482,"C",85.1658,53.3,71.5435,55.1386,71.8771,45.2146,"C",72.2959,32.9055,92.4704,35.1771,97.6453,24.6]}]}},"s":"MDVA1ZGFhNTE5MA2E0YTE5MFNhEMzk4OWU5ZDURxNjk2M0g1ZjTVmNWY1YjUxOPTM5OEVhMTk0DOTJhMzk4OWUN5ZDUxNjk2MDWViNTE5OGEzOOTRhMTkwYTM5CODllOWRSYTIK1MTY5SjVmNWPI1MTk1VTk4OIWJJOWI1MTY5XNjA1YjUxOTAJ5YmEzOTRhMTSlkOTBhMzk0NQTE2OTk1OTA5OYmEyOTQ1YjUOxYTJKOWY5NDVk0OTM1MTY5NVjA1YkU1MTk1FOWZhMjUxRTYR5NjA1ZjVmYWRM/"}],"options":"MDTAyMjk4M2Y5MADkxN2U4ZjkxCM2ZXTzU3M2ZFVODU4YzkzTDLgyOGYzZjQ5MV2ZWODU4YzkzDODI4ZjNmNTcTzZjgzOGY4MjWgyOTc4MkgzZIjlh"},'__SVGATOR_PLAYER__',window,document)
]]></script>
</svg></span>

  <span class="py-10 inline-block text-cta uppercase relative w-fit">
    Expert Finishing
    <span class="absolute left-0 right-0 bottom-0 border-b-1 border-current transition-position group-hover/text-link:bottom-5"></span>
  </span>
  </a>
</div>


</div>



    </div>
  </div>
</div>

</div><div id="shopify-section-template--26162629541931__shoppable_image_PdVKeL" class="shopify-section">







<shoppable-image class="block">
  <div class="
      flex flex-col gap-30 md:gap-20 
      
       md:flex-row-reverse
    "
     style="background-color: #ffffff"
  >
    <div class="pb-full relative overflow-hidden md:w-[57%] min-w-0 md:pb-half">
      
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=1545" alt=" - " srcset="//needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=700 700w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=750 750w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=800 800w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=850 850w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=900 900w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=950 950w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=1400 1400w, //needlepoint.com/cdn/shop/files/Untitled_design_3_aefba008-92ea-4ee0-aed7-89806e6f1285.jpg?v=1780583295&amp;width=1500 1500w" width="1545" height="2000" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 size-full inset object-cover" fetchpriority="low" sizes="100vw" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      

      
        
        
        <div 
          style="
          --x: 85%; 
          --y: 17%; 
          --x-mobile: 85%; 
          --y-mobile: 17%;
        "
          data-slide-group="0" data-index="1" role="button"
          class="cursor absolute top-[var(--y-mobile)] left-[var(--x-mobile)] md:top-[var(--y)] md:left-[var(--x)] -translate-x-half -translate-y-half w-[33px] h-[33px] bg-teal/80 text-white rounded-full text-center text-tag flex flex-col justify-center items-center leading-normal">01</div>
      
        
        
        <div 
          style="
          --x: 46%; 
          --y: 38%; 
          --x-mobile: 46%; 
          --y-mobile: 38%;
        "
          data-slide-group="0" data-index="2" role="button"
          class="cursor absolute top-[var(--y-mobile)] left-[var(--x-mobile)] md:top-[var(--y)] md:left-[var(--x)] -translate-x-half -translate-y-half w-[33px] h-[33px] bg-teal/80 text-white rounded-full text-center text-tag flex flex-col justify-center items-center leading-normal">02</div>
      
        
        
        <div 
          style="
          --x: 17%; 
          --y: 19%; 
          --x-mobile: 17%; 
          --y-mobile: 19%;
        "
          data-slide-group="0" data-index="3" role="button"
          class="cursor absolute top-[var(--y-mobile)] left-[var(--x-mobile)] md:top-[var(--y)] md:left-[var(--x)] -translate-x-half -translate-y-half w-[33px] h-[33px] bg-teal/80 text-white rounded-full text-center text-tag flex flex-col justify-center items-center leading-normal">03</div>
      
        
        
        <div 
          style="
          --x: 88%; 
          --y: 66%; 
          --x-mobile: 88%; 
          --y-mobile: 66%;
        "
          data-slide-group="1" data-index="4" role="button"
          class="cursor absolute top-[var(--y-mobile)] left-[var(--x-mobile)] md:top-[var(--y)] md:left-[var(--x)] -translate-x-half -translate-y-half w-[33px] h-[33px] bg-teal/80 text-white rounded-full text-center text-tag flex flex-col justify-center items-center leading-normal">04</div>
      
        
        
        <div 
          style="
          --x: 16%; 
          --y: 88%; 
          --x-mobile: 16%; 
          --y-mobile: 88%;
        "
          data-slide-group="1" data-index="5" role="button"
          class="cursor absolute top-[var(--y-mobile)] left-[var(--x-mobile)] md:top-[var(--y)] md:left-[var(--x)] -translate-x-half -translate-y-half w-[33px] h-[33px] bg-teal/80 text-white rounded-full text-center text-tag flex flex-col justify-center items-center leading-normal">05</div>
      
    </div>
    <div class="min-w-0 max-w-[440px] md:mx-auto mx-20 flex flex-col justify-center items-center text-center w-auto md:w-[43%] md:my-40 pt-10 pb-50 md:p-0">
      
        <h2 class="mb-10 text-m-h2 text-center md:text-h2" data-animate>Acrylic Trays</h2>
      

      
        <p class="mb-10 text-m-body-1 text-center md:text-body-1 max-w-[400px] mx-auto" data-animate>Perfectly sized to fit your insert canvases, simple, functional, and made to display your stitching beautifully.</p>
      

      <div class="w-full md:pr-20 mt-50">
        <div class="shoppable-slider swiper group/slider overflow-visible md:overflow-hidden">
          <div class="swiper-wrapper">
            
  <div class="swiper-slide">
    <div class="flex flex-col justify-start items-start gap-20">
      
        <product-card class="w-full group/card" data-product-index="1">
          <div class="p-10 grid grid-cols-[80px_1fr_30px] justify-center items-center gap-10 bg-white w-full group-[.focus]/card:bg-ice transition-colors">
            <div class="w-full h-auto aspect-square border border-dark-beige">
              
                <img src="//needlepoint.com/cdn/shop/files/6-acrylic-tray-accessories-bradley-needlepoint-company-420747.jpg?v=1777322617&amp;width=200" alt="6&quot; Acrylic Tray Accessories Bradley Needlepoint Company " srcset="//needlepoint.com/cdn/shop/files/6-acrylic-tray-accessories-bradley-needlepoint-company-420747.jpg?v=1777322617&amp;width=200 200w" width="200" height="200" loading="lazy" class="w-full h-full object-cover">
              
            </div>

            <div class="flex flex-col justify-between items-start gap-10">
              <div>6" Acrylic Tray <span class="text-cerulean">$69.95</span></div>
            </div>

            <div class="">
              <button title="Add" aria-label="Add product to cart"
                
                  onClick="addItemById(43963941552171)"
                
                class="bg-cerulean text-white rounded-full p-[8px]  [&.disabled]:opacity-50 [&.disabled]:pointer-events-none">
                
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  

                <span class="visually-hidden">Add product to cart</span>
              </button>
            </div>
          </div>
        </product-card>
        
          
            
          
        
      
        <product-card class="w-full group/card" data-product-index="2">
          <div class="p-10 grid grid-cols-[80px_1fr_30px] justify-center items-center gap-10 bg-white w-full group-[.focus]/card:bg-ice transition-colors">
            <div class="w-full h-auto aspect-square border border-dark-beige">
              
                <img src="//needlepoint.com/cdn/shop/files/8-acrylic-tray-accessories-bradley-needlepoint-company-379862.jpg?v=1777322612&amp;width=200" alt="8&quot; Acrylic Tray Accessories Bradley Needlepoint Company " srcset="//needlepoint.com/cdn/shop/files/8-acrylic-tray-accessories-bradley-needlepoint-company-379862.jpg?v=1777322612&amp;width=200 200w" width="200" height="200" loading="lazy" class="w-full h-full object-cover">
              
            </div>

            <div class="flex flex-col justify-between items-start gap-10">
              <div>8" Acrylic Tray <span class="text-cerulean">$79.95</span></div>
            </div>

            <div class="">
              <button title="Add" aria-label="Add product to cart"
                
                  onClick="addItemById(43963946074155)"
                
                class="bg-cerulean text-white rounded-full p-[8px]  [&.disabled]:opacity-50 [&.disabled]:pointer-events-none">
                
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  

                <span class="visually-hidden">Add product to cart</span>
              </button>
            </div>
          </div>
        </product-card>
        
          
            
          
        
      
        <product-card class="w-full group/card" data-product-index="3">
          <div class="p-10 grid grid-cols-[80px_1fr_30px] justify-center items-center gap-10 bg-white w-full group-[.focus]/card:bg-ice transition-colors">
            <div class="w-full h-auto aspect-square border border-dark-beige">
              
                <img src="//needlepoint.com/cdn/shop/files/3-x-6-acrylic-tray-accessories-bradley-needlepoint-company-723782.jpg?v=1777057351&amp;width=200" alt="3&quot; x 6&quot; Acrylic Tray Accessories Bradley Needlepoint Company " srcset="//needlepoint.com/cdn/shop/files/3-x-6-acrylic-tray-accessories-bradley-needlepoint-company-723782.jpg?v=1777057351&amp;width=200 200w" width="200" height="200" loading="lazy" class="w-full h-full object-cover">
              
            </div>

            <div class="flex flex-col justify-between items-start gap-10">
              <div>3" x 6" Acrylic Tray <span class="text-cerulean">$49.95</span></div>
            </div>

            <div class="">
              <button title="Add" aria-label="Add product to cart"
                
                  onClick="addItemById(43963937390635)"
                
                class="bg-cerulean text-white rounded-full p-[8px]  [&.disabled]:opacity-50 [&.disabled]:pointer-events-none">
                
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  

                <span class="visually-hidden">Add product to cart</span>
              </button>
            </div>
          </div>
        </product-card>
        
          
                </div>
            </div>
            
            <div class="swiper-slide">
              <div class="flex flex-col justify-start items-start gap-20">
                
          
        
      
        <product-card class="w-full group/card" data-product-index="4">
          <div class="p-10 grid grid-cols-[80px_1fr_30px] justify-center items-center gap-10 bg-white w-full group-[.focus]/card:bg-ice transition-colors">
            <div class="w-full h-auto aspect-square border border-dark-beige">
              
                <img src="//needlepoint.com/cdn/shop/files/12-acrylic-tray-accessories-bradley-needlepoint-company-235770.jpg?v=1777057427&amp;width=200" alt="12&quot; Acrylic Tray Accessories Bradley Needlepoint Company " srcset="//needlepoint.com/cdn/shop/files/12-acrylic-tray-accessories-bradley-needlepoint-company-235770.jpg?v=1777057427&amp;width=200 200w" width="200" height="200" loading="lazy" class="w-full h-full object-cover">
              
            </div>

            <div class="flex flex-col justify-between items-start gap-10">
              <div>12" Acrylic Tray <span class="text-cerulean">$109.95</span></div>
            </div>

            <div class="">
              <button title="Add" aria-label="Add product to cart"
                
                  onClick="addItemById(43963933687851)"
                
                class="bg-cerulean text-white rounded-full p-[8px]  [&.disabled]:opacity-50 [&.disabled]:pointer-events-none">
                
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  

                <span class="visually-hidden">Add product to cart</span>
              </button>
            </div>
          </div>
        </product-card>
        
          
            
          
        
      
        <product-card class="w-full group/card" data-product-index="5">
          <div class="p-10 grid grid-cols-[80px_1fr_30px] justify-center items-center gap-10 bg-white w-full group-[.focus]/card:bg-ice transition-colors">
            <div class="w-full h-auto aspect-square border border-dark-beige">
              
                <img src="//needlepoint.com/cdn/shop/files/16-acrylic-tray-accessories-bradley-needlepoint-company-992728.jpg?v=1780595273&amp;width=200" alt="16&quot; Acrylic Tray Accessories Bradley Needlepoint Company " srcset="//needlepoint.com/cdn/shop/files/16-acrylic-tray-accessories-bradley-needlepoint-company-992728.jpg?v=1780595273&amp;width=200 200w" width="200" height="200" loading="lazy" class="w-full h-full object-cover">
              
            </div>

            <div class="flex flex-col justify-between items-start gap-10">
              <div>16" Acrylic Tray <span class="text-cerulean">$159.95</span></div>
            </div>

            <div class="">
              <button title="Add" aria-label="Add product to cart"
                
                  onClick="addItemById(44092333916203)"
                
                class="bg-cerulean text-white rounded-full p-[8px]  [&.disabled]:opacity-50 [&.disabled]:pointer-events-none">
                
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  

                <span class="visually-hidden">Add product to cart</span>
              </button>
            </div>
          </div>
        </product-card>
        
      
    </div>
  </div>

          </div>
        </div>

        <button onclick="addItemsById([43963941552171,43963946074155,43963937390635,43963933687851,44092333916203])" class="button mt-40">Add All To Cart</button>
      </div>

      <div class="flex flex-row justify-between items-center gap-20 mt-60 w-full mx-auto px-20">
        <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
          <span class="visually-hidden">Previous slide</span>
          
           <svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path fill-rule="evenodd" clip-rule="evenodd" d="M5.06973 0.430176L6 1.36044L1.86054 5.49991L6 9.63937L5.06973 10.5696L2.21605e-07 5.49991L5.06973 0.430176Z" fill="currentColor"/>
          </svg>

        </button>
        <div class="swiper-pagination"></div>
        <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
          <span class="visually-hidden">Next slide</span>
          
          <svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path fill-rule="evenodd" clip-rule="evenodd" d="M0.930269 0.430176L-4.06634e-08 1.36044L4.13946 5.49991L-4.02547e-07 9.63937L0.930269 10.5696L6 5.49991L0.930269 0.430176Z" fill="currentColor"/>
          </svg>
        </button>
      </div>
    </div>
  </div>
</shoppable-image>

<style>
  /* Style before slider has loaded */
  .shoppable-slider:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: 1fr;
    grid-auto-rows: 0;
    gap: 20px;
  }

  @media screen and (max-width: 767px) {
    .shoppable-slider:not(.swiper-initialized) .swiper-wrapper {
      grid-template-columns: repeat(1, 1fr);
    }
  }
</style>

</div><div id="shopify-section-template--26162629541931__collection_slider_EbW4m7" class="shopify-section"><collection-slider data-desktop-columns="4" data-mobile-columns="2">
  <div class="my-60 md:my-80">
    <div class="block overflow-hidden">
      <div class="page-width">
        <div >

          <div class="">
            
              <h2 class="mb-10 text-m-h2  text-center  md:text-h2" data-animate>our family of brands</h2>
            

            
              <p class="mb-10 text-m-body-1 md:text-body-1 max-w-[400px]  text-center mx-auto" data-animate>Discover our diverse lineup of high-quality products, exciting designs, and endless inspiration for all experience levels.</p>
            
          </div>
          
          
            <div class="mb-30 md:flex md:justify-between md:mb-40 md:gap-40 mt-40" data-animate>
              
                <div class="-mx-20 px-20 overflow-x-auto no-scrollbar md:my-0 md:mx-auto md:p-[2px]">
                  <div class="w-fit mx-auto flex items-start gap-40">
                    
                      <button class="collection-slider-tab group/button relative text-cta uppercase whitespace-nowrap active  opacity-70 [&.active]:opacity-100 [&.active]:font-semibold" data-id="collection-template--26162629541931__collection_slider_EbW4m7-1" >
                        Needlepoint To Go
                      </button>
                    
                      <button class="collection-slider-tab group/button relative text-cta uppercase whitespace-nowrap  opacity-70 [&.active]:opacity-100 [&.active]:font-semibold" data-id="collection-template--26162629541931__collection_slider_EbW4m7-2" >
                        two sisters
                      </button>
                    
                      <button class="collection-slider-tab group/button relative text-cta uppercase whitespace-nowrap  opacity-70 [&.active]:opacity-100 [&.active]:font-semibold" data-id="collection-template--26162629541931__collection_slider_EbW4m7-3" >
                        kirk & bradley
                      </button>
                    
                      <button class="collection-slider-tab group/button relative text-cta uppercase whitespace-nowrap  opacity-70 [&.active]:opacity-100 [&.active]:font-semibold" data-id="collection-template--26162629541931__collection_slider_EbW4m7-4" >
                        associated talents
                      </button>
                    
                      <button class="collection-slider-tab group/button relative text-cta uppercase whitespace-nowrap  opacity-70 [&.active]:opacity-100 [&.active]:font-semibold" data-id="collection-template--26162629541931__collection_slider_EbW4m7-5" >
                        elizabeth bradley
                      </button>
                    
                    
                  </div>
                </div>
              
            </div>
          

          
        </div>
        
        <div class="collection-slider-container">
          
            
            <div class="collection-slider-wrapper group-wrapper " data-id="collection-template--26162629541931__collection_slider_EbW4m7-1" >
              <div class="relative">
                
                  <div class="collection-slider swiper collection-slider-template--26162629541931__collection_slider_EbW4m7 group/slider overflow-visible md:overflow-hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-1">
                    <div class="swiper-wrapper group-[:not(.swiper-initialized)]/slider:overflow-hidden">
                      
                        
                        
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/london-store-fronts-fortnum-and-mason" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=3564" alt="London Store Fronts - Fortnum and Mason with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-printed-canvas-needlepoint-to-go-171218.jpg?v=1719433215&amp;width=600 600w" width="3564" height="3564" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=4000" alt="London Store Fronts - Fortnum and Mason with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-fortnum-and-mason-with-stitch-guide-printed-canvas-needlepoint-to-go-200205.jpg?v=1740692170&amp;width=600 600w" width="4000" height="4001" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7252300333099" data-swaction="addToWishlist" data-product-id="7252300333099" data-variant-id="41124207427627" data-product-url="https://needlepoint.com/products/london-store-fronts-fortnum-and-mason">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/london-store-fronts-fortnum-and-mason"
            data-id="41124207427627"
            aria-label="London Store Fronts - Fortnum and Mason with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/london-store-fronts-fortnum-and-mason" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">London Store Fronts - Fortnum and Mason with Stitch Guide</a>
    

<p data-id="price--7252300333099" id="price--7252300333099" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/london-store-fronts-liberty" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=3285" alt="London Store Fronts- Liberty with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-printed-canvas-needlepoint-to-go-432653.jpg?v=1719433274&amp;width=600 600w" width="3285" height="3285" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=4000" alt="London Store Fronts- Liberty with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-liberty-with-stitch-guide-printed-canvas-needlepoint-to-go-756847.jpg?v=1740692222&amp;width=600 600w" width="4000" height="4000" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7252305379371" data-swaction="addToWishlist" data-product-id="7252305379371" data-variant-id="41124212637739" data-product-url="https://needlepoint.com/products/london-store-fronts-liberty">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/london-store-fronts-liberty"
            data-id="41124212637739"
            aria-label="London Store Fronts- Liberty with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/london-store-fronts-liberty" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">London Store Fronts- Liberty with Stitch Guide</a>
    

<p data-id="price--7252305379371" id="price--7252305379371" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/champagne-cooler" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=600" alt="Champagne Cooler Canvas with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=150 150w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=200 200w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=240 240w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=280 280w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=300 300w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=360 360w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=400 400w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=450 450w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=500 500w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=550 550w, //needlepoint.com/cdn/shop/files/champagne-cooler-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-652084.jpg?v=1776965951&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6913788084267" data-swaction="addToWishlist" data-product-id="6913788084267" data-variant-id="40270262009899" data-product-url="https://needlepoint.com/products/champagne-cooler">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/champagne-cooler"
            data-id="40270262009899"
            aria-label="Champagne Cooler Canvas with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/champagne-cooler" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Champagne Cooler Canvas with Stitch Guide</a>
    

<p data-id="price--6913788084267" id="price--6913788084267" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/rainbow-row" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=600" alt="Rainbow Row Canvas with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=150 150w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=200 200w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=240 240w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=280 280w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=300 300w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=360 360w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=400 400w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=450 450w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=500 500w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=550 550w, //needlepoint.com/cdn/shop/products/rainbow-row-printed-canvas-needlepoint-to-go-996238.jpg?v=1656627781&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6888281079851" data-swaction="addToWishlist" data-product-id="6888281079851" data-variant-id="40187840430123" data-product-url="https://needlepoint.com/products/rainbow-row">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #eff9f7; color: #225f64">Exclusive</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/rainbow-row"
            data-id="40187840430123"
            aria-label="Rainbow Row Canvas with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/rainbow-row" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Rainbow Row Canvas with Stitch Guide</a>
    

<p data-id="price--6888281079851" id="price--6888281079851" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/london-store-fronts-harrods" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=3465" alt="London Store Fronts- Harrods with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-printed-canvas-needlepoint-to-go-773300.jpg?v=1719433166&amp;width=600 600w" width="3465" height="3465" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=4238" alt="London Store Fronts- Harrods with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=150 150w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=200 200w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=240 240w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=280 280w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=300 300w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=360 360w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=400 400w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=450 450w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=500 500w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=550 550w, //needlepoint.com/cdn/shop/files/london-store-fronts-harrods-with-stitch-guide-printed-canvas-needlepoint-to-go-353549.jpg?v=1740692147&amp;width=600 600w" width="4238" height="4238" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7252308328491" data-swaction="addToWishlist" data-product-id="7252308328491" data-variant-id="41124216864811" data-product-url="https://needlepoint.com/products/london-store-fronts-harrods">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/london-store-fronts-harrods"
            data-id="41124216864811"
            aria-label="London Store Fronts- Harrods with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/london-store-fronts-harrods" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">London Store Fronts- Harrods with Stitch Guide</a>
    

<p data-id="price--7252308328491" id="price--7252308328491" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/palm-beach-chaise" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=600" alt="Palm Beach Chaise Canvas with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=150 150w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=200 200w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=240 240w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=280 280w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=300 300w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=360 360w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=400 400w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=450 450w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=500 500w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=550 550w, //needlepoint.com/cdn/shop/files/palm-beach-chaise-canvas-with-stitch-guide-printed-canvas-needlepoint-to-go-326472.jpg?v=1776965883&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=600" alt="Palm Beach Chaise Canvas with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=150 150w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=200 200w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=240 240w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=280 280w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=300 300w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=360 360w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=400 400w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=450 450w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=500 500w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=550 550w, //needlepoint.com/cdn/shop/products/palm-beach-chaise-printed-canvas-needlepoint-to-go-538355.jpg?v=1658988400&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6913792671787" data-swaction="addToWishlist" data-product-id="6913792671787" data-variant-id="40270280556587" data-product-url="https://needlepoint.com/products/palm-beach-chaise">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/palm-beach-chaise"
            data-id="40270280556587"
            aria-label="Palm Beach Chaise Canvas with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/palm-beach-chaise" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Palm Beach Chaise Canvas with Stitch Guide</a>
    

<p data-id="price--6913792671787" id="price--6913792671787" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/historic-pink-christmas-house" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=700" alt="Historic Pink Christmas House Canvas with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=150 150w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=200 200w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=240 240w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=280 280w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=300 300w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=360 360w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=400 400w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=450 450w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=500 500w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=550 550w, //needlepoint.com/cdn/shop/products/three-sisters-pink-christmas-house-printed-canvas-needlepoint-to-go-484735.jpg?v=1657836372&amp;width=600 600w" width="700" height="699" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6902848061483" data-swaction="addToWishlist" data-product-id="6902848061483" data-variant-id="40228674404395" data-product-url="https://needlepoint.com/products/historic-pink-christmas-house">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #eff9f7; color: #225f64">Exclusive</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/historic-pink-christmas-house"
            data-id="40228674404395"
            aria-label="Historic Pink Christmas House Canvas with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/historic-pink-christmas-house" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Historic Pink Christmas House Canvas with Stitch Guide</a>
    

<p data-id="price--6902848061483" id="price--6902848061483" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/pineapple-fountain" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=600" alt="Pineapple Fountain Canvas with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=150 150w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=200 200w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=240 240w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=280 280w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=300 300w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=360 360w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=400 400w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=450 450w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=500 500w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=550 550w, //needlepoint.com/cdn/shop/products/pineapple-fountain-printed-canvas-needlepoint-to-go-323371.jpg?v=1656627770&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6888278556715" data-swaction="addToWishlist" data-product-id="6888278556715" data-variant-id="40187834433579" data-product-url="https://needlepoint.com/products/pineapple-fountain">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #eff9f7; color: #225f64">Exclusive</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/pineapple-fountain"
            data-id="40187834433579"
            aria-label="Pineapple Fountain Canvas with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/pineapple-fountain" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Pineapple Fountain Canvas with Stitch Guide</a>
    

<p data-id="price--6888278556715" id="price--6888278556715" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/flower-truck" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=700" alt="Flower Truck - 1" srcset="//needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=150 150w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=200 200w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=240 240w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=280 280w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=300 300w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=360 360w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=400 400w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=450 450w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=500 500w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=550 550w, //needlepoint.com/cdn/shop/files/flower-truck-printed-canvas-needlepoint-to-go-712962.jpg?v=1710898823&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=700" alt="Flower Truck - 2" srcset="//needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=150 150w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=200 200w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=240 240w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=280 280w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=300 300w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=360 360w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=400 400w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=450 450w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=500 500w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=550 550w, //needlepoint.com/cdn/shop/products/flower-truck-printed-canvas-needlepoint-to-go-371567.jpg?v=1697190987&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7157670084651" data-swaction="addToWishlist" data-product-id="7157670084651" data-variant-id="40919110713387" data-product-url="https://needlepoint.com/products/flower-truck">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/flower-truck"
            data-id="40919110713387"
            aria-label="Flower Truck Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/flower-truck" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Flower Truck</a>
    

<p data-id="price--7157670084651" id="price--7157670084651" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$120.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/paris-bag-charm-insert" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=700" alt="Paris Bag Charm Insert - 1" srcset="//needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=150 150w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=200 200w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=240 240w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=280 280w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=300 300w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=360 360w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=400 400w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=450 450w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=500 500w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=550 550w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-kirk-bradley-808525.jpg?v=1716623817&amp;width=600 600w" width="700" height="699" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=700" alt="Paris Bag Charm Insert - 2" srcset="//needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=150 150w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=200 200w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=240 240w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=280 280w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=300 300w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=360 360w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=400 400w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=450 450w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=500 500w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=550 550w, //needlepoint.com/cdn/shop/files/paris-bag-charm-insert-printed-canvas-needlepoint-to-go-988181.jpg?v=1717915949&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7240741290027" data-swaction="addToWishlist" data-product-id="7240741290027" data-variant-id="41100219154475" data-product-url="https://needlepoint.com/products/paris-bag-charm-insert">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/paris-bag-charm-insert"
            data-id="41100219154475"
            aria-label="Paris Bag Charm Insert Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/paris-bag-charm-insert" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Paris Bag Charm Insert</a>
    

<p data-id="price--7240741290027" id="price--7240741290027" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$48.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/palm-beach-christmas-palm-tree-flamingo-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=700" alt="Palm Beach Christmas - Palm Tree &amp; Flamingo Kit - 1" srcset="//needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=150 150w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=200 200w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=240 240w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=280 280w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=300 300w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=360 360w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=400 400w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=450 450w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=500 500w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=550 550w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-762318.jpg?v=1660792605&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=700" alt="Palm Beach Christmas - Palm Tree &amp; Flamingo Kit - 2" srcset="//needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=150 150w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=200 200w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=240 240w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=280 280w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=300 300w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=360 360w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=400 400w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=450 450w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=500 500w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=550 550w, //needlepoint.com/cdn/shop/products/palm-beach-christmas-palm-tree-flamingo-kit-kits-needlepoint-to-go-351124.jpg?v=1660792610&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6937659670571" data-swaction="addToWishlist" data-product-id="6937659670571" data-variant-id="40349407019051" data-product-url="https://needlepoint.com/products/palm-beach-christmas-palm-tree-flamingo-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/palm-beach-christmas-palm-tree-flamingo-kit"
            data-id="40349407019051"
            aria-label="Palm Beach Christmas - Palm Tree & Flamingo Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/palm-beach-christmas-palm-tree-flamingo-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Palm Beach Christmas - Palm Tree & Flamingo Kit</a>
    

<p data-id="price--6937659670571" id="price--6937659670571" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$95.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/charleston-bag-charm-insert" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=700" alt="Charleston Bag Charm Insert - 1" srcset="//needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=150 150w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=200 200w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=240 240w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=280 280w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=300 300w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=360 360w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=400 400w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=450 450w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=500 500w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=550 550w, //needlepoint.com/cdn/shop/files/charleston-bag-charm-insert-printed-canvas-kirk-bradley-365419.jpg?v=1716623785&amp;width=600 600w" width="700" height="699" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=700" alt="Charleston Bag Charm Insert - 2" srcset="//needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=150 150w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=200 200w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=240 240w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=280 280w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=300 300w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=360 360w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=400 400w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=450 450w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=500 500w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=550 550w, //needlepoint.com/cdn/shop/files/leather-bag-tag-light-pink-leather-goods-rachel-barri-designs-559714.jpg?v=1717915989&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7240741879851" data-swaction="addToWishlist" data-product-id="7240741879851" data-variant-id="41100220891179" data-product-url="https://needlepoint.com/products/charleston-bag-charm-insert">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #eff9f7; color: #225f64">Exclusive</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/charleston-bag-charm-insert"
            data-id="41100220891179"
            aria-label="Charleston Bag Charm Insert Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/needlepoint-to-go" aria-label=" - Needlepoint To Go" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Needlepoint To Go</a>
      
      

      
      
    </div>
    <a href="/products/charleston-bag-charm-insert" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Charleston Bag Charm Insert</a>
    

<p data-id="price--7240741879851" id="price--7240741879851" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$48.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                      
                    </div>
                  </div>

                  <div data-id="collection-template--26162629541931__collection_slider_EbW4m7-1" class="swiper-pagination-wrap block md:hidden">
                      <div class="swiper-pagination relative mt-[35px]"></div>
                  </div>
                  <div class="max-md:hidden absolute z-[1] top-half -translate-y-half left-0 w-[calc(100%_+_44px)] ml-[-22px] swiper-buttons flex flex-row justify-between items-center gap-30" data-id="collection-template--26162629541931__collection_slider_EbW4m7-1" >
                    <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
                      <span class="visually-hidden">Previous slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.8523" r="22.5" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M23.0697 17.3523L24 18.2826L19.8605 22.422L24 26.5615L23.0697 27.4918L18 22.422L23.0697 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                    <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
                      <span class="visually-hidden">Next slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.5" r="22.5" transform="matrix(-1 0 0 1 45 0.352295)" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M21.9303 17.3523L21 18.2826L25.1395 22.422L21 26.5615L21.9303 27.4918L27 22.422L21.9303 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                  </div>
                
              </div>

              
                <a href="/collections/needlepoint-to-go" class="button mt-40 mx-auto block justify-self-center">Shop All Needlepoint To Go</a>
              
            </div>
          
            
            <div class="collection-slider-wrapper group-wrapper  hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-2" >
              <div class="relative">
                
                  <div class="collection-slider swiper collection-slider-template--26162629541931__collection_slider_EbW4m7 group/slider overflow-visible md:overflow-hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-2">
                    <div class="swiper-wrapper group-[:not(.swiper-initialized)]/slider:overflow-hidden">
                      
                        
                        
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/letter-insert" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=3727" alt="Letter Insert - 1" srcset="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=150 150w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=200 200w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=240 240w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=280 280w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=300 300w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=360 360w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=400 400w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=450 450w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=500 500w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=550 550w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-283119.jpg?v=1763495814&amp;width=600 600w" width="3727" height="3727" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=700" alt="Letter Insert - 2" srcset="//needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=150 150w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=200 200w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=240 240w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=280 280w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=300 300w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=360 360w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=400 400w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=450 450w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=500 500w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=550 550w, //needlepoint.com/cdn/shop/files/letter-insert-printed-canvas-two-sisters-needlepoint-806817.jpg?v=1763477636&amp;width=600 600w" width="700" height="1007" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7267916087339" data-swaction="addToWishlist" data-product-id="7267916087339" data-variant-id="41165559726123" data-product-url="https://needlepoint.com/products/letter-insert">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #4bc4ce; color: #ffffff">Best Sellers</div>
      <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/letter-insert"
            data-id="41165559726123"
            aria-label="Letter Insert Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/letter-insert" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Letter Insert</a>
    

<p data-id="price--7267916087339" id="price--7267916087339" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$35.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/pink-stripe-key-fob" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=700" alt="Pink Stripe Key Fob - 1" srcset="//needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=150 150w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=200 200w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=240 240w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=280 280w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=300 300w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=360 360w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=400 400w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=450 450w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=500 500w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=550 550w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-127769.jpg?v=1752096076&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-439763.jpg?v=1755272226&amp;width=467" alt="Pink Stripe Key Fob - 2" srcset="//needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-439763.jpg?v=1755272226&amp;width=150 150w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-439763.jpg?v=1755272226&amp;width=200 200w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-439763.jpg?v=1755272226&amp;width=240 240w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-439763.jpg?v=1755272226&amp;width=280 280w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-439763.jpg?v=1755272226&amp;width=300 300w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-439763.jpg?v=1755272226&amp;width=360 360w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-439763.jpg?v=1755272226&amp;width=400 400w, //needlepoint.com/cdn/shop/files/pink-stripe-key-fob-printed-canvas-two-sisters-needlepoint-439763.jpg?v=1755272226&amp;width=450 450w" width="467" height="467" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411882065963" data-swaction="addToWishlist" data-product-id="7411882065963" data-variant-id="41886206033963" data-product-url="https://needlepoint.com/products/pink-stripe-key-fob">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/pink-stripe-key-fob"
            data-id="41886206033963"
            aria-label="Pink Stripe Key Fob Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/pink-stripe-key-fob" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Pink Stripe Key Fob</a>
    

<p data-id="price--7411882065963" id="price--7411882065963" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/green-stripe-key-fob" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=700" alt="Green Stripe Key Fob - 1" srcset="//needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=150 150w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=200 200w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=240 240w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=280 280w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=300 300w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=360 360w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=400 400w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=450 450w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=500 500w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=550 550w, //needlepoint.com/cdn/shop/files/green-stripe-key-fob-printed-canvas-two-sisters-needlepoint-247539.jpg?v=1752096039&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411881148459" data-swaction="addToWishlist" data-product-id="7411881148459" data-variant-id="41886202495019" data-product-url="https://needlepoint.com/products/green-stripe-key-fob">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/green-stripe-key-fob"
            data-id="41886202495019"
            aria-label="Green Stripe Key Fob Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/green-stripe-key-fob" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Green Stripe Key Fob</a>
    

<p data-id="price--7411881148459" id="price--7411881148459" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/blue-stripe-key-fob" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=700" alt="Blue Stripe Key Fob - 1" srcset="//needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=150 150w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=200 200w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=240 240w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=280 280w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=300 300w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=360 360w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=400 400w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=450 450w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=500 500w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=550 550w, //needlepoint.com/cdn/shop/files/blue-stripe-key-fob-printed-canvas-two-sisters-needlepoint-737751.jpg?v=1752095999&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411879641131" data-swaction="addToWishlist" data-product-id="7411879641131" data-variant-id="41886195941419" data-product-url="https://needlepoint.com/products/blue-stripe-key-fob">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/blue-stripe-key-fob"
            data-id="41886195941419"
            aria-label="Blue Stripe Key Fob Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/blue-stripe-key-fob" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Blue Stripe Key Fob</a>
    

<p data-id="price--7411879641131" id="price--7411879641131" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/pink-argyle-key-fob" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=700" alt="Pink Argyle Key Fob - 1" srcset="//needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=150 150w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=200 200w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=240 240w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=280 280w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=300 300w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=360 360w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=400 400w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=450 450w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=500 500w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=550 550w, //needlepoint.com/cdn/shop/files/pink-argyle-key-fob-printed-canvas-two-sisters-needlepoint-870133.jpg?v=1752096062&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411877871659" data-swaction="addToWishlist" data-product-id="7411877871659" data-variant-id="41886194139179" data-product-url="https://needlepoint.com/products/pink-argyle-key-fob">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/pink-argyle-key-fob"
            data-id="41886194139179"
            aria-label="Pink Argyle Key Fob Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/pink-argyle-key-fob" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Pink Argyle Key Fob</a>
    

<p data-id="price--7411877871659" id="price--7411877871659" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/khaki-argyle-key-fob" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=700" alt="Khaki Argyle Key Fob - 1" srcset="//needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=150 150w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=200 200w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=240 240w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=280 280w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=300 300w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=360 360w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=400 400w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=450 450w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=500 500w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=550 550w, //needlepoint.com/cdn/shop/files/khaki-argyle-key-fob-printed-canvas-two-sisters-needlepoint-731492.jpg?v=1752096020&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411875315755" data-swaction="addToWishlist" data-product-id="7411875315755" data-variant-id="41886190305323" data-product-url="https://needlepoint.com/products/khaki-argyle-key-fob">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/khaki-argyle-key-fob"
            data-id="41886190305323"
            aria-label="Khaki Argyle Key Fob Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/khaki-argyle-key-fob" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Khaki Argyle Key Fob</a>
    

<p data-id="price--7411875315755" id="price--7411875315755" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/flamingo-key-fob" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=700" alt="Flamingo Key Fob - 1" srcset="//needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=150 150w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=200 200w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=240 240w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=280 280w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=300 300w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=360 360w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=400 400w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=450 450w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=500 500w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=550 550w, //needlepoint.com/cdn/shop/files/flamingo-key-fob-printed-canvas-two-sisters-needlepoint-127555.jpg?v=1752096013&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411872759851" data-swaction="addToWishlist" data-product-id="7411872759851" data-variant-id="41886187520043" data-product-url="https://needlepoint.com/products/flamingo-key-fob">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/flamingo-key-fob"
            data-id="41886187520043"
            aria-label="Flamingo Key Fob Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/flamingo-key-fob" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Flamingo Key Fob</a>
    

<p data-id="price--7411872759851" id="price--7411872759851" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/stitch-stripe-keyfob-multi" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=700" alt="Stitch Stripe Keyfob/Multi - 1" srcset="//needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=150 150w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=200 200w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=240 240w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=280 280w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=300 300w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=360 360w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=400 400w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=450 450w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=500 500w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=550 550w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-114362.jpg?v=1752096006&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=700" alt="Stitch Stripe Keyfob/Multi - 2" srcset="//needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=150 150w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=200 200w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=240 240w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=280 280w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=300 300w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=360 360w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=400 400w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=450 450w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=500 500w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=550 550w, //needlepoint.com/cdn/shop/files/stitch-stripe-keyfobmulti-printed-canvas-two-sisters-needlepoint-654296.jpg?v=1755272242&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411870171179" data-swaction="addToWishlist" data-product-id="7411870171179" data-variant-id="41886182506539" data-product-url="https://needlepoint.com/products/stitch-stripe-keyfob-multi">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/stitch-stripe-keyfob-multi"
            data-id="41886182506539"
            aria-label="Stitch Stripe Keyfob/Multi Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/stitch-stripe-keyfob-multi" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Stitch Stripe Keyfob/Multi</a>
    

<p data-id="price--7411870171179" id="price--7411870171179" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/stitch-stripe-key-fob-cool" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=700" alt="Stitch Stripe Key Fob/Cool - 1" srcset="//needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=150 150w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=200 200w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=240 240w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=280 280w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=300 300w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=360 360w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=400 400w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=450 450w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=500 500w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=550 550w, //needlepoint.com/cdn/shop/files/stitch-stripe-key-fobcool-printed-canvas-two-sisters-needlepoint-136817.jpg?v=1752096066&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411868172331" data-swaction="addToWishlist" data-product-id="7411868172331" data-variant-id="41886180376619" data-product-url="https://needlepoint.com/products/stitch-stripe-key-fob-cool">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/stitch-stripe-key-fob-cool"
            data-id="41886180376619"
            aria-label="Stitch Stripe Key Fob/Cool Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/stitch-stripe-key-fob-cool" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Stitch Stripe Key Fob/Cool</a>
    

<p data-id="price--7411868172331" id="price--7411868172331" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/pink-gingham-key-fob" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=700" alt="Pink Gingham Key Fob - 1" srcset="//needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=150 150w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=200 200w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=240 240w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=280 280w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=300 300w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=360 360w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=400 400w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=450 450w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=500 500w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=550 550w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-481466.jpg?v=1752096058&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=700" alt="Pink Gingham Key Fob - 2" srcset="//needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=150 150w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=200 200w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=240 240w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=280 280w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=300 300w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=360 360w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=400 400w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=450 450w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=500 500w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=550 550w, //needlepoint.com/cdn/shop/files/pink-gingham-key-fob-printed-canvas-two-sisters-needlepoint-396284.jpg?v=1755272250&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411865157675" data-swaction="addToWishlist" data-product-id="7411865157675" data-variant-id="41886176247851" data-product-url="https://needlepoint.com/products/pink-gingham-key-fob">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/pink-gingham-key-fob"
            data-id="41886176247851"
            aria-label="Pink Gingham Key Fob Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/pink-gingham-key-fob" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Pink Gingham Key Fob</a>
    

<p data-id="price--7411865157675" id="price--7411865157675" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/green-gingham-keyfob" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=700" alt="Green Gingham Key Fob - 1" srcset="//needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=150 150w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=200 200w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=240 240w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=280 280w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=300 300w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=360 360w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=400 400w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=450 450w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=500 500w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=550 550w, //needlepoint.com/cdn/shop/files/green-gingham-key-fob-printed-canvas-two-sisters-needlepoint-149312.jpg?v=1752096009&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411862962219" data-swaction="addToWishlist" data-product-id="7411862962219" data-variant-id="41886173790251" data-product-url="https://needlepoint.com/products/green-gingham-keyfob">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/green-gingham-keyfob"
            data-id="41886173790251"
            aria-label="Green Gingham Key Fob Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/green-gingham-keyfob" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Green Gingham Key Fob</a>
    

<p data-id="price--7411862962219" id="price--7411862962219" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/blue-gingham-keyfob" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=700" alt="Blue Gingham Key Fob - 1" srcset="//needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=150 150w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=200 200w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=240 240w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=280 280w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=300 300w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=360 360w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=400 400w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=450 450w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=500 500w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=550 550w, //needlepoint.com/cdn/shop/files/blue-gingham-key-fob-printed-canvas-two-sisters-needlepoint-896934.jpg?v=1752096055&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7411853557803" data-swaction="addToWishlist" data-product-id="7411853557803" data-variant-id="41886152753195" data-product-url="https://needlepoint.com/products/blue-gingham-keyfob">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/blue-gingham-keyfob"
            data-id="41886152753195"
            aria-label="Blue Gingham Key Fob Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/two-sisters-needlepoint-canvases" aria-label=" - Two Sisters Needlepoint" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Two Sisters Needlepoint</a>
      
      

      
      
    </div>
    <a href="/products/blue-gingham-keyfob" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Blue Gingham Key Fob</a>
    

<p data-id="price--7411853557803" id="price--7411853557803" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$55.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                      
                    </div>
                  </div>

                  <div data-id="collection-template--26162629541931__collection_slider_EbW4m7-2" class="swiper-pagination-wrap block md:hidden">
                      <div class="swiper-pagination relative mt-[35px]"></div>
                  </div>
                  <div class="max-md:hidden absolute z-[1] top-half -translate-y-half left-0 w-[calc(100%_+_44px)] ml-[-22px] swiper-buttons flex flex-row justify-between items-center gap-30 hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-2" >
                    <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
                      <span class="visually-hidden">Previous slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.8523" r="22.5" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M23.0697 17.3523L24 18.2826L19.8605 22.422L24 26.5615L23.0697 27.4918L18 22.422L23.0697 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                    <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
                      <span class="visually-hidden">Next slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.5" r="22.5" transform="matrix(-1 0 0 1 45 0.352295)" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M21.9303 17.3523L21 18.2826L25.1395 22.422L21 26.5615L21.9303 27.4918L27 22.422L21.9303 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                  </div>
                
              </div>

              
                <a href="/collections/two-sisters-needlepoint" class="button mt-40 mx-auto block justify-self-center">Shop All two sisters</a>
              
            </div>
          
            
            <div class="collection-slider-wrapper group-wrapper  hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-3" >
              <div class="relative">
                
                  <div class="collection-slider swiper collection-slider-template--26162629541931__collection_slider_EbW4m7 group/slider overflow-visible md:overflow-hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-3">
                    <div class="swiper-wrapper group-[:not(.swiper-initialized)]/slider:overflow-hidden">
                      
                        
                        
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/travel-round-peru" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=3662" alt="Travel Round - Peru with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-peru-with-stitch-guide-painted-canvas-kirk-bradley-180599.jpg?v=1756137059&amp;width=600 600w" width="3662" height="3662" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=700" alt="Travel Round - Peru with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-peru-painted-canvas-kirk-bradley-152498.jpg?v=1756130354&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7340085674027" data-swaction="addToWishlist" data-product-id="7340085674027" data-variant-id="42019313352747" data-product-url="https://needlepoint.com/products/travel-round-peru">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/travel-round-peru"
            data-id="42019313352747"
            aria-label="Travel Round - Peru with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/travel-round-peru" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Peru with Stitch Guide</a>
    

<p data-id="price--7340085674027" id="price--7340085674027" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/travel-round-greenland" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=3529" alt="Travel Round - Greenland with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-greenland-with-stitch-guide-painted-canvas-kirk-bradley-458839.jpg?v=1756137068&amp;width=600 600w" width="3529" height="3529" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=700" alt="Travel Round - Greenland with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-greenland-painted-canvas-kirk-bradley-856244.jpg?v=1756130376&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7340081119275" data-swaction="addToWishlist" data-product-id="7340081119275" data-variant-id="42004641054763" data-product-url="https://needlepoint.com/products/travel-round-greenland">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/travel-round-greenland"
            data-id="42004641054763"
            aria-label="Travel Round - Greenland with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/travel-round-greenland" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Greenland with Stitch Guide</a>
    

<p data-id="price--7340081119275" id="price--7340081119275" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/travel-round-copenhagen" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=3561" alt="Travel Round - Copenhagen with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-with-stitch-guide-painted-canvas-kirk-bradley-161243.jpg?v=1756137089&amp;width=600 600w" width="3561" height="3561" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=700" alt="Travel Round - Copenhagen with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-copenhagen-painted-canvas-kirk-bradley-346106.jpg?v=1756130394&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7340077645867" data-swaction="addToWishlist" data-product-id="7340077645867" data-variant-id="41999760785451" data-product-url="https://needlepoint.com/products/travel-round-copenhagen">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/travel-round-copenhagen"
            data-id="41999760785451"
            aria-label="Travel Round - Copenhagen with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/travel-round-copenhagen" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Copenhagen with Stitch Guide</a>
    

<p data-id="price--7340077645867" id="price--7340077645867" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/travel-round-galapagos-islands-1" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=3384" alt="Travel Round - Galapagos Islands with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-galapagos-islands-with-stitch-guide-painted-canvas-kirk-bradley-258059.jpg?v=1745858471&amp;width=600 600w" width="3384" height="3384" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7340067127339" data-swaction="addToWishlist" data-product-id="7340067127339" data-variant-id="41398648143915" data-product-url="https://needlepoint.com/products/travel-round-galapagos-islands-1">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/travel-round-galapagos-islands-1"
            data-id="41398648143915"
            aria-label="Travel Round - Galapagos Islands with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/travel-round-galapagos-islands-1" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - Galapagos Islands with Stitch Guide</a>
    

<p data-id="price--7340067127339" id="price--7340067127339" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/travel-round-india" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=3656" alt="Travel Round - India with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-819425.jpg?v=1745858473&amp;width=600 600w" width="3656" height="3655" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=2097" alt="Travel Round - India with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=150 150w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=200 200w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=240 240w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=280 280w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=300 300w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=360 360w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=400 400w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=450 450w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=500 500w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=550 550w, //needlepoint.com/cdn/shop/files/travel-round-india-with-stitch-guide-painted-canvas-kirk-bradley-113887.jpg?v=1745858473&amp;width=600 600w" width="2097" height="2291" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7340064210987" data-swaction="addToWishlist" data-product-id="7340064210987" data-variant-id="41398660104235" data-product-url="https://needlepoint.com/products/travel-round-india">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/travel-round-india"
            data-id="41398660104235"
            aria-label="Travel Round - India with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/travel-round-india" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Travel Round - India with Stitch Guide</a>
    

<p data-id="price--7340064210987" id="price--7340064210987" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$78.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/stitch-guide-greenland-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=500" alt="Stitch Guide- Greenland Travel Round - 1" srcset="//needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=150 150w, //needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=200 200w, //needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=240 240w, //needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=280 280w, //needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=300 300w, //needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=360 360w, //needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=400 400w, //needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=450 450w, //needlepoint.com/cdn/shop/files/stitch-guide-greenland-travel-round-stitch-guidescharts-kirk-bradley-233283.jpg?v=1756330925&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7512950472747" data-swaction="addToWishlist" data-product-id="7512950472747" data-variant-id="42116271210539" data-product-url="https://needlepoint.com/products/stitch-guide-greenland-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/stitch-guide-greenland-travel-round"
            data-id="42116271210539"
            aria-label="Stitch Guide- Greenland Travel Round Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/stitch-guide-greenland-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Stitch Guide- Greenland Travel Round</a>
    

<p data-id="price--7512950472747" id="price--7512950472747" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$25.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/stitch-guide-copenhagen-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=500" alt="Stitch Guide- Copenhagen Travel Round - 1" srcset="//needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=150 150w, //needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=200 200w, //needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=240 240w, //needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=280 280w, //needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=300 300w, //needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=360 360w, //needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=400 400w, //needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=450 450w, //needlepoint.com/cdn/shop/files/stitch-guide-copenhagen-travel-round-stitch-guidescharts-kirk-bradley-840091.jpg?v=1756330918&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7512947753003" data-swaction="addToWishlist" data-product-id="7512947753003" data-variant-id="42116267278379" data-product-url="https://needlepoint.com/products/stitch-guide-copenhagen-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/stitch-guide-copenhagen-travel-round"
            data-id="42116267278379"
            aria-label="Stitch Guide- Copenhagen Travel Round Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/stitch-guide-copenhagen-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Stitch Guide- Copenhagen Travel Round</a>
    

<p data-id="price--7512947753003" id="price--7512947753003" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$25.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/stitch-guide-peru-travel-round" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=500" alt="Stitch Guide- Peru Travel Round - 1" srcset="//needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=150 150w, //needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=200 200w, //needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=240 240w, //needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=280 280w, //needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=300 300w, //needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=360 360w, //needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=400 400w, //needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=450 450w, //needlepoint.com/cdn/shop/files/stitch-guide-peru-travel-round-stitch-guidescharts-kirk-bradley-664531.jpg?v=1756330921&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7512944672811" data-swaction="addToWishlist" data-product-id="7512944672811" data-variant-id="42116263149611" data-product-url="https://needlepoint.com/products/stitch-guide-peru-travel-round">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/stitch-guide-peru-travel-round"
            data-id="42116263149611"
            aria-label="Stitch Guide- Peru Travel Round Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/stitch-guide-peru-travel-round" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Stitch Guide- Peru Travel Round</a>
    

<p data-id="price--7512944672811" id="price--7512944672811" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$25.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/hibiscus-eyeglass-case" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=700" alt="Hibiscus Eyeglass Case - 1" srcset="//needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=150 150w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=200 200w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=240 240w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=280 280w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=300 300w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=360 360w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=400 400w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=450 450w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=500 500w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=550 550w, //needlepoint.com/cdn/shop/files/hibiscus-eyeglass-case-printed-canvas-kirk-bradley-585293.jpg?v=1756234291&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7511277830187" data-swaction="addToWishlist" data-product-id="7511277830187" data-variant-id="42112043057195" data-product-url="https://needlepoint.com/products/hibiscus-eyeglass-case">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/hibiscus-eyeglass-case"
            data-id="42112043057195"
            aria-label="Hibiscus Eyeglass Case Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/hibiscus-eyeglass-case" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Hibiscus Eyeglass Case</a>
    

<p data-id="price--7511277830187" id="price--7511277830187" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$95.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/hibiscus-white-green" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=3102" alt="Hibiscus Pillow - White on Green - 1" srcset="//needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=150 150w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=200 200w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=240 240w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=280 280w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=300 300w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=360 360w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=400 400w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=450 450w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=500 500w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=550 550w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-green-printed-canvas-kirk-bradley-107828.jpg?v=1756485655&amp;width=600 600w" width="3102" height="3102" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7511274717227" data-swaction="addToWishlist" data-product-id="7511274717227" data-variant-id="42112028180523" data-product-url="https://needlepoint.com/products/hibiscus-white-green">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/hibiscus-white-green"
            data-id="42112028180523"
            aria-label="Hibiscus Pillow - White on Green Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/hibiscus-white-green" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Hibiscus Pillow - White on Green</a>
    

<p data-id="price--7511274717227" id="price--7511274717227" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$150.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/hibiscus-green-white" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=700" alt="Hibiscus Pillow - Green on White - 1" srcset="//needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=150 150w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=200 200w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=240 240w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=280 280w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=300 300w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=360 360w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=400 400w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=450 450w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=500 500w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=550 550w, //needlepoint.com/cdn/shop/files/hibiscus-green-on-white-printed-canvas-kirk-bradley-165629.jpg?v=1756485675&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7511274324011" data-swaction="addToWishlist" data-product-id="7511274324011" data-variant-id="42112023167019" data-product-url="https://needlepoint.com/products/hibiscus-green-white">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/hibiscus-green-white"
            data-id="42112023167019"
            aria-label="Hibiscus Pillow - Green on White Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/hibiscus-green-white" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Hibiscus Pillow - Green on White</a>
    

<p data-id="price--7511274324011" id="price--7511274324011" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$150.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/hibiscus-white-blue" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=700" alt="Hibiscus Pillow - White on Blue - 1" srcset="//needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=150 150w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=200 200w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=240 240w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=280 280w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=300 300w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=360 360w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=400 400w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=450 450w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=500 500w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=550 550w, //needlepoint.com/cdn/shop/files/hibiscus-white-on-blue-printed-canvas-kirk-bradley-431609.jpg?v=1756485603&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7511273832491" data-swaction="addToWishlist" data-product-id="7511273832491" data-variant-id="42112016351275" data-product-url="https://needlepoint.com/products/hibiscus-white-blue">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/hibiscus-white-blue"
            data-id="42112016351275"
            aria-label="Hibiscus Pillow - White on Blue Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/kirk-bradley" aria-label=" - Kirk & Bradley" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Kirk & Bradley</a>
      
      

      
      
    </div>
    <a href="/products/hibiscus-white-blue" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Hibiscus Pillow - White on Blue</a>
    

<p data-id="price--7511273832491" id="price--7511273832491" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$150.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                      
                    </div>
                  </div>

                  <div data-id="collection-template--26162629541931__collection_slider_EbW4m7-3" class="swiper-pagination-wrap block md:hidden">
                      <div class="swiper-pagination relative mt-[35px]"></div>
                  </div>
                  <div class="max-md:hidden absolute z-[1] top-half -translate-y-half left-0 w-[calc(100%_+_44px)] ml-[-22px] swiper-buttons flex flex-row justify-between items-center gap-30 hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-3" >
                    <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
                      <span class="visually-hidden">Previous slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.8523" r="22.5" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M23.0697 17.3523L24 18.2826L19.8605 22.422L24 26.5615L23.0697 27.4918L18 22.422L23.0697 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                    <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
                      <span class="visually-hidden">Next slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.5" r="22.5" transform="matrix(-1 0 0 1 45 0.352295)" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M21.9303 17.3523L21 18.2826L25.1395 22.422L21 26.5615L21.9303 27.4918L27 22.422L21.9303 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                  </div>
                
              </div>

              
                <a href="/collections/kirk-bradley" class="button mt-40 mx-auto block justify-self-center">Shop All kirk & bradley</a>
              
            </div>
          
            
            <div class="collection-slider-wrapper group-wrapper  hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-4" >
              <div class="relative">
                
                  <div class="collection-slider swiper collection-slider-template--26162629541931__collection_slider_EbW4m7 group/slider overflow-visible md:overflow-hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-4">
                    <div class="swiper-wrapper group-[:not(.swiper-initialized)]/slider:overflow-hidden">
                      
                        
                        
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/merri-mint-rounds-tattersall" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=3069" alt="Merri-mint Round - Multi-Tattersall - Kit - 1" srcset="//needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=150 150w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=200 200w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=240 240w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=280 280w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=300 300w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=360 360w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=400 400w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=450 450w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=500 500w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=550 550w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-multi-tattersall-kits-associated-talents-767027.jpg?v=1707862492&amp;width=600 600w" width="3069" height="3069" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=500" alt="Merri-mint Round - Multi-Tattersall - Kit - 2" srcset="//needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=150 150w, //needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=200 200w, //needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=240 240w, //needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=280 280w, //needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=300 300w, //needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=360 360w, //needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=400 400w, //needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=450 450w, //needlepoint.com/cdn/shop/files/merri-mint-round-multi-tattersall-kit-kits-associated-talents-748036.jpg?v=1746213492&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7203597221931" data-swaction="addToWishlist" data-product-id="7203597221931" data-variant-id="41020225421355" data-product-url="https://needlepoint.com/products/merri-mint-rounds-tattersall">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/merri-mint-rounds-tattersall"
            data-id="41020225421355"
            aria-label="Merri-mint Round - Multi-Tattersall - Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 2">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/merri-mint-rounds-tattersall" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Merri-mint Round - Multi-Tattersall - Kit</a>
    

<p data-id="price--7203597221931" id="price--7203597221931" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$85.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 2">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/merri-mint-rounds-snowflake" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=700" alt="Merri-mint Rounds - Snowflake on Red Kit - 1" srcset="//needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=150 150w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=200 200w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=240 240w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=280 280w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=300 300w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=360 360w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=400 400w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=450 450w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=500 500w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=550 550w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kits-associated-talents-524614.jpg?v=1707862677&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=500" alt="Merri-mint Rounds - Snowflake on Red Kit - 2" srcset="//needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=150 150w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=200 200w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=240 240w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=280 280w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=300 300w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=360 360w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=400 400w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=450 450w, //needlepoint.com/cdn/shop/files/merri-mint-rounds-snowflake-kit-kits-associated-talents-279288.jpg?v=1746213457&amp;width=500 500w" width="500" height="501" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7203593846827" data-swaction="addToWishlist" data-product-id="7203593846827" data-variant-id="41020216803371" data-product-url="https://needlepoint.com/products/merri-mint-rounds-snowflake">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/merri-mint-rounds-snowflake"
            data-id="41020216803371"
            aria-label="Merri-mint Rounds - Snowflake on Red Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/merri-mint-rounds-snowflake" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Merri-mint Rounds - Snowflake on Red Kit</a>
    

<p data-id="price--7203593846827" id="price--7203593846827" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$85.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/red-white-fretwork-heart" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=700" alt="Red/White Fretwork Heart - 1" srcset="//needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=150 150w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=200 200w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=240 240w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=280 280w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=300 300w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=360 360w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=400 400w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=450 450w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=500 500w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=550 550w, //needlepoint.com/cdn/shop/files/redwhite-fretwork-heart-painted-canvas-associated-talents-662201.jpg?v=1756409716&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7184872046635" data-swaction="addToWishlist" data-product-id="7184872046635" data-variant-id="40985749159979" data-product-url="https://needlepoint.com/products/red-white-fretwork-heart">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
<div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-teal text-white">Save 15%</div>
  
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/red-white-fretwork-heart"
            data-id="40985749159979"
            aria-label="Red/White Fretwork Heart Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
    </div>
    <a href="/products/red-white-fretwork-heart" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Red/White Fretwork Heart</a>
    

<p data-id="price--7184872046635" id="price--7184872046635" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
    <span class="line-through opacity-60">$63.00</span>
  
  <span>$53.55</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/baby-blue-gingham-pj-santa" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=700" alt="Baby Blue Gingham PJ Santa - 1" srcset="//needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=150 150w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=200 200w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=240 240w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=280 280w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=300 300w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=360 360w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=400 400w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=450 450w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=500 500w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=550 550w, //needlepoint.com/cdn/shop/products/baby-blue-gingham-pj-santa-painted-canvas-associated-talents-930104.jpg?v=1751039439&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7158949740587" data-swaction="addToWishlist" data-product-id="7158949740587" data-variant-id="40921997082667" data-product-url="https://needlepoint.com/products/baby-blue-gingham-pj-santa">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/baby-blue-gingham-pj-santa"
            data-id="40921997082667"
            aria-label="Baby Blue Gingham PJ Santa Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
    </div>
    <a href="/products/baby-blue-gingham-pj-santa" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Baby Blue Gingham PJ Santa</a>
    

<p data-id="price--7158949740587" id="price--7158949740587" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/merry-stripe-i-ball-ornament-1" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/merry-stripe-i-ball-ornament-painted-canvas-associated-talents-506291.jpg?v=1751039369&amp;width=231" alt="Merry Stripe I Ball Ornament - 1" srcset="//needlepoint.com/cdn/shop/files/merry-stripe-i-ball-ornament-painted-canvas-associated-talents-506291.jpg?v=1751039369&amp;width=150 150w, //needlepoint.com/cdn/shop/files/merry-stripe-i-ball-ornament-painted-canvas-associated-talents-506291.jpg?v=1751039369&amp;width=200 200w" width="231" height="250" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7367716896811" data-swaction="addToWishlist" data-product-id="7367716896811" data-variant-id="41455423979563" data-product-url="https://needlepoint.com/products/merry-stripe-i-ball-ornament-1">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/merry-stripe-i-ball-ornament-1"
            data-id="41455423979563"
            aria-label="Merry Stripe I Ball Ornament Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
    </div>
    <a href="/products/merry-stripe-i-ball-ornament-1" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Merry Stripe I Ball Ornament</a>
    

<p data-id="price--7367716896811" id="price--7367716896811" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$70.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/merry-stripe-ii-ball-ornament-1" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/merry-stripe-ii-ball-ornament-painted-canvas-associated-talents-601364.jpg?v=1751039371&amp;width=228" alt="Merry Stripe II Ball Ornament - 1" srcset="//needlepoint.com/cdn/shop/files/merry-stripe-ii-ball-ornament-painted-canvas-associated-talents-601364.jpg?v=1751039371&amp;width=150 150w, //needlepoint.com/cdn/shop/files/merry-stripe-ii-ball-ornament-painted-canvas-associated-talents-601364.jpg?v=1751039371&amp;width=200 200w" width="228" height="250" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7367715192875" data-swaction="addToWishlist" data-product-id="7367715192875" data-variant-id="41455416442923" data-product-url="https://needlepoint.com/products/merry-stripe-ii-ball-ornament-1">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/merry-stripe-ii-ball-ornament-1"
            data-id="41455416442923"
            aria-label="Merry Stripe II Ball Ornament Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
    </div>
    <a href="/products/merry-stripe-ii-ball-ornament-1" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Merry Stripe II Ball Ornament</a>
    

<p data-id="price--7367715192875" id="price--7367715192875" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$70.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/custom-ball-ornament-yellow" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=700" alt="Custom Ball Ornament - Yellow - 1" srcset="//needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=150 150w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=200 200w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=240 240w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=280 280w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=300 300w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=360 360w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=400 400w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=450 450w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=500 500w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=550 550w, //needlepoint.com/cdn/shop/files/custom-ball-ornament-yellow-painted-canvas-associated-talents-973176.jpg?v=1751039376&amp;width=600 600w" width="700" height="699" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7286386589739" data-swaction="addToWishlist" data-product-id="7286386589739" data-variant-id="41210914701355" data-product-url="https://needlepoint.com/products/custom-ball-ornament-yellow">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
<div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-teal text-white">Save 40%</div>
  
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/custom-ball-ornament-yellow"
            data-id="41210914701355"
            aria-label="Custom Ball Ornament - Yellow Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
    </div>
    <a href="/products/custom-ball-ornament-yellow" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Custom Ball Ornament - Yellow</a>
    

<p data-id="price--7286386589739" id="price--7286386589739" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
    <span class="line-through opacity-60">$75.00</span>
  
  <span>$45.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/harlequin-violets-egg" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=700" alt="Harlequin/Violets Egg - 1" srcset="//needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=150 150w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=200 200w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=240 240w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=280 280w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=300 300w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=360 360w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=400 400w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=450 450w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=500 500w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=550 550w, //needlepoint.com/cdn/shop/products/harlequinviolets-egg-painted-canvas-associated-talents-395880.jpg?v=1751039419&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7159082942507" data-swaction="addToWishlist" data-product-id="7159082942507" data-variant-id="40922237141035" data-product-url="https://needlepoint.com/products/harlequin-violets-egg">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
<div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-teal text-white">Save 15%</div>
  
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/harlequin-violets-egg"
            data-id="40922237141035"
            aria-label="Harlequin/Violets Egg Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
    </div>
    <a href="/products/harlequin-violets-egg" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Harlequin/Violets Egg</a>
    

<p data-id="price--7159082942507" id="price--7159082942507" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
    <span class="line-through opacity-60">$60.00</span>
  
  <span>$51.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/harlequin-patterned-eggs-egg" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=700" alt="Harlequin/Patterned Eggs Egg - 1" srcset="//needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=150 150w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=200 200w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=240 240w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=280 280w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=300 300w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=360 360w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=400 400w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=450 450w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=500 500w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=550 550w, //needlepoint.com/cdn/shop/products/harlequinpatterned-eggs-egg-painted-canvas-associated-talents-202410.jpg?v=1751039421&amp;width=600 600w" width="700" height="699" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7159070425131" data-swaction="addToWishlist" data-product-id="7159070425131" data-variant-id="40922214367275" data-product-url="https://needlepoint.com/products/harlequin-patterned-eggs-egg">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
<div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-teal text-white">Save 15%</div>
  
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/harlequin-patterned-eggs-egg"
            data-id="40922214367275"
            aria-label="Harlequin/Patterned Eggs Egg Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
    </div>
    <a href="/products/harlequin-patterned-eggs-egg" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Harlequin/Patterned Eggs Egg</a>
    

<p data-id="price--7159070425131" id="price--7159070425131" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
    <span class="line-through opacity-60">$60.00</span>
  
  <span>$51.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/bunny-scenic-gingham-egg" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=700" alt="Bunny Scenic/Gingham Egg - 1" srcset="//needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=150 150w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=200 200w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=240 240w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=280 280w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=300 300w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=360 360w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=400 400w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=450 450w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=500 500w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=550 550w, //needlepoint.com/cdn/shop/products/bunny-scenicgingham-egg-painted-canvas-associated-talents-468388.jpg?v=1751039422&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7159000694827" data-swaction="addToWishlist" data-product-id="7159000694827" data-variant-id="40922096828459" data-product-url="https://needlepoint.com/products/bunny-scenic-gingham-egg">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
<div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-teal text-white">Save 15%</div>
  
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/bunny-scenic-gingham-egg"
            data-id="40922096828459"
            aria-label="Bunny Scenic/Gingham Egg Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
    </div>
    <a href="/products/bunny-scenic-gingham-egg" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Bunny Scenic/Gingham Egg</a>
    

<p data-id="price--7159000694827" id="price--7159000694827" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
    <span class="line-through opacity-60">$60.00</span>
  
  <span>$51.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/argyle-pj-santa" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=700" alt="Argyle PJ Santa with Stitch Guide - 1" srcset="//needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=150 150w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=200 200w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=240 240w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=280 280w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=300 300w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=360 360w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=400 400w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=450 450w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=500 500w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=550 550w, //needlepoint.com/cdn/shop/files/argyle-pj-santa-with-stitch-guide-painted-canvas-associated-talents-646485.jpg?v=1751039432&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=700" alt="Argyle PJ Santa with Stitch Guide - 2" srcset="//needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=150 150w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=200 200w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=240 240w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=280 280w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=300 300w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=360 360w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=400 400w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=450 450w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=500 500w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=550 550w, //needlepoint.com/cdn/shop/products/argyle-pj-santa-painted-canvas-associated-talents-806203.jpg?v=1751039432&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7158982574123" data-swaction="addToWishlist" data-product-id="7158982574123" data-variant-id="42157839024171" data-product-url="https://needlepoint.com/products/argyle-pj-santa">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/argyle-pj-santa"
            data-id="42157839024171"
            aria-label="Argyle PJ Santa with Stitch Guide Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 3">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/argyle-pj-santa" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Argyle PJ Santa with Stitch Guide</a>
    

<p data-id="price--7158982574123" id="price--7158982574123" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  From 
  
  <span>$75.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 3">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/gold-bit-on-glen-plaid-insert" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=500" alt="Gold Bit on Glen Plaid Insert - 1" srcset="//needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=150 150w, //needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=200 200w, //needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=240 240w, //needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=280 280w, //needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=300 300w, //needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=360 360w, //needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=400 400w, //needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=450 450w, //needlepoint.com/cdn/shop/products/gold-bit-on-glen-plaid-insert-painted-canvas-associated-talents-277792.jpg?v=1751039459&amp;width=500 500w" width="500" height="500" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7132382527531" data-swaction="addToWishlist" data-product-id="7132382527531" data-variant-id="40843719573547" data-product-url="https://needlepoint.com/products/gold-bit-on-glen-plaid-insert">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/gold-bit-on-glen-plaid-insert"
            data-id="40843719573547"
            aria-label="Gold Bit on Glen Plaid Insert Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/associated-talents" aria-label=" - Associated Talents" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Associated Talents</a>
      
      

      
      
    </div>
    <a href="/products/gold-bit-on-glen-plaid-insert" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Gold Bit on Glen Plaid Insert</a>
    

<p data-id="price--7132382527531" id="price--7132382527531" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                      
                    </div>
                  </div>

                  <div data-id="collection-template--26162629541931__collection_slider_EbW4m7-4" class="swiper-pagination-wrap block md:hidden">
                      <div class="swiper-pagination relative mt-[35px]"></div>
                  </div>
                  <div class="max-md:hidden absolute z-[1] top-half -translate-y-half left-0 w-[calc(100%_+_44px)] ml-[-22px] swiper-buttons flex flex-row justify-between items-center gap-30 hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-4" >
                    <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
                      <span class="visually-hidden">Previous slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.8523" r="22.5" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M23.0697 17.3523L24 18.2826L19.8605 22.422L24 26.5615L23.0697 27.4918L18 22.422L23.0697 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                    <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
                      <span class="visually-hidden">Next slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.5" r="22.5" transform="matrix(-1 0 0 1 45 0.352295)" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M21.9303 17.3523L21 18.2826L25.1395 22.422L21 26.5615L21.9303 27.4918L27 22.422L21.9303 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                  </div>
                
              </div>

              
                <a href="/collections/associated-talents" class="button mt-40 mx-auto block justify-self-center">Shop All associated talents</a>
              
            </div>
          
            
            <div class="collection-slider-wrapper group-wrapper  hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-5" >
              <div class="relative">
                
                  <div class="collection-slider swiper collection-slider-template--26162629541931__collection_slider_EbW4m7 group/slider overflow-visible md:overflow-hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-5">
                    <div class="swiper-wrapper group-[:not(.swiper-initialized)]/slider:overflow-hidden">
                      
                        
                        
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/hydrangea-mini-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=600" alt="Hydrangea Mini Kit - 1" srcset="//needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=150 150w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=200 200w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=240 240w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=280 280w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=300 300w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=360 360w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=400 400w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=450 450w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=500 500w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=550 550w, //needlepoint.com/cdn/shop/products/hydrangea-mini-kit-kits-elizabeth-bradley-design-195356.jpg?v=1756835150&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=1080" alt="Hydrangea Mini Kit - 2" srcset="//needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=150 150w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=200 200w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=240 240w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=280 280w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=300 300w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=360 360w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=400 400w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=450 450w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=500 500w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=550 550w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=600 600w" width="1080" height="1080" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6846991564843" data-swaction="addToWishlist" data-product-id="6846991564843" data-variant-id="40070915719211" data-product-url="https://needlepoint.com/products/hydrangea-mini-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/hydrangea-mini-kit"
            data-id="40070915719211"
            aria-label="Hydrangea Mini Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
    </div>
    <a href="/products/hydrangea-mini-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Hydrangea Mini Kit</a>
    

<p data-id="price--6846991564843" id="price--6846991564843" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/elizabeth-bradley-sunflower-mini-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=600" alt="Mini Sunflower Needlepoint Kit - 1" srcset="//needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=150 150w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=200 200w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=240 240w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=280 280w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=300 300w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=360 360w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=400 400w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=450 450w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=500 500w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=550 550w, //needlepoint.com/cdn/shop/products/mini-sunflower-needlepoint-kit-kits-elizabeth-bradley-design-blue-825996.jpg?v=1756835531&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=500" alt="Mini Sunflower Needlepoint Kit - 2" srcset="//needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=150 150w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=200 200w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=240 240w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=280 280w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=300 300w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=360 360w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=400 400w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=450 450w, //needlepoint.com/cdn/shop/products/sunflower-needlepoint-kit-kits-elizabeth-bradley-design-941042.jpg?v=1756835531&amp;width=500 500w" width="500" height="499" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_1366701473835" data-swaction="addToWishlist" data-product-id="1366701473835" data-variant-id="39992090296363" data-product-url="https://needlepoint.com/products/elizabeth-bradley-sunflower-mini-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/elizabeth-bradley-sunflower-mini-kit"
            data-id="39992090296363"
            aria-label="Mini Sunflower Needlepoint Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
    </div>
    <a href="/products/elizabeth-bradley-sunflower-mini-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Mini Sunflower Needlepoint Kit</a>
    

<p data-id="price--1366701473835" id="price--1366701473835" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/iris-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=700" alt="Iris Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=150 150w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=200 200w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=240 240w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=280 280w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=300 300w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=360 360w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=400 400w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=450 450w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=500 500w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=550 550w, //needlepoint.com/cdn/shop/files/iris-starter-kit-kits-elizabeth-bradley-design-513732.jpg?v=1756835193&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=1200" alt="Iris Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=150 150w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=200 200w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=240 240w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=280 280w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=300 300w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=360 360w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=400 400w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=450 450w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=500 500w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=550 550w, //needlepoint.com/cdn/shop/products/iris-starter-kit-needlecraft-kits-elizabeth-bradley-design-815517.jpg?v=1756835194&amp;width=600 600w" width="1200" height="1200" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6620881584171" data-swaction="addToWishlist" data-product-id="6620881584171" data-variant-id="39467948933163" data-product-url="https://needlepoint.com/products/iris-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/iris-starter-kit"
            data-id="39467948933163"
            aria-label="Iris Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/iris-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Iris Starter Kit</a>
    

<p data-id="price--6620881584171" id="price--6620881584171" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/poppy-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=700" alt="Poppy Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=150 150w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=200 200w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=240 240w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=280 280w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=300 300w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=360 360w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=400 400w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=450 450w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=500 500w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=550 550w, //needlepoint.com/cdn/shop/files/poppy-starter-kit-kits-elizabeth-bradley-design-260277.jpg?v=1756835192&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=1200" alt="Poppy Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=150 150w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=200 200w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=240 240w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=280 280w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=300 300w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=360 360w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=400 400w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=450 450w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=500 500w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=550 550w, //needlepoint.com/cdn/shop/products/poppy-starter-kit-needlecraft-kits-elizabeth-bradley-design-132540.jpg?v=1756835192&amp;width=600 600w" width="1200" height="1200" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6620882534443" data-swaction="addToWishlist" data-product-id="6620882534443" data-variant-id="39467950702635" data-product-url="https://needlepoint.com/products/poppy-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/poppy-starter-kit"
            data-id="39467950702635"
            aria-label="Poppy Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/poppy-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Poppy Starter Kit</a>
    

<p data-id="price--6620882534443" id="price--6620882534443" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/holly-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=700" alt="Holly Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=150 150w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=200 200w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=240 240w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=280 280w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=300 300w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=360 360w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=400 400w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=450 450w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=500 500w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=550 550w, //needlepoint.com/cdn/shop/files/holly-starter-kit-kits-elizabeth-bradley-design-946133.jpg?v=1756835154&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=600" alt="Holly Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=150 150w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=200 200w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=240 240w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=280 280w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=300 300w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=360 360w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=400 400w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=450 450w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=500 500w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=550 550w, //needlepoint.com/cdn/shop/products/holly-starter-kit-kits-elizabeth-bradley-design-876278.jpg?v=1756835154&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6846991466539" data-swaction="addToWishlist" data-product-id="6846991466539" data-variant-id="40070915620907" data-product-url="https://needlepoint.com/products/holly-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/holly-starter-kit"
            data-id="40070915620907"
            aria-label="Holly Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/holly-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Holly Starter Kit</a>
    

<p data-id="price--6846991466539" id="price--6846991466539" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/bluebell-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=700" alt="Bluebell Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=150 150w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=200 200w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=240 240w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=280 280w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=300 300w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=360 360w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=400 400w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=450 450w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=500 500w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=550 550w, //needlepoint.com/cdn/shop/files/bluebell-starter-kit-kits-elizabeth-bradley-design-504234.jpg?v=1756835187&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=600" alt="Bluebell Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=150 150w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=200 200w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=240 240w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=280 280w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=300 300w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=360 360w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=400 400w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=450 450w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=500 500w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=550 550w, //needlepoint.com/cdn/shop/products/bluebell-starter-kit-needlecraft-kits-elizabeth-bradley-design-485815.jpg?v=1756835187&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6623739674667" data-swaction="addToWishlist" data-product-id="6623739674667" data-variant-id="39474067374123" data-product-url="https://needlepoint.com/products/bluebell-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/bluebell-starter-kit"
            data-id="39474067374123"
            aria-label="Bluebell Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/bluebell-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Bluebell Starter Kit</a>
    

<p data-id="price--6623739674667" id="price--6623739674667" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/lily-of-the-valley-mini-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=1800" alt="Lily of the Valley Mini Kit - 1" srcset="//needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=150 150w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=200 200w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=240 240w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=280 280w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=300 300w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=360 360w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=400 400w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=450 450w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=500 500w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=550 550w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-223948.jpg?v=1776179434&amp;width=600 600w" width="1800" height="1799" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=1800" alt="Lily of the Valley Mini Kit - 2" srcset="//needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=150 150w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=200 200w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=240 240w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=280 280w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=300 300w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=360 360w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=400 400w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=450 450w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=500 500w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=550 550w, //needlepoint.com/cdn/shop/products/lily-of-the-valley-mini-kit-kits-elizabeth-bradley-design-381337.jpg?v=1776179434&amp;width=600 600w" width="1800" height="1800" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7060952055851" data-swaction="addToWishlist" data-product-id="7060952055851" data-variant-id="40666372243499" data-product-url="https://needlepoint.com/products/lily-of-the-valley-mini-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/lily-of-the-valley-mini-kit"
            data-id="40666372243499"
            aria-label="Lily of the Valley Mini Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
    </div>
    <a href="/products/lily-of-the-valley-mini-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Lily of the Valley Mini Kit</a>
    

<p data-id="price--7060952055851" id="price--7060952055851" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/lily-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=3477" alt="Lily Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=150 150w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=200 200w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=240 240w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=280 280w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=300 300w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=360 360w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=400 400w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=450 450w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=500 500w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=550 550w, //needlepoint.com/cdn/shop/files/lily-starter-kit-kits-elizabeth-bradley-design-356798.jpg?v=1756835190&amp;width=600 600w" width="3477" height="3477" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=600" alt="Lily Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=150 150w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=200 200w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=240 240w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=280 280w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=300 300w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=360 360w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=400 400w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=450 450w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=500 500w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=550 550w, //needlepoint.com/cdn/shop/products/lily-starter-kit-needlecraft-kits-elizabeth-bradley-design-733469.jpg?v=1756835190&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6623720177707" data-swaction="addToWishlist" data-product-id="6623720177707" data-variant-id="39474041323563" data-product-url="https://needlepoint.com/products/lily-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/lily-starter-kit"
            data-id="39474041323563"
            aria-label="Lily Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/lily-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Lily Starter Kit</a>
    

<p data-id="price--6623720177707" id="price--6623720177707" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/tulip-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=700" alt="Tulip Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=150 150w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=200 200w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=240 240w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=280 280w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=300 300w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=360 360w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=400 400w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=450 450w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=500 500w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=550 550w, //needlepoint.com/cdn/shop/files/tulip-starter-kit-kits-elizabeth-bradley-design-455654.jpg?v=1756835189&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=600" alt="Tulip Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=150 150w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=200 200w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=240 240w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=280 280w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=300 300w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=360 360w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=400 400w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=450 450w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=500 500w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=550 550w, //needlepoint.com/cdn/shop/products/tulip-starter-kit-needlecraft-kits-elizabeth-bradley-design-605135.jpg?v=1756835189&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6623736758315" data-swaction="addToWishlist" data-product-id="6623736758315" data-variant-id="39474064293931" data-product-url="https://needlepoint.com/products/tulip-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/tulip-starter-kit"
            data-id="39474064293931"
            aria-label="Tulip Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/tulip-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Tulip Starter Kit</a>
    

<p data-id="price--6623736758315" id="price--6623736758315" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/hibiscus-mini-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=600" alt="Hibiscus Mini Kit - 1" srcset="//needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=150 150w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=200 200w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=240 240w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=280 280w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=300 300w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=360 360w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=400 400w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=450 450w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=500 500w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=550 550w, //needlepoint.com/cdn/shop/products/hibiscus-mini-kit-kits-elizabeth-bradley-design-230080.jpg?v=1756835148&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=1080" alt="Hibiscus Mini Kit - 2" srcset="//needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=150 150w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=200 200w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=240 240w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=280 280w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=300 300w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=360 360w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=400 400w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=450 450w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=500 500w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=550 550w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=600 600w" width="1080" height="1080" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6846991597611" data-swaction="addToWishlist" data-product-id="6846991597611" data-variant-id="40070915751979" data-product-url="https://needlepoint.com/products/hibiscus-mini-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/hibiscus-mini-kit"
            data-id="40070915751979"
            aria-label="Hibiscus Mini Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
    </div>
    <a href="/products/hibiscus-mini-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Hibiscus Mini Kit</a>
    

<p data-id="price--6846991597611" id="price--6846991597611" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/primula-starter-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=700" alt="Primula Starter Kit - 1" srcset="//needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=150 150w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=200 200w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=240 240w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=280 280w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=300 300w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=360 360w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=400 400w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=450 450w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=500 500w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=550 550w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-132336.jpg?v=1756835101&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=700" alt="Primula Starter Kit - 2" srcset="//needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=150 150w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=200 200w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=240 240w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=280 280w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=300 300w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=360 360w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=400 400w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=450 450w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=500 500w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=550 550w, //needlepoint.com/cdn/shop/files/primula-starter-kit-kits-elizabeth-bradley-design-442233.jpg?v=1756835101&amp;width=600 600w" width="700" height="700" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_7262387175467" data-swaction="addToWishlist" data-product-id="7262387175467" data-variant-id="41147244314667" data-product-url="https://needlepoint.com/products/primula-starter-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          











  <div class="absolute -top-10 left-10 -translate-y-full flex gap-[8px] justify-start items-start flex-wrap">
    
        <div class="px-[10px] py-[6px] inline-block text-tag uppercase font-sans bg-sky-blue" style="background-color: #c9eed3; color: #225f64">Beginner Friendly</div>
      
  </div>



          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/primula-starter-kit"
            data-id="41147244314667"
            aria-label="Primula Starter Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
        <div class="text-m-tag md:text-link-sm md:flex hidden flex-row justify-start items-center gap-[6px]" data-skill="Level 1">
          <span class="text-dark-grey">Skill</span>
          
          <span class="flex flex-row justify-start items-center gap-[6px]">
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
              <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
              </svg>
            
          </span>
        </div>
      
    </div>
    <a href="/products/primula-starter-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Primula Starter Kit</a>
    

<p data-id="price--7262387175467" id="price--7262387175467" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$45.00</span>
</p>


    
    
      <div class="text-m-tag md:text-link-sm mt-[9px] flex md:hidden flex-row justify-center items-center gap-[6px]" data-skill="Level 1">
        <span class="text-dark-grey uppercase">Skill</span>
        
        <span class="flex flex-row justify-start items-center gap-[6px]">
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#00A7B5"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
            <svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <rect width="8" height="8" rx="4" transform="matrix(1 1.74846e-07 1.74846e-07 -1 0 8)" fill="#C9EDEE"/>
            </svg>
          
        </span>

        
      </div>
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                          
                          <div class="swiper-slide">
                            <div data-animate>
                              



<product-card class="group/card block relative">
  <div class="group/image relative border border-beige-medium overflow-clip">
    <a href="/products/magnolia-mini-kit" class="block">
      
      




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=600" alt="Magnolia Mini Kit - 1" srcset="//needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=150 150w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=200 200w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=240 240w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=280 280w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=300 300w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=360 360w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=400 400w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=450 450w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=500 500w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=550 550w, //needlepoint.com/cdn/shop/products/magnolia-mini-kit-kits-elizabeth-bradley-design-885020.jpg?v=1756835151&amp;width=600 600w" width="600" height="600" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-image w-full aspect-square object-cover" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  



      
        <div class="inset opacity-0 transition-opacity group-hover/image:opacity-100">
          




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=1080" alt="Magnolia Mini Kit - 2" srcset="//needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=150 150w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=200 200w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=240 240w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=280 280w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=300 300w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=360 360w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=400 400w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=450 450w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=500 500w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=550 550w, //needlepoint.com/cdn/shop/files/lavender-basket-mini-needlepoint-kit-kits-elizabeth-bradley-design-945476.png?v=1778787406&amp;width=600 600w" width="1080" height="1080" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 product-card-hover size-full inset object-cover hidden md:block" fetchpriority="low" sizes="(min-width: 1024px) calc((100vw - 160px) / 4), (min-width: 768px) calc((100vw - 70px) / 3), calc((100vw - 55px) / 2)" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


        </div>
      
    </a>

    <div class="absolute top-10 right-10">
      <!-- Swym Wishlist Plus EPI Button-->
        <button data-with-epi="true" class="!bg-ice !p-5 rounded-full swym-button swym-button-custom swym-add-to-wishlist-view-product product_6846991532075" data-swaction="addToWishlist" data-product-id="6846991532075" data-variant-id="40070915686443" data-product-url="https://needlepoint.com/products/magnolia-mini-kit">
          <span class="visually-hidden text-black">Wishlist</span>
        </button>
      <!-- Swym Wishlist Plus EPI Button-->
    </div>

    <div class="absolute left-0 right-0 bottom-0">
      

      
        <div class="p-0 hidden md:block translate-y-full group-hover/image:translate-y-0 transition-all">
          













          <button
            class="group/quickview w-full button py-[16px] opacity-0 transition-all relative group-hover/image:opacity-100"
            data-quick-view
            data-href="/products/magnolia-mini-kit"
            data-id="40070915686443"
            aria-label="Magnolia Mini Kit Quick View"
          >
            <span class="transition-opacity group-[.loading]/quickview:opacity-0 flex flex-row justify-center items-center gap-10">Quick View 
    <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.86051 0.791504V12.7915H5.11591V0.791504H6.86051ZM0 5.9915H12V7.5915H0V5.9915Z" fill="currentColor"/>
    </svg>
  
</span>
            <span class="inset flex items-center justify-center transition-opacity opacity-0 group-[.loading]/quickview:opacity-100"><svg class="w-20 animate-rotator" focusable="false" role="presentation" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
  <circle class="stroke-current origin-center animate-dash" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke-dasharray: 280;stroke-dashoffset: 0;"></circle>
</svg></span>
          </button>
        </div>
            
    </div>
  </div>

  <div class="mt-[9px] md:mt-[16px] md:text-left text-center">
    <div class="flex flex-row justify-center md:justify-between items-center gap-10 mb-[9px] md:mb-10">
      
      
        <a href="/collections/elizabeth-bradley-design-needlepoint-kits" aria-label=" - Elizabeth Bradley Design" class="md:text-body-2 text-m-body-6 text-dark-grey hover:underline min-h-6 min-w-6">Elizabeth Bradley Design</a>
      
      

      
      
    </div>
    <a href="/products/magnolia-mini-kit" class="text-sh4 md:text-sh3"  style="word-wrap: break-word;">Magnolia Mini Kit</a>
    

<p data-id="price--6846991532075" id="price--6846991532075" class="price flex items-center gap-5 mt-[9px] md:mt-10 justify-center md:justify-start text-m-body-6 md:text-sh4 font-normal">
  
  
  <span>$75.00</span>
</p>


    
    

    
    

    

    
  </div>
</product-card>
                            </div>
                          </div>
                        
                      
                    </div>
                  </div>

                  <div data-id="collection-template--26162629541931__collection_slider_EbW4m7-5" class="swiper-pagination-wrap block md:hidden">
                      <div class="swiper-pagination relative mt-[35px]"></div>
                  </div>
                  <div class="max-md:hidden absolute z-[1] top-half -translate-y-half left-0 w-[calc(100%_+_44px)] ml-[-22px] swiper-buttons flex flex-row justify-between items-center gap-30 hidden" data-id="collection-template--26162629541931__collection_slider_EbW4m7-5" >
                    <button class="swiper-button swiper-button-prev" type="button" tabindex="0" aria-label="Previous slide">
                      <span class="visually-hidden">Previous slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.8523" r="22.5" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M23.0697 17.3523L24 18.2826L19.8605 22.422L24 26.5615L23.0697 27.4918L18 22.422L23.0697 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                    <button class="swiper-button swiper-button-next" type="button" tabindex="0" aria-label="Next slide">
                      <span class="visually-hidden">Next slide</span>
                      
    <svg width="45" height="46" viewBox="0 0 45 46" fill="none" xmlns="http://www.w3.org/2000/svg">
      <circle cx="22.5" cy="22.5" r="22.5" transform="matrix(-1 0 0 1 45 0.352295)" fill="#C9EDEE"/>
      <path fill-rule="evenodd" clip-rule="evenodd" d="M21.9303 17.3523L21 18.2826L25.1395 22.422L21 26.5615L21.9303 27.4918L27 22.422L21.9303 17.3523Z" fill="#2A2E3F"/>
    </svg>

  

                    </button>
                  </div>
                
              </div>

              
                <a href="/collections/elizabeth-bradley-design-needlepoint-kits" class="button mt-40 mx-auto block justify-self-center">Shop All elizabeth bradley</a>
              
            </div>
          
        </div>
      </div>
    </div>
  </div>
</collection-slider>

<style>
  

  /* Style before slider has loaded */
  .collection-slider-template--26162629541931__collection_slider_EbW4m7:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-auto-rows: 0;
    gap: 20px;
  }

  @media screen and (max-width: 767px) {
    .collection-slider-template--26162629541931__collection_slider_EbW4m7:not(.swiper-initialized) .swiper-wrapper {
      grid-template-columns: repeat(2, 1fr);
    }
  }
</style>

</div><div id="shopify-section-template--26162629541931__before_after_WChLdp" class="shopify-section">

<div class="
    flex flex-col gap-30 md:gap-20 text-text
    
     md:flex-row-reverse
  "
   style="background-color: #eff9f7"
>
  <div class="w-full md:w-1/2 h-full overflow-clip">
    <before-after style="--position: 50%;">
      <div class="-mx-20 overflow-hidden md:m-0 md:overflow-visible">
        <div class="relative aspect-square overflow-clip">
          <div class="size-full" data-after>
            




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=1300" alt="Shell 1 - " srcset="//needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=700 700w, //needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=750 750w, //needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=800 800w, //needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=850 850w, //needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=900 900w, //needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=950 950w, //needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/sea_1ad90f6c-612c-41e6-8c3d-ddbb6ed92b48.jpg?v=1780328291&amp;width=1300 1300w" width="1300" height="1300" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 size-full object-cover" fetchpriority="low" sizes="1000px" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


          </div>
          <p class="absolute bg-teal bottom-15 right-20 text-white py-[6px] px-10 text-tag text-[10px] uppercase">After</p>
          <div class="h-full absolute top-0 left-0 bg-cover bg-left bg-no-repeat rounded-tl-[10px] rounded-bl-[10px] w-full" style="clip-path: polygon(0 0, var(--position) 0%, var(--position) 100%, 0% 100%);" data-before>
            <div class="size-full absolute top-0 left-0">
              




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=2989" alt="Shell 2 - " srcset="//needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=700 700w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=750 750w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=800 800w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=850 850w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=900 900w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=950 950w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=1400 1400w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=1500 1500w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=1600 1600w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=1800 1800w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=2000 2000w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=2200 2200w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=2400 2400w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=2600 2600w, //needlepoint.com/cdn/shop/files/Shell_2.jpg?v=1780329090&amp;width=2800 2800w" width="2989" height="2989" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 size-full absolute top-0 bottom-0 left-0 object-cover" fetchpriority="low" sizes="1000px" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


            </div>
            <p class="absolute bg-teal left-20 bottom-15 text-white py-[6px] px-10 text-tag text-[10px] uppercase">Before</p>
          </div>
          <div class="h-full absolute top-0 left-[var(--position)] translate-x-[-3px] border-r-[3px] md:border-r-[6px] border-sky-blue z-[1]"></div>
          <input
            type="range"
            min="0"
            max="100"
            value="50"
            aria-label="Percentage of before photo shown"
            class="before-after-slider absolute left-0 right-0 top-half -translate-y-half z-20"
          />
        </div>
        </div>
    </before-after>
  </div>
  <div class="mx-60 flex justify-center items-center text-center md:w-1/2 md:mx-0 md:my-40 pt-10 pb-50 md:p-0">
    <div class="max-w-custom w-full flex flex-col gap-10 md:gap-20" style="--width: 450px;">
      <p
  class="text-m-sh1 md:text-sh3 "
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  SHELL COASTERS
</p>


<h2
  class="text-m-h1 md:text-h1"
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  Discover your next project
</h2>


<div
  class="rte  text-m-body-1 md:text-body-1"
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  <p>From canvas to keepsake</p>
</div>



<div
  style="
  --mt: 0px;
  --mb: 0px;
  --mt-m: 0px;
  --mb-m: 0px;
"
  class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] "
  data-animate 
>
  
    <a href="/collections/shell-coasters" class="w-fit button  ">
      Shop Now&nbsp;<svg class="inline mr-10 align-middle mb-[3px]" width="7" height="11" viewBox="0 0 7 11" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path fill-rule="evenodd" clip-rule="evenodd" d="M1.43027 0.430176L0.5 1.36044L4.63946 5.49991L0.5 9.63937L1.43027 10.5696L6.5 5.49991L1.43027 0.430176Z" fill="currentColor"/>
        </svg></a>
  
</div>


    </div>
  </div>
</div>

<style data-shopify>
  .before-after-slider {
    -webkit-appearance:none;
    -moz-appearance:none;
    position: absolute;
    top: 50%; left: -19px;
    transform: translateY(-50%);
    background-color: transparent;
    width: calc(100% + 38px); 
    z-index: 2;
  }

  .before-after-slider:focus,
  .before-after-slider:outline {
    border: none;
    outline: none;
  }

  .before-after-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    border: none;
    height: 45px;
    width: 45px;
    cursor: pointer;
    border-radius: 50%;
    background-color: white;
    background-image: url("data:image/svg+xml,%3Csvg width='7' height='11' viewBox='0 0 7 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1.86777 0.430176L0.9375 1.36044L5.07696 5.49991L0.9375 9.63937L1.86777 10.5696L6.9375 5.49991L1.86777 0.430176Z' fill='%232A2E3F'/%3E%3C/svg%3E%0A");
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0px 4px 4px 0px #00000026;
  }
</style>

</div><div id="shopify-section-template--26162629541931__image_text_Tj8gLz" class="shopify-section">

<div class="
    flex flex-col gap-0  text-text
    
     mb-0 md:mb-80
     md:flex-row
  "
   style="background-color: #eff9f7"
>
  <div class="relative overflow-clip md:max-w-[57%] aspect-[1.27/1] h-auto w-full">
    
      <div class="sticky-bar  aspect-auto h-auto ">
        
        




  
<div class="image group/image "><img src="//needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=1650" alt="Visit Us In Store - " srcset="//needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=700 700w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=750 750w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=800 800w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=850 850w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=900 900w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=950 950w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=1000 1000w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=1100 1100w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=1200 1200w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=1300 1300w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=1400 1400w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=1500 1500w, //needlepoint.com/cdn/shop/files/Image_2_016f91f8-6c60-4ad2-85f2-b791bf38be8b.png?v=1753221111&amp;width=1600 1600w" width="1650" height="1200" loading="lazy" class="opacity-0 transition-opacity group-[.loaded]/image:opacity-100 size-full object-contain" fetchpriority="low" sizes="100vw" onload="this.closest(&#39;.image&#39;).classList.add(&#39;loaded&#39;)"></div>

  


      </div>
    
  </div>
  <div class="flex justify-center items-center text-center md:w-[43%]   py-20 md:py-30   px-20 md:px-30 ">
    <div class="pattern-border w-full h-full flex justify-center items-center text-center p-20  ">
    <div class="max-w-custom w-full flex flex-col gap-10 md:gap-20 my-40 md:my-60" style="--width: 380px;">
      <p
  class="text-m-sh1 md:text-sh1 "
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  Our locations
</p>


<h2
  class="text-m-h1 md:text-h1"
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  Visit Us In-Store!
</h2>


<div
  class="rte  text-m-body-1 md:text-body-1"
  style="margin-top: 0px;margin-bottom: 0px;"
  data-animate 
>
  <p>Shop for needlepoint accessories and join us for classes at our two brick-and-mortar locations in Raleigh, NC and Charleston, SC.</p>
</div>



<div
  style="
  --mt: 0px;
  --mb: 0px;
  --mt-m: 0px;
  --mb-m: 0px;
"
  class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] "
  data-animate 
>
  
    <a href="/pages/our-stores" class="w-fit button  ">
      Our Stores&nbsp;<svg class="inline mr-10 align-middle mb-[3px]" width="7" height="11" viewBox="0 0 7 11" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path fill-rule="evenodd" clip-rule="evenodd" d="M1.43027 0.430176L0.5 1.36044L4.63946 5.49991L0.5 9.63937L1.43027 10.5696L6.5 5.49991L1.43027 0.430176Z" fill="currentColor"/>
        </svg></a>
  
</div>




<div data-animate  style="  --mt-m: 0px;   --mb-m: 0px;   --gap-m: 16px;   --mt: 30px;   --mb: 0px;   --gap: 40px;   --max-w: 0px;  --max-w-m: 0px;"
  class=" flex  flex-col justify-center items-center text-center md:flex-row md:items-center md:justify-center md:text-center   mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] gap-[var(--gap-m)] md:gap-[var(--gap)]  "
>
  

<div
  style="
  --mt: 0px;
  --mb: 0px;
  --mt-m: 0px;
  --mb-m: 0px;
"
  class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] "
  data-animate 
>
  
    <a href="/pages/events" class="group/text-link py-10 inline-block text-m-sh4 md:text-cta uppercase relative text-cerulean">
  In-Person Classes
  
    <div class="absolute left-0 right-0 bottom-0 border-b-1 border-current transition-position group-hover/text-link:bottom-5"></div>
  
</a>
  
</div>



<div
  style="
  --mt: 0px;
  --mb: 0px;
  --mt-m: 0px;
  --mb-m: 0px;
"
  class="mt-[var(--mt-m)] mb-[var(--mb-m)] md:mt-[var(--mt)] md:mb-[var(--mb)] "
  data-animate 
>
  
    <a href="/collections/kits-online-classes" class="group/text-link py-10 inline-block text-m-sh4 md:text-cta uppercase relative text-cerulean">
  Online Classes
  
    <div class="absolute left-0 right-0 bottom-0 border-b-1 border-current transition-position group-hover/text-link:bottom-5"></div>
  
</a>
  
</div>


</div>


    </div>
    </div>
  </div>
</div>

</div><section id="shopify-section-template--26162629541931__1771251292d738ac0b" class="shopify-section spaced-section"><div style="--bg: #fbfbf8;" class="bg-[var(--bg)] page-width">
  
    <div id="shopify-block-AM1hNRm8xV0ZqaWNlS__instafeed_app_block_HAAK7D" class="shopify-block shopify-app-block">



  











<style>
      div[id*="instafeed_app_block"] {
        width: 100%;
      }
      div.shopify-section:has(> [id*="instafeed_app_block"]) {
      width: 100%;
      }
      body #insta-feed {
          

          
          margin-bottom: 0px!important;
          

          

          

          
          text-align: center;
      }
      

      
      
</style>











  <div id="insta-feed"></div>
  <script>
    if (typeof instafeedLocalTitle === 'undefined') var instafeedLocalTitle = "";
    
  </script>










</div>
  
</div>


</section>
    </main><!-- BEGIN sections: footer-group -->
<div id="shopify-section-sections--26162626854955__1772044993a0093f6d" class="shopify-section shopify-section-group-footer-group"><div id="shopify-block-AYWRxc2RBcVVBKytmO__ai_gen_block_f028b21_AjPidQ" class="shopify-block">


<style data-shopify>
  .ai-nosto-container-aywrxc2rbcvvbkytmoaigenblockf028b21ajpidq {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0px auto 0px;
    padding: 0px 0px;
  }

  .nosto_element {
    min-height: 0px;
  }

  @media screen and (max-width: 749px) {
    .ai-nosto-container-aywrxc2rbcvvbkytmoaigenblockf028b21ajpidq {
      width: 100%;
      padding: 0px 0px;
    }
  }
</style>

<nosto-placeholder-aywrxc2rbcvvbkytmoaigenblockf028b21ajpidq
  class="ai-nosto-container-aywrxc2rbcvvbkytmoaigenblockf028b21ajpidq"
  
>
  <div class="nosto_element" id="categorypage-nosto-1"></div>
</nosto-placeholder-aywrxc2rbcvvbkytmoaigenblockf028b21ajpidq>

<script>
  (function() {
    class NostoPlaceholderaywrxc2rbcvvbkytmoaigenblockf028b21ajpidq extends HTMLElement {
      constructor() {
        super();
      }

      connectedCallback() {
        if (window.nostojs) {
          window.nostojs(function(api) {
            api.loadRecommendations();
          });
        }
      }
    }

    customElements.define('nosto-placeholder-aywrxc2rbcvvbkytmoaigenblockf028b21ajpidq', NostoPlaceholderaywrxc2rbcvvbkytmoaigenblockf028b21ajpidq);
  })();
</script>


</div>


</div><div id="shopify-section-sections--26162626854955__text_blocks_AC4LRq" class="shopify-section shopify-section-group-footer-group"><div class="bg-ice text-cerulean pt-10 pb-30">
  <div class="page-width flex flex-col justify-center items-center gap-30 md:flex-row lg:gap-60">
    
      <div  >
        <div class="flex flex-row justify-start items-center gap-20 text-left md:block md:max-w-custom w-full md:mx-auto md:text-center" style="--width: 211px;">
          
            <div class="[&_svg]:mx-auto"><svg width="67" height="67" viewBox="0 0 67 67" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M59.878 32.1175L59.852 31.0374C59.852 30.2739 59.5802 29.6192 58.8593 29.3686L46.5305 25.0975C46.157 24.9675 45.7481 24.9675 45.3746 25.0975L33.5351 29.2008C32.0318 29.7208 31.9468 30.6001 31.8002 31.0397C31.7797 31.0996 31.7545 31.2178 31.7246 31.3943C31.6962 31.6543 31.7033 31.6897 31.7057 31.8717L31.8238 48.8616C31.8286 49.5707 32.2824 50.2018 32.9513 50.4358L45.1359 54.6809C45.3888 54.7684 45.6536 54.8133 45.9183 54.8133C46.2043 54.8133 46.4927 54.7613 46.7645 54.6573L58.8309 50.0576C59.5636 49.7787 60.0505 49.0625 60.0435 48.2778L59.8804 32.1199L59.878 32.1175ZM44.9326 52.4804L33.8329 48.6134L33.7242 33.1434L39.6239 35.0816L44.9326 36.9819V52.4827V52.4804ZM45.9632 35.0461L40.2786 33.1788L34.3317 31.0515L45.9537 27.0239L57.3843 30.9854L45.9632 35.0461ZM46.9417 52.4355V36.8354L57.876 33.0441L58.0296 48.2093L46.9417 52.4355Z" fill="#00A7B5"/>
<path d="M30.883 52.022H19.528C18.9725 52.022 18.5234 52.4711 18.5234 53.0265C18.5234 53.582 18.9725 54.0311 19.528 54.0311H30.883C31.4384 54.0311 31.8875 53.582 31.8875 53.0265C31.8875 52.4711 31.4384 52.022 30.883 52.022Z" fill="#00A7B5"/>
<path d="M17.5827 35.306H28.9376C29.4931 35.306 29.9422 34.8569 29.9422 34.3014C29.9422 33.746 29.4931 33.2969 28.9376 33.2969H17.5827C17.0272 33.2969 16.5781 33.746 16.5781 34.3014C16.5781 34.8569 17.0272 35.306 17.5827 35.306Z" fill="#00A7B5"/>
<path d="M29.1993 46.4152C29.1993 45.8597 28.7502 45.4106 28.1948 45.4106H13.3014C12.746 45.4106 12.2969 45.8597 12.2969 46.4152C12.2969 46.9707 12.746 47.4197 13.3014 47.4197H28.1948C28.7502 47.4197 29.1993 46.9707 29.1993 46.4152Z" fill="#00A7B5"/>
<path d="M29.2022 40.8205C29.2022 40.265 28.7531 39.8159 28.1976 39.8159H7.95768C7.40222 39.8159 6.95312 40.265 6.95312 40.8205C6.95312 41.3759 7.40222 41.825 7.95768 41.825H28.2C28.7554 41.825 29.2045 41.3759 29.2045 40.8205H29.2022Z" fill="#00A7B5"/>
</svg></div>
          
          <h2 class="rte text-m-sh1 md:text-sh1 uppercase">free shipping on all  orders over $75</h2>
        </div>
      </div>
    
      <div  >
        <div class="flex flex-row justify-start items-center gap-20 text-left md:block md:max-w-custom w-full md:mx-auto md:text-center" style="--width: 211px;">
          
            <div class="[&_svg]:mx-auto"><svg width="68" height="67" viewBox="0 0 68 67" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_3428_11022)">
<path d="M56.0539 42.7076L51.8341 35.9161L57.2179 29.5321C57.762 28.8886 57.8249 28.0085 57.3795 27.2939C56.9351 26.5775 56.1196 26.2468 55.3005 26.4474L47.1917 28.4462L42.848 21.4537C42.3949 20.723 41.562 20.3851 40.7278 20.5916C39.8936 20.7981 39.3144 21.4839 39.2514 22.3427L38.6559 30.5535L30.198 32.6396C29.4417 32.8251 28.8957 33.4723 28.8396 34.2495C28.7836 35.0268 29.2278 35.7478 29.9511 36.0396L38.0194 39.3247L37.4325 47.4123C37.3749 48.2053 37.7664 48.9186 38.4447 49.2922C38.5156 49.3312 38.5885 49.3667 38.6662 49.3976C39.479 49.7292 40.3704 49.5092 40.9341 48.8385L46.1609 42.6406L53.5673 45.656C54.3956 45.9937 55.3011 45.7697 55.8793 45.0857C56.4547 44.4025 56.5225 43.4705 56.0519 42.7113L56.0539 42.7076ZM45.5569 40.1703L39.4984 47.3533L40.1792 37.9809L31.4754 34.4381L40.5994 32.188L41.2793 22.8174L46.2395 30.7988L55.3636 28.5487L49.3051 35.7317L54.2635 43.7122L45.5615 40.1705L45.5569 40.1703Z" fill="#00A7B5"/>
<path d="M34.0929 45.3823L11.1339 53.5776C10.5995 53.769 10.3216 54.3554 10.512 54.8916C10.5998 55.1367 10.7715 55.3284 10.9842 55.4456C11.2334 55.5828 11.5367 55.6171 11.8261 55.5135L34.7851 47.3182C35.3195 47.1267 35.5974 46.5404 35.407 46.0042C35.2155 45.4697 34.6291 45.1918 34.0929 45.3823Z" fill="#00A7B5"/>
<path d="M31.1184 40.7882C30.9607 40.2439 30.3898 39.9295 29.8456 40.0871L11.4408 45.4182C10.8965 45.5759 10.5821 46.1468 10.7397 46.691C10.8189 46.9645 11 47.178 11.2309 47.3052C11.4618 47.4324 11.739 47.4713 12.0125 47.3921L30.4173 42.061C30.9615 41.9033 31.276 41.3324 31.1184 40.7882Z" fill="#00A7B5"/>
<path d="M25.647 36.6839C26.1912 36.5263 26.5057 35.9553 26.348 35.4111C26.1904 34.8669 25.6195 34.5524 25.0752 34.7101L13.8017 37.9755C13.2575 38.1332 12.943 38.7041 13.1006 39.2483C13.1799 39.5218 13.3609 39.7353 13.5918 39.8625C13.8227 39.9897 14.0999 40.0286 14.3734 39.9494L25.647 36.6839Z" fill="#00A7B5"/>
</g>
<defs>
<clipPath id="clip0_3428_11022">
<rect width="67" height="67" fill="white" transform="translate(0.5)"/>
</clipPath>
</defs>
</svg></div>
          
          <h2 class="rte text-m-sh1 md:text-sh1 uppercase">earn needle points for  special perks + deals</h2>
        </div>
      </div>
    
      <div  >
        <div class="flex flex-row justify-start items-center gap-20 text-left md:block md:max-w-custom w-full md:mx-auto md:text-center" style="--width: 211px;">
          
            <div class="[&_svg]:mx-auto"><svg width="67" height="67" viewBox="0 0 67 67" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M24.3005 17.1653C26.011 16.3887 28.0647 16.8638 29.2951 18.3195L48.1873 40.6553L48.2851 40.7703L48.2411 40.8063C48.3463 40.8806 48.4368 40.9776 48.5043 41.0951L48.5479 41.1804L48.5481 41.1814C48.5879 41.2717 49.5004 43.3392 50.29 45.581L50.5554 46.3581C51.1275 48.0884 51.3718 49.2393 51.4135 50.0308C51.4616 50.9445 51.2401 51.399 50.9245 51.7047C50.6596 51.9622 50.3308 52.1257 49.9356 52.199C49.7779 52.2283 49.6107 52.2388 49.4357 52.2401C49.0236 52.4919 45.8171 54.3944 41.2087 55.3338L40.7408 55.4245L40.4883 55.4714C35.793 56.2943 28.9089 56.1387 22.445 50.8869L21.8204 50.3632C21.4399 50.0317 21.3978 49.4533 21.7299 49.0719C22.0611 48.6916 22.6386 48.6491 23.02 48.9805C27.9033 53.2179 33.6544 54.7998 40.1228 53.6779C42.92 53.1894 45.2546 52.2748 46.7459 51.5811C46.1007 51.3207 45.3811 50.9843 44.5833 50.5669C42.418 49.4348 40.4846 48.1365 40.3969 48.0779L40.3957 48.0771C40.2275 47.9639 40.112 47.805 40.0496 47.6298L39.998 47.6731L39.9015 47.5599L20.7218 25.0182C19.4318 23.5008 19.4366 21.3081 20.7353 19.8072C21.0828 19.4047 21.5077 19.0066 21.995 18.62C22.7914 17.9887 23.5667 17.499 24.3005 17.1653ZM41.3672 46.5302L41.4164 46.5598L41.4175 46.5606C41.4175 46.5606 41.4191 46.5626 41.4234 46.5655C41.4275 46.5682 41.4337 46.5719 41.4414 46.577C41.4568 46.5873 41.4793 46.6021 41.5082 46.6212C41.5665 46.6597 41.6516 46.7155 41.7591 46.7852C41.9746 46.925 42.2821 47.1221 42.6539 47.3522C43.3981 47.8129 44.3998 48.4071 45.4394 48.95C47.0695 49.8018 48.1034 50.1718 48.745 50.3212C49.2268 50.4334 49.4798 50.4199 49.5945 50.398C49.6053 50.3209 49.6082 50.2152 49.5988 50.0784C49.5861 49.8933 49.5528 49.6639 49.4999 49.3955C49.3943 48.8591 49.2126 48.176 48.9676 47.3936C48.4793 45.8339 47.7442 43.8889 46.8807 41.9376L41.3672 46.5302ZM24.9418 27.1584L40.2175 45.1086L45.6987 40.5449L30.5143 22.5946L24.9418 27.1584ZM27.8974 19.5015C27.1915 18.6657 26.0216 18.3945 25.0559 18.8328C24.4643 19.1017 23.815 19.5108 23.1301 20.0542C22.7293 20.372 22.389 20.692 22.1178 21.0058L22.1052 21.0181C21.4101 21.8326 21.4116 23.0148 22.1116 23.8367L23.7551 25.7675L29.3307 21.1992L27.8974 19.5015Z" fill="#00A7B5" stroke="#00A7B5" stroke-width="0.3"/>
</svg></div>
          
          <h2 class="rte text-m-sh1 md:text-sh1 uppercase">sign up for 15% off  your first order</h2>
        </div>
      </div>
    
  </div>
</div>

</div><div id="shopify-section-sections--26162626854955__footer" class="shopify-section shopify-section-group-footer-group"><footer
  class="footer pt-30 pb-0 text-text md:pt-80"
  style="background-color: #ffffff"
>
  <div class="page-width">
    <div class="gap-40 md:gap-20 flex flex-col max-md:justify-center max-md:items-stretch max-md:[&>div]:text-center lg:grid grid-cols-12">
      <!-- logo -->
      <div class="col-span-2 flex-shrink-0 md:m-0 max-md:[&_svg]:mx-auto" style="--width: 295px;">
        
          <a href="/" class="text-cerulean" aria-label="Footer Logo Link">
    <svg width="59" height="59" viewBox="0 0 59 59" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M51.9795 0.0302734C55.6495 0.0302734 58.6298 3.00973 58.6299 6.67969V37.0498H58.6289V46.9893C58.6014 46.8692 58.5653 46.7475 58.5254 46.623L58.542 46.8115C58.1275 45.991 56.1783 42.4219 51.5488 37.8799C46.2588 32.6898 20.2587 5.96016 13.7188 8.66016L50.1992 45.1494L50.1943 45.1533C51.3889 46.4127 58.6467 54.2298 58.6191 58.2402L58.6025 58.2295C58.0398 58.255 43.3108 58.8839 36.249 55.0293C32.3547 52.9059 24.3204 45.8253 16.8594 38.835V58.3096C13.1894 58.3096 10.209 55.3292 10.209 51.6592V32.4971C9.09372 31.4151 8.03757 30.3781 7.05957 29.4131V58.3096C3.38969 58.3096 0.40937 55.33 0.40918 51.6602V11.3496C0.43634 11.4683 0.47138 11.5889 0.510742 11.7119L0.496094 11.5283C0.911009 12.3495 2.86046 15.9187 7.48926 20.46C12.7697 25.6505 38.789 52.3794 45.3291 49.6797L43.7861 48.1367L9.00879 13.3701L8.99219 13.3525L8.83887 13.2002L8.84277 13.1953C7.64513 11.9326 0.391422 4.11865 0.418945 0.109375L0.43457 0.119141C0.430815 0.112937 0.428711 0.109375 0.428711 0.109375C0.428711 0.109375 15.5987 -0.620301 22.7988 3.30957C26.6911 5.43169 34.7207 12.5057 42.1787 19.4941V0.0302734C45.8487 0.0302734 48.829 3.00973 48.8291 6.67969V25.835C49.9446 26.9175 51.0011 27.9551 51.9795 28.9209V0.0302734Z" fill="currentColor"/>
    </svg>

  
</a>
        
        
      </div>

      <!-- nav -->
      <div class="max-md:order-3 col-span-7 md:pb-[56px] w-full flex flex-col gap-0 md:flex md:flex-row md:justify-evenly md:gap-80 lg:gap-40 lg:w-full xl:gap-100">
        
          <div>
            
              <dropdown-item>
                <div class="group/dropdown max-md:mt-15 " data-dropdown>
                  <button class="appearance-none md:pointer-events-none max-md:border-b-1 border-sky-blue max-md:w-full" data-dropdown-toggle>
                    <h2 class="mb-15 text-sh2 uppercase flex flex-row justify-center items-center gap-10">Shop
                      <span class="flex transition-transform group-[.active]/dropdown:rotate-180 md:hidden">
                        
    <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 5V7H0V5H12Z" fill="currentColor"/>
      <path d="M7 12L5 12L5 -8.74228e-08L7 0L7 12Z" fill="currentColor" class="group-[.active]/dropdown:rotate-90 origin-center transition-transform"/>
    </svg>

  

                      </span>
                    </h2>
                  </button>
                  <div 
                    class="hidden group-[.active]/dropdown:block md:!block"
                    data-dropdown-content
                  >
                    <ul class="flex flex-col gap-5 md:gap-10 max-md:pt-20">
                      
                        <li>
                          <a
                            href="/collections/in-stock-products"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Shop All
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/collections/in-stock-canvases-1"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Canvases
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/collections/all-needlepoint-kits"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Kits
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/collections/needlepoint-accessories"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Accessories
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/collections/self-finishing"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Self Finishing
                          </a>
                        </li>
                      
                    </ul>
                  </div>
                </div>
              </dropdown-item>
            
          </div>
        
          <div>
            
              <dropdown-item>
                <div class="group/dropdown max-md:mt-15 " data-dropdown>
                  <button class="appearance-none md:pointer-events-none max-md:border-b-1 border-sky-blue max-md:w-full" data-dropdown-toggle>
                    <h2 class="mb-15 text-sh2 uppercase flex flex-row justify-center items-center gap-10">Company
                      <span class="flex transition-transform group-[.active]/dropdown:rotate-180 md:hidden">
                        
    <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 5V7H0V5H12Z" fill="currentColor"/>
      <path d="M7 12L5 12L5 -8.74228e-08L7 0L7 12Z" fill="currentColor" class="group-[.active]/dropdown:rotate-90 origin-center transition-transform"/>
    </svg>

  

                      </span>
                    </h2>
                  </button>
                  <div 
                    class="hidden group-[.active]/dropdown:block md:!block"
                    data-dropdown-content
                  >
                    <ul class="flex flex-col gap-5 md:gap-10 max-md:pt-20">
                      
                        <li>
                          <a
                            href="/pages/about-us"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            About Us
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/beginners"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Beginners
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/our-stores"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Stores
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/finishing"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Finishing
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/community"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Community
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/rewards"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Rewards
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/press"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Press
                          </a>
                        </li>
                      
                    </ul>
                  </div>
                </div>
              </dropdown-item>
            
          </div>
        
          <div>
            
              <dropdown-item>
                <div class="group/dropdown max-md:mt-15 active" data-dropdown>
                  <button class="appearance-none md:pointer-events-none max-md:border-b-1 border-sky-blue max-md:w-full" data-dropdown-toggle>
                    <h2 class="mb-15 text-sh2 uppercase flex flex-row justify-center items-center gap-10">Help
                      <span class="flex transition-transform group-[.active]/dropdown:rotate-180 md:hidden">
                        
    <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 5V7H0V5H12Z" fill="currentColor"/>
      <path d="M7 12L5 12L5 -8.74228e-08L7 0L7 12Z" fill="currentColor" class="group-[.active]/dropdown:rotate-90 origin-center transition-transform"/>
    </svg>

  

                      </span>
                    </h2>
                  </button>
                  <div 
                    class="hidden group-[.active]/dropdown:block md:!block"
                    data-dropdown-content
                  >
                    <ul class="flex flex-col gap-5 md:gap-10 max-md:pt-20">
                      
                        <li>
                          <a
                            href="/pages/faq"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            FAQs
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/shipping-returns"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Shipping & Returns
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/privacy-policy"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Privacy & Terms
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/accessibility"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Accessibility 
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/ccpa-opt-out"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Do Not Sell My Personal Information<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMCAxNCI+IDxzdHlsZT4uc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRn0uc3Qxe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzA2Rn0uc3Qye2ZpbGw6I0ZGRn0uc3Qze2ZpbGw6IzA2Rn08L3N0eWxlPiA8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNy40IDEyLjhoNi44bDMuMS0xMS42SDcuNEM0LjIgMS4yIDEuNiAzLjggMS42IDdzMi42IDUuOCA1LjggNS44eiIvPiA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjIuNiAwSDcuNEMzLjUgMCAuNCAzLjEuNCA3czMuMSA3IDcgN2gxNS4yYzMuOSAwIDctMy4xIDctN3MtMy4xLTctNy03ek0xLjYgN2MwLTMuMiAyLjYtNS44IDUuOC01LjhoOS45bC0zLjEgMTEuNkg3LjRDNC4yIDEyLjggMS42IDEwLjIgMS42IDd6Ii8+IDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0yNC42IDRjLjIuMi4yLjYgMCAuOEwyMi41IDdsMi4yIDIuMmMuMi4yLjIuNiAwIC44LS4yLjItLjYuMi0uOCAwbC0yLjItMi4yTDE5LjUgMTBjLS4yLjItLjYuMi0uOCAwLS4yLS4yLS4yLS42IDAtLjhMMjAuOCA3bC0yLjItMi4yYy0uMi0uMi0uMi0uNiAwLS44LjItLjIuNi0uMi44IDBsMi4yIDIuMkwyMy44IDRjLjItLjIuNi0uMi44IDB6Ii8+IDxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xMi43IDQuMWMuMi4yLjMuNi4xLjhMOC42IDkuOGMtLjEuMS0uMi4yLS4zLjItLjIuMS0uNS4xLS43LS4xTDUuNCA3LjdjLS4yLS4yLS4yLS42IDAtLjguMi0uMi42LS4yLjggMEw4IDguNmwzLjgtNC41Yy4yLS4yLjYtLjIuOSAweiIvPiA8L3N2Zz4=" alt="California Consumer Privacy Act (CCPA) Opt-Out Icon" role="presentation" class="shopify-dns-link-icon" style="margin-left:.25em;height:.7em;vertical-align:middle;display: inline; width: auto;">
                          </a>
                        </li>
                      
                        <li>
                          <a
                            href="/pages/contact-us"
                            class="text-body-3 transition-opacity hover:opacity-100"
                          >
                            Contact Us
                          </a>
                        </li>
                      
                    </ul>
                  </div>
                </div>
              </dropdown-item>
            
          </div>
        
      </div>

      <!-- newsletter -->
      <div class="max-md:order-1 col-span-3 w-full flex-shrink-0 lg:max-w-custom" style="--width: 300px;">
        
          <h2 class="text-sh2 uppercase">Sign up for 15% off!</h2>
        
        

        
          <div class="klaviyo-form-WQ7GBd"></div>
        

        <div class="mt-[17px] flex justify-center md:block">
          <ul class="flex items-center gap-20" role="list">
  
    <li class="">
      <a href="https://facebook.com/needlepoint-com" class="[&_svg]:h-20 [&_svg]:w-auto" target="_blank">
        
    <svg width="9" height="18" viewBox="0 0 9 18" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M8.8293 0.258212L8.8293 2.989L7.23248 2.989C5.97239 2.989 5.7332 3.59674 5.7332 4.47864L5.7332 6.43152L8.72574 6.43152L8.33823 9.48913L5.73253 9.48913L5.73253 17.3283L2.61104 17.3283L2.61104 9.48913L-1.44763e-07 9.48913L-9.74497e-08 6.43152L2.61104 6.43152L2.61104 4.17747C2.61104 1.5581 4.18849 0.133962 6.4962 0.133962C7.2756 0.130748 8.05455 0.172231 8.8293 0.258212Z" fill="currentColor"/>
    </svg>

  

        <span class="visually-hidden">Facebook</span>
      </a>
    </li>
  
  
    <li class="">
      <a href="http://instagram.com/needlepointdotcom" class="[&_svg]:h-20 [&_svg]:w-auto" target="_blank">
        
    <svg width="19" height="18" viewBox="0 0 19 18" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M14.0987 0.133789L5.52317 0.133789C4.31905 0.135034 3.16462 0.601344 2.31318 1.4304C1.46174 2.25946 0.982845 3.38354 0.981567 4.55601L0.981567 12.9061C0.982845 14.0786 1.46174 15.2027 2.31318 16.0317C3.16462 16.8608 4.31905 17.3271 5.52317 17.3283L14.0987 17.3283C15.3028 17.3271 16.4572 16.8608 17.3087 16.0317C18.1601 15.2026 18.639 14.0786 18.6403 12.9061L18.6403 4.55601C18.639 3.38354 18.1601 2.25946 17.3087 1.4304C16.4572 0.601344 15.3028 0.135033 14.0987 0.133789V0.133789ZM17.0648 12.9061C17.0635 13.6717 16.7506 14.4056 16.1946 14.947C15.6387 15.4883 14.885 15.793 14.0987 15.7942L5.52317 15.7942C4.7369 15.793 3.9832 15.4883 3.42722 14.947C2.87124 14.4056 2.55833 13.6717 2.55706 12.9061L2.55706 4.55601C2.55833 3.79041 2.87124 3.05652 3.42722 2.51515C3.9832 1.97379 4.7369 1.66911 5.52317 1.66786L14.0987 1.66786C14.885 1.66911 15.6387 1.97379 16.1946 2.51515C16.7506 3.05652 17.0635 3.79041 17.0648 4.55601L17.0648 12.9061Z" fill="currentColor"/>
      <path d="M9.81059 4.1333C8.87701 4.1333 7.9644 4.40288 7.18815 4.90794C6.41191 5.413 5.80691 6.13086 5.44964 6.97075C5.09238 7.81064 4.9989 8.73483 5.18103 9.62645C5.36316 10.5181 5.81272 11.3371 6.47286 11.9799C7.133 12.6227 7.97407 13.0605 8.88971 13.2378C9.80535 13.4152 10.7544 13.3242 11.6169 12.9763C12.4795 12.6284 13.2167 12.0392 13.7353 11.2834C14.254 10.5275 14.5308 9.63882 14.5308 8.72973C14.5294 7.51112 14.0316 6.34282 13.1467 5.48113C12.2618 4.61944 11.062 4.13472 9.81059 4.1333ZM9.81058 11.7947C9.18823 11.7947 8.57985 11.615 8.06237 11.2783C7.54489 10.9416 7.14155 10.4631 6.90336 9.90321C6.66516 9.34332 6.6028 8.72723 6.72417 8.13284C6.84553 7.53844 7.14517 6.99244 7.58519 6.56386C8.02522 6.13529 8.58586 5.84339 9.19625 5.72508C9.80663 5.60676 10.4393 5.66735 11.0143 5.89918C11.5894 6.131 12.0809 6.52366 12.4267 7.02749C12.7726 7.53132 12.9573 8.1237 12.9574 8.72973C12.9565 9.54216 12.6247 10.3211 12.0347 10.8955C11.4448 11.47 10.6449 11.7931 9.81058 11.794L9.81058 11.7947Z" fill="currentColor"/>
      <path d="M14.5172 4.98006C15.1226 4.98006 15.6133 4.50216 15.6133 3.91264C15.6133 3.32312 15.1226 2.84521 14.5172 2.84521C13.9119 2.84521 13.4211 3.32312 13.4211 3.91264C13.4211 4.50216 13.9119 4.98006 14.5172 4.98006Z" fill="currentColor"/>
    </svg>

  

        <span class="visually-hidden">Instagram</span>
      </a>
    </li>
  
  
    <li class="">
      <a href="https://www.tiktok.com/@needlepoint.com" class="[&_svg]:h-20 [&_svg]:w-auto" target="_blank">
        
    <svg width="15" height="17" viewBox="0 0 15 17" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path fill-rule="evenodd" clip-rule="evenodd" d="M10.8369 0.684082C11.1017 2.95335 12.3497 4.3376 14.619 4.4662V7.03803C13.2911 7.10522 11.9795 6.72134 10.8974 5.94879V10.7596C10.8974 16.864 4.2409 18.7702 1.56316 14.398C-0.184177 11.5917 0.882379 6.65226 6.38914 6.47072V9.18628C5.95565 9.25648 5.52825 9.36017 5.11078 9.49641C3.88538 9.91244 3.18947 10.6916 3.37857 12.0682C3.74922 14.693 8.5752 15.4721 8.1743 10.336V0.691646H10.8369V0.684082Z" fill="currentColor"/>
    </svg>

  

        <span class="visually-hidden">TikTok</span>
      </a>
    </li>
  
  
    <li class="">
      <a href="https://www.pinterest.com/NeedlepointCom/_shop/" class="[&_svg]:h-20 [&_svg]:w-auto" target="_blank">
        
    <svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M9.9552 0.546875C4.8829 0.546875 0.77124 4.65854 0.77124 9.73084C0.77124 13.6221 3.19213 16.9448 6.60857 18.2829C6.52867 17.5565 6.45519 16.4416 6.64071 15.649C6.80786 14.9326 7.71707 11.0836 7.71707 11.0836C7.71707 11.0836 7.44247 10.5335 7.44247 9.72073C7.44247 8.44325 8.1827 7.49087 9.10385 7.49087C9.88724 7.49087 10.2656 8.07956 10.2656 8.78397C10.2656 9.57195 9.76418 10.7503 9.50519 11.8413C9.28845 12.756 9.96347 13.5009 10.8653 13.5009C12.4973 13.5009 13.7519 11.7798 13.7519 9.29552C13.7519 7.09688 12.1722 5.55948 9.91571 5.55948C7.30287 5.55948 5.76915 7.51934 5.76915 9.54532C5.76915 10.3342 6.07314 11.181 6.45244 11.6411C6.52775 11.732 6.53785 11.8119 6.51581 11.9047C6.44601 12.1949 6.29172 12.8185 6.26141 12.9461C6.22192 13.1142 6.12825 13.15 5.95467 13.0683C4.80759 12.5338 4.09032 10.8568 4.09032 9.51042C4.09032 6.6138 6.19529 3.95229 10.1591 3.95229C13.345 3.95229 15.821 6.22256 15.821 9.25694C15.821 12.4227 13.8253 14.9694 11.0554 14.9694C10.1251 14.9694 9.24987 14.4854 8.95048 13.915C8.95048 13.915 8.48944 15.6683 8.37832 16.099C8.17076 16.8962 7.61145 17.8972 7.23675 18.507C8.09545 18.7706 9.00834 18.9148 9.9552 18.9148C15.0266 18.9148 19.1392 14.8022 19.1392 9.73084C19.1392 4.65945 15.0275 0.546875 9.9552 0.546875Z" fill="currentColor"/>
    </svg>

  

        <span class="visually-hidden">Pinterest</span>
      </a>
    </li>
  
  
  
    <li class="">
      <a href="https://www.youtube.com/channel/UCXYbr9it4_wiswDplzJDnMg" class="[&_svg]:h-20 [&_svg]:w-auto" target="_blank">
        
    <svg width="21" height="14" viewBox="0 0 21 14" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M19.8741 2.15334C19.764 1.75405 19.5441 1.38898 19.2365 1.09474C18.9288 0.800501 18.5443 0.587426 18.1214 0.476876C16.5565 0.065109 10.2862 0.0651089 10.2862 0.0651089C7.67169 0.0355838 5.05788 0.166576 2.46151 0.457267C2.03847 0.575892 1.65458 0.793876 1.34608 1.09064C1.03758 1.3874 0.814652 1.75314 0.698339 2.15334C0.417835 3.66505 0.281665 5.19733 0.291453 6.73174C0.280993 8.26624 0.417169 9.79858 0.698339 11.3102C0.812258 11.7093 1.03471 12.0737 1.34383 12.3677C1.65296 12.6617 2.03813 12.8749 2.46151 12.9867C4.04733 13.3984 10.2862 13.3984 10.2862 13.3984C12.9042 13.428 15.5216 13.297 18.1214 13.0062C18.5443 12.8957 18.9288 12.6827 19.2365 12.3884C19.5441 12.0942 19.764 11.7291 19.8741 11.3298C20.1618 9.81883 20.3015 8.28633 20.2915 6.75141C20.3131 5.20958 20.1732 3.66947 19.8741 2.15334ZM8.29354 9.58474V3.87883L13.5101 6.73174L8.29354 9.58474Z" fill="currentColor"/>
    </svg>

  

        <span class="visually-hidden">YouTube</span>
      </a>
    </li>
  
  
  
  
</ul>
        </div>
      </div>

      <!-- location -->
      <div class="max-md:order-2 col-span-6 flex flex-col gap-10 justify-start items-stretch">
        
          <div class="flex flex-col md:flex-row justify-start items-center gap-10 p-10 pr-30 rounded-[10px] bg-ice w-full md:w-fit">
            <div class="flex flex-row gap-10">
              <svg width="12" height="18" viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M6.00163 0C2.68318 0 0 2.79665 0 6.21597C0 7.49044 0.502508 9.07277 1.09182 10.0742L5.63321 17.7905C5.67121 17.8544 5.72514 17.9073 5.78973 17.944C5.85432 17.9807 5.92733 18 6.00163 18C6.07592 18 6.14894 17.9807 6.21352 17.944C6.27811 17.9073 6.33204 17.8544 6.37004 17.7905L10.9114 10.0742C11.5007 9.07274 12.0033 7.49044 12.0033 6.21597C12.0033 2.79665 9.32008 0 6.00163 0ZM6.00163 3.00081C4.3494 3.00081 3.00081 4.3494 3.00081 6.00163C3.00081 7.65383 4.3494 9.00244 6.00163 9.00244C7.65385 9.00244 9.00244 7.65383 9.00244 6.00163C9.00244 4.3494 7.65385 3.00081 6.00163 3.00081Z" fill="#2A2E3F"/>
                <path d="M8.28688 6.14344C8.28688 4.95458 7.3323 4 6.14344 4C4.95458 4 4 4.95458 4 6.14344C4 7.33228 4.95458 8.28688 6.14344 8.28688C7.3323 8.28688 8.28688 7.33228 8.28688 6.14344Z" fill="#EFF9F7"/>
              </svg>
                <div class="text-cta uppercase whitespace-nowrap [&_a]:underline"><a href="/pages/our-stores" title="Our Stores">Charleston</a></div>
            </div>
            
            <div class="text-body-1 [&_strong]:text-link [&_a]:underline">
              
              
                
                
                
                  
                  
                  
                
                  
                  
                  
                    Closed
                  
                
                  
                  
                  
                
                  
                  
                  
                
                  
                  
                  
                
                  
                  
                  
                
                  
                  
                  
                
              
            </div>
          </div>
        

        
          <div class="flex flex-col md:flex-row justify-start items-center gap-10 p-10 pr-30 rounded-[10px] bg-ice w-full md:w-fit">
            <div class="flex flex-row gap-10">
              <svg width="12" height="18" viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M6.00163 0C2.68318 0 0 2.79665 0 6.21597C0 7.49044 0.502508 9.07277 1.09182 10.0742L5.63321 17.7905C5.67121 17.8544 5.72514 17.9073 5.78973 17.944C5.85432 17.9807 5.92733 18 6.00163 18C6.07592 18 6.14894 17.9807 6.21352 17.944C6.27811 17.9073 6.33204 17.8544 6.37004 17.7905L10.9114 10.0742C11.5007 9.07274 12.0033 7.49044 12.0033 6.21597C12.0033 2.79665 9.32008 0 6.00163 0ZM6.00163 3.00081C4.3494 3.00081 3.00081 4.3494 3.00081 6.00163C3.00081 7.65383 4.3494 9.00244 6.00163 9.00244C7.65385 9.00244 9.00244 7.65383 9.00244 6.00163C9.00244 4.3494 7.65385 3.00081 6.00163 3.00081Z" fill="#2A2E3F"/>
                <path d="M8.28688 6.14344C8.28688 4.95458 7.3323 4 6.14344 4C4.95458 4 4 4.95458 4 6.14344C4 7.33228 4.95458 8.28688 6.14344 8.28688C7.3323 8.28688 8.28688 7.33228 8.28688 6.14344Z" fill="#EFF9F7"/>
              </svg>
                <div class="text-cta uppercase whitespace-nowrap [&_a]:underline"><a href="/pages/our-stores" title="Our Stores">Raleigh</a></div>
            </div>
              <div class="text-body-1 [&_strong]:text-link [&_a]:underline">
                
                
                  
                  
                  
                    
                    
                    
                  
                    
                    
                    
                      Closed
                    
                  
                    
                    
                    
                  
                    
                    
                    
                  
                    
                    
                    
                  
                    
                    
                    
                  
                    
                    
                    
                  
                
            </div>
          </div>
        
      </div>

      <!-- app downloads -->
      <div class="max-md:order-5 col-span-6 flex flex-row justify-center md:justify-end items-center gap-[6px]">
        
          <a href="https://play.google.com/store/apps/details?id=com.fuego.needlepoint" aria-label="Download on the Play Store" class="block h-[51px] [&_img]:h-full [&_img]:w-auto">
            <span class="visually-hidden">Download on the Play Store</span>
            <img height="51" width="100%" src="//needlepoint.com/cdn/shop/t/406/assets/play-store.png?v=156483974576871860261775772111" alt="Download on the Play Store">
          </a>
        
        
          <a href="https://apps.apple.com/app/6741164263" aria-label="Download on the App Store" target="_blank" class="block h-[51px] [&_img]:h-full [&_img]:w-auto">
            <span class="visually-hidden">Download on the App Store</span>
            <img height="51" width="100%" src="//needlepoint.com/cdn/shop/t/406/assets/app-store.png?v=177197929082359286601775772110" alt="Download on the App Store">
          </a>
        
      </div>

      <!-- contact -->
      <div class="max-md:order-4 col-span-8 flex flex-col md:flex-row justify-start items-center gap-10 ">
        
          <div class="text-cta uppercase whitespace-nowrap [&_a]:underline"><a href="/pages/contact-us" title="Contact">Contact Us</a></div>
        

        
          <div class="text-body-1 [&_strong]:text-link [&_a]:underline">
            <strong>Online Support Hours</strong> Open Monday — Friday 9 AM — 5 PM EST
          </div>
        
      </div>

      <!-- copyright -->
      <div class="max-md:order-6 col-span-4 flex flex-col items-center opacity-50 md:flex-row md:justify-end md:gap-10 flex-wrap">
        <p class="text-caption">&copy;2026 Needlepoint.Com Inc. All Rights Reserved.</p>
        
          
            <a href="/pages/privacy-policy" class="block text-caption underline">Privacy Policy & Terms of Service</a>
          
        
        <button class="block text-caption underline" data-open-credits>Site Credits</button>
        
      </div>
    </div>
  </div>

  <div class="w-full h-[28px] mb-5 logo-pattern mt-15"></div>
</footer>


</div>
<!-- END sections: footer-group --><quick-view>
  <div class="modal micromodal-slide group/modal z-top" id="quickview" role="dialog" aria-label="quickview-title">
    <div class="modal__overlay pb-0 md:pb-20 px-0 md:px-20 items-end md:items-center" tabindex="-1" >
      <div class="modal__container max-w-custom bg-off-white translate-y-full group-aria-unhidden/modal:translate-y-0 transition-all md:translate-y-0 p-20 md:p-30 md:max-w-custom w-full mx-auto overflow-clip" style="--width: 955px;" role="dialog" aria-modal="true" aria-label="quickview-modal">
        <main class="modal__content relative" id="quickview-content">
          <button
            class="modal__close p-5 fixed flex top-15 right-15 md:top-5 md:right-5 z-20 [&_*]:pointer-events-none"
            aria-label="Close modal"
            onClick="MicroModal.close('quickview')">
            
    <svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.05074 5.9055L10.1869 1.76937L9.33796 0.920468L5.20183 5.05659L0.936744 0.791504L0.087839 1.64041L4.35293 5.9055L0 10.2584L0.848906 11.1073L5.20183 6.7544L9.4258 10.9784L10.2747 10.1295L6.05074 5.9055Z" fill="currentColor"/>
    </svg>

  

          </button>
          <div data-quickview-content></div>
        </main>
      </div>
    </div>
  </div>
</quick-view>
    
<div class="modal micromodal-slide group/modal z-top" id="skill-level" role="dialog" aria-label="skill-level-title">
  <div class="modal__overlay pb-0 md:pb-20 px-0 md:px-20 items-center" tabindex="-1" onClick="skillsOverlay()" aria-label="Close modal" >
    <div class="modal__container max-w-custom bg-off-white translate-y-full group-aria-unhidden/modal:translate-y-0 transition-all md:translate-y-0 p-20 md:p-30 md:max-w-custom w-[90%] h-[90%] mx-auto overflow-x-clip overflow-y-auto" style="--width: 955px;" role="dialog" aria-modal="true" aria-label="skill-levels-modal">
      <main class="modal__content relative" id="skill-level-content">
        <button
          class="modal__close p-5 fixed flex top-15 right-15 md:top-5 md:right-5 z-20 [&_*]:pointer-events-none"
          aria-label="Close modal"
          onClick="MicroModal.close('skill-level')">
          <span class="visually-hidden">Close modal</span>
          
    <svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.05074 5.9055L10.1869 1.76937L9.33796 0.920468L5.20183 5.05659L0.936744 0.791504L0.087839 1.64041L4.35293 5.9055L0 10.2584L0.848906 11.1073L5.20183 6.7544L9.4258 10.9784L10.2747 10.1295L6.05074 5.9055Z" fill="currentColor"/>
    </svg>

  

        </button>
        <div class="text-editor">
          <h2>Skill Levels</h2><h4>Level 1</h4><p>Learning the foundation stitches, Tent, Continental and Basketweave Stitch. Learning the appropriate way to start and end threads. Chooses clearly defined designs with plenty of background and no shading. Likes to work large areas of one stitch that requires no compensation. Comfortable with using floss, pearl cotton, merino wool and/or tapestry wool.</p><h4>Level 2</h4><p>Expanding on foundation stitches and learning Alternating Continental, T-Stitch, Brick Stitch and its variations. Learning to read stitch diagrams that also include verbiage. Starting to learn how to compensate a stitch that cannot be completed within a defined area. Working with a mixture of single strand and pliable threads on one project to add depth and dimension. Adding stitches that build off of Tent such as Mosaic, Scotch and Cashmere.</p><h4>Level 3</h4><p>Learning more complicated stitches such as Rhodes, Byzantine, and Herringbone. Also adding composite stitches into repertoire such as Criss-Cross Hungarian. Reads stitch diagrams with or without numbers and verbiage. Understands compensation. Adding textured threads including man-made fibers intended for metallic, sparkly, and fluffy effects to projects and can work through shading effectively. Uses a stitch guide for projects and sticks to it. Comfortable plying and or blending threads.</p><h4>Level 4</h4><p>Enjoys a good stitch guide but is willing to dismiss parts in order to incorporate personal artistic interpretation. Has a library of "go to" stitches and can work through all variations of Turkey Work, Jessica Stitch, Crescent Stitch and Openwork Background stitches. Comfortable compensating in complex design areas. Ok with random stitches such as long and short stitches. Views a stitch guide as just a guide and is comfortable using stitches other than what is recommended.</p> 
        </div>
      </main>
    </div>
  </div>
</div>
<script>
  function skillsOverlay() {
    event.target.classList.contains('modal__overlay') ? MicroModal.close('skill-level') : ''
  }
</script>
    
<site-credits>
  <div class="site-credits py-10 px-20 flex justify-start gap-10 fixed right-0 bottom-0 left-0 bg-sky-blue z-40 transition-visibility ease-in-out aria-hidden:opacity-0 aria-hidden:invisible md:px-40" aria-hidden="true">
    <div class="flex items-center gap-20">
      <button data-close-credits>
        
    <svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.05074 5.9055L10.1869 1.76937L9.33796 0.920468L5.20183 5.05659L0.936744 0.791504L0.087839 1.64041L4.35293 5.9055L0 10.2584L0.848906 11.1073L5.20183 6.7544L9.4258 10.9784L10.2747 10.1295L6.05074 5.9055Z" fill="currentColor"/>
    </svg>

  

        <span class="visually-hidden">Close Credits</span>
      </button>
    </div>
    <div class="flex flex-col gap-10 text-body-2 md:flex-row md:gap-40">
      <span>
        Design by 
        <a class="underline" href="https://www.lustre.nyc/" target="_blank">Lustre</a>
      </span>
      <span>
        Development by
        <a class="underline" href="https://cardinalco.agency/" target="_blank">Cardinal & Co.</a>
      </span>
    </div>
  </div>
</site-credits><ul hidden>
      <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li>
    </ul>

    <script>
      window.shopUrl = 'https://needlepoint.com';
      window.routes = {
        cart_add_url: '/cart/add',
        cart_change_url: '/cart/change',
        cart_update_url: '/cart/update',
        predictive_search_url: '/search/suggest'
      };

      window.cartStrings = {
        error: `There was an error while updating your cart. Please try again.`,
        quantityError: `You can only add [quantity] of this item to your cart.`
      }

      window.variantStrings = {
        addToCart: `Add to Cart`,
        soldOut: `Sold out`,
        unavailable: `Unavailable`,
      }

      window.accessibilityStrings = {
        shareSuccess: `Link copied to clipboard`,
      }
    </script>

    <script defer>
      function swymCallbackFn(swat){
        // your API calls go here
        document.addEventListener("swym:quickView-loaded", function(){
          swat.initializeActionButtons("#quickview");
          console.log("swym:quickView-loaded")
        })

         document.addEventListener("swym:pagiantion-loaded", function(){
          swat.initializeActionButtons("#product-grid");
          console.log("swym:pagiantion-loaded")
        })

        window.addEventListener("nosto:products-loaded", function(){
          
          if(document.querySelector("#ns-product-grid")){
            setTimeout( () => { 
              swat.initializeActionButtons("#ns-product-grid");
            },1500);
          }
          
          if(document.querySelector(".nosto-recommendation")) {
            setTimeout( () => { 
              document.querySelectorAll(".nosto_element").forEach( (_n) => {
                swat.initializeActionButtons(`#${_n.id}`);
              })
              
            },1500);
          }
          console.log("nosto:products-loaded")
        })
      }
      if(!window.SwymCallbacks){
        window.SwymCallbacks = [];
      }
      window.SwymCallbacks.push(swymCallbackFn);

    </script>

    

    
<link rel="dns-prefetch" href="https://swymstore-v3pro-01.swymrelay.com" crossorigin>
<link rel="dns-prefetch" href="//swymv3pro-01.azureedge.net/code/swym-shopify.js">
<link rel="preconnect" href="//swymv3pro-01.azureedge.net/code/swym-shopify.js">
<script id="swym-snippet">
  window.swymLandingURL = document.URL;
  window.swymCart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0};
  window.swymPageLoad = function(){
    window.SwymProductVariants = window.SwymProductVariants || {};
    window.SwymHasCartItems = 0 > 0;
    window.SwymPageData = {}, window.SwymProductInfo = {};
    var unknown = {et: 0};
    window.SwymPageData = unknown;
    
    window.SwymPageData.uri = window.swymLandingURL;
  };

  if(window.selectCallback){
    (function(){
      // Variant select override
      var originalSelectCallback = window.selectCallback;
      window.selectCallback = function(variant){
        originalSelectCallback.apply(this, arguments);
        try{
          if(window.triggerSwymVariantEvent){
            window.triggerSwymVariantEvent(variant.id);
          }
        }catch(err){
          console.warn("Swym selectCallback", err);
        }
      };
    })();
  }
  window.swymCustomerId = null;
  window.swymCustomerExtraCheck = null;

  var swappName = ("Wishlist" || "Wishlist");
  var swymJSObject = {
    pid: "1wCnqFU8LoVMhMgh8bNG45zgg\/llzBk8KJknLTaOcZk=" || "1wCnqFU8LoVMhMgh8bNG45zgg/llzBk8KJknLTaOcZk=",
    interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName
  };
  window.swymJSShopifyLoad = function(){
    if(window.swymPageLoad) swymPageLoad();
    if(!window._swat) {
      (function (s, w, r, e, l, a, y) {
        r['SwymRetailerConfig'] = s;
        r[s] = r[s] || function (k, v) {
          r[s][k] = v;
        };
      })('_swrc', '', window);
      _swrc('RetailerId', swymJSObject.pid);
      _swrc('Callback', function(){initSwymShopify();});
    }else if(window._swat.postLoader){
      _swrc = window._swat.postLoader;
      _swrc('RetailerId', swymJSObject.pid);
      _swrc('Callback', function(){initSwymShopify();});
    }else{
      initSwymShopify();
    }
  }
  if(!window._SwymPreventAutoLoad) {
    swymJSShopifyLoad();
  }
  window.swymGetCartCookies = function(){
    var RequiredCookies = ["cart", "swym-session-id", "swym-swymRegid", "swym-email"];
    var reqdCookies = {};
    RequiredCookies.forEach(function(k){
      reqdCookies[k] = _swat.storage.getRaw(k);
    });
    var cart_token = window.swymCart.token;
    var data = {
        action:'cart',
        token:cart_token,
        cookies:reqdCookies
    };
    return data;
  }

  window.swymGetCustomerData = function(){
    
    return {status:1};
    
  }
</script>

<style id="safari-flasher-pre"></style>
<script>
  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
    document.getElementById("safari-flasher-pre").innerHTML = ''
      + '#swym-plugin,#swym-hosted-plugin{display: none;}'
      + '.swym-button.swym-add-to-wishlist{display: none;}'
      + '.swym-button.swym-add-to-watchlist{display: none;}'
      + '#swym-plugin  #swym-notepad, #swym-hosted-plugin  #swym-notepad{opacity: 0; visibility: hidden;}'
      + '#swym-plugin  #swym-notepad, #swym-plugin  #swym-overlay, #swym-plugin  #swym-notification,'
      + '#swym-hosted-plugin  #swym-notepad, #swym-hosted-plugin  #swym-overlay, #swym-hosted-plugin  #swym-notification'
      + '{-webkit-transition: none; transition: none;}'
      + '';
    window.SwymCallbacks = window.SwymCallbacks || [];
    window.SwymCallbacks.push(function(tracker){
      tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function(){
        // flash-preventer
        var x = function(){
          SwymUtils.onDOMReady(function() {
            var d = document.createElement("div");
            d.innerHTML = "<style id='safari-flasher-post'>"
              + "#swym-plugin:not(.swym-ready),#swym-hosted-plugin:not(.swym-ready){display: none;}"
              + ".swym-button.swym-add-to-wishlist:not(.swym-loaded){display: none;}"
              + ".swym-button.swym-add-to-watchlist:not(.swym-loaded){display: none;}"
              + "#swym-plugin.swym-ready  #swym-notepad, #swym-plugin.swym-ready  #swym-overlay, #swym-plugin.swym-ready  #swym-notification,"
              + "#swym-hosted-plugin.swym-ready  #swym-notepad, #swym-hosted-plugin.swym-ready  #swym-overlay, #swym-hosted-plugin.swym-ready  #swym-notification"
              + "{-webkit-transition: opacity 0.3s, visibility 0.3ms, -webkit-transform 0.3ms !important;-moz-transition: opacity 0.3s, visibility 0.3ms, -moz-transform 0.3ms !important;-ms-transition: opacity 0.3s, visibility 0.3ms, -ms-transform 0.3ms !important;-o-transition: opacity 0.3s, visibility 0.3ms, -o-transform 0.3ms !important;transition: opacity 0.3s, visibility 0.3ms, transform 0.3ms !important;}"
              + "</style>";
            document.head.appendChild(d);
          });
        };
        setTimeout(x, 10);
      });
    });
  }

  // Get the money format for the store from shopify
  window.SwymOverrideMoneyFormat = "${{amount}}";
</script>
<style id="swym-product-view-defaults">
  /* Hide when not loaded */
  .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded){
    display: none;
  }
</style>

    


<div class="smile-shopify-init"
  data-channel-key="channel_2SUK7Q9WriJjMMJHbytUdxKC"

></div>


    <script src="https://a.klaviyo.com/media/js/onsite/onsite.js" defer></script>
    <script defer>
      // Used by our inline Back-in-Stock form (no popup/trigger button).
      window.__KLAVIYO_BIS_PUBLIC_TOKEN = 'TxAVmM';
      // List ID to subscribe users when "Add to mailing list" is checked.
      // Find in Klaviyo -> Lists & segments -> your list -> Settings -> List ID.
      window.__KLAVIYO_EMAIL_MARKETING_LIST_ID = window.__KLAVIYO_EMAIL_MARKETING_LIST_ID || 'V7hYYX';
    </script>

    <script defer>
      (function () {
        if (window.__KLAVIYO_BIS_INLINE_HANDLER_INSTALLED) return;
        window.__KLAVIYO_BIS_INLINE_HANDLER_INSTALLED = true;

        function setMessage(form, text) {
          const msg = form.querySelector('[data-bis-message]');
          if (!msg) return;
          msg.hidden = false;
          msg.textContent = text;
        }

        function catalogVariantId(shopifyVariantId) {
          return `$shopify:::$default:::${shopifyVariantId}`;
        }

        async function createBisSubscription({ email, variantId, publicToken }) {
          const payload = {
            data: {
              type: 'back-in-stock-subscription',
              attributes: {
                channels: ['EMAIL'],
                profile: { data: { type: 'profile', attributes: { email } } },
              },
              relationships: {
                variant: { data: { type: 'catalog-variant', id: catalogVariantId(variantId) } },
              },
            },
          };

          const res = await fetch(
            `https://a.klaviyo.com/client/back-in-stock-subscriptions?company_id=${encodeURIComponent(publicToken)}`,
            {
              method: 'POST',
              headers: {
                revision: '2026-01-15',
                accept: 'application/vnd.api+json',
                'content-type': 'application/vnd.api+json',
              },
              body: JSON.stringify(payload),
            },
          );

          if (!res.ok) {
            const errText = await res.text().catch(() => '');
            throw new Error(`BIS failed: ${res.status} ${errText}`);
          }
        }

        async function subscribeEmailMarketing({ email, publicToken, listId }) {
          // Client-side alternative to `bulk_subscribe_profiles` (no private key).
          // This endpoint expects a `subscription` object and a `list` relationship.
          const payload = {
            data: {
              type: 'subscription',
              attributes: {
                profile: {
                  data: {
                    type: 'profile',
                    attributes: {
                      email,
                      subscriptions: {
                        email: { marketing: { consent: 'SUBSCRIBED' } },
                      },
                    },
                  },
                },
              },
              relationships: {
                list: { data: { type: 'list', id: listId } },
              },
            },
          };

          const res = await fetch(
            `https://a.klaviyo.com/client/subscriptions?company_id=${encodeURIComponent(publicToken)}`,
            {
              method: 'POST',
              headers: {
                revision: '2026-01-15',
                accept: 'application/vnd.api+json',
                'content-type': 'application/vnd.api+json',
              },
              body: JSON.stringify(payload),
            },
          );

          if (!res.ok) {
            const errText = await res.text().catch(() => '');
            throw new Error(`Subscribe failed: ${res.status} ${errText}`);
          }
        }

        document.addEventListener(
          'submit',
          async function (event) {
            const form = event.target?.closest?.('form[data-bis-form]');
            if (!form) return;

            event.preventDefault();

            if (form.dataset.bisSubmitting === 'true') return;
            form.dataset.bisSubmitting = 'true';

            const email = form.querySelector('input[name="email"]')?.value?.trim();
            const variantId = form.querySelector('[data-bis-variant-input]')?.value;
            const optIn = !!form.querySelector('[data-bis-optin]')?.checked;
            const publicToken = window.__KLAVIYO_BIS_PUBLIC_TOKEN;
            const listId = window.__KLAVIYO_EMAIL_MARKETING_LIST_ID;

            const btn = form.querySelector('button[type="submit"]');
            if (btn) btn.disabled = true;

            try {
              if (!publicToken || !email || !variantId) throw new Error('Missing fields');

              setMessage(form, 'Submitting…');
              await createBisSubscription({ email, variantId, publicToken });

              if (optIn) {
                if (!listId) {
                  // eslint-disable-next-line no-console
                  console.warn('[Klaviyo BIS] Missing __KLAVIYO_EMAIL_MARKETING_LIST_ID; skipping email marketing subscribe.');
                } else {
                  try {
                    await subscribeEmailMarketing({ email, publicToken, listId });
                  } catch (err) {
                    // Don't fail BIS if marketing subscribe fails.
                    // eslint-disable-next-line no-console
                    console.error('[Klaviyo BIS] marketing subscribe failed:', err);
                  }
                }
              }

              setMessage(form, "You're in! We'll email you when it's back in stock.");
              form.reset();
            } catch (e) {
              setMessage(form, 'Something went wrong. Please try again.');
              // eslint-disable-next-line no-console
              console.error('[Klaviyo BIS] error:', e);
            } finally {
              if (btn) btn.disabled = false;
              delete form.dataset.bisSubmitting;
            }
          },
          true,
        );
      })();
    </script>

    <script defer>
      // === ACCESSIBILITY FIX: Klaviyo Welcome Popup ===
      (function () {

        const POPUP_SELECTOR = '[aria-label="POPUP Form"]';
        const FOCUSABLE = [
          'a[href]', 'button:not([disabled])', 'input:not([disabled])',
          'select:not([disabled])', 'textarea:not([disabled])',
          '[tabindex]:not([tabindex="-1"])'
        ].join(', ');

        let lastFocused = null;
        let trapHandler = null;

        // ── Trap focus inside the popup ──────────────────────────────
        function trapFocus(popup) {
          const nodes = Array.from(popup.querySelectorAll(FOCUSABLE));
          if (!nodes.length) return;

          nodes[0].focus();
          const first = nodes[0];
          const last  = nodes[nodes.length - 1];

          trapHandler = function (e) {

            // ESC → close
            if (e.key === 'Escape') {
              e.preventDefault();
              closePopup(popup);
              return;
            }

            // TAB → keep inside popup
            if (e.key === 'Tab') {
              if (nodes.length === 1) { e.preventDefault(); return; }
              if (e.shiftKey) {
                if (document.activeElement === first) {
                  e.preventDefault(); last.focus();
                }
              } else {
                if (document.activeElement === last) {
                  e.preventDefault(); first.focus();
                }
              }
            }
          };

          popup.addEventListener('keydown', trapHandler);
        }

        // ── Open ─────────────────────────────────────────────────────
        function openPopup(popup) {
          lastFocused = document.activeElement;

          // Ensure correct ARIA attrs
          popup.setAttribute('role', 'dialog');
          popup.setAttribute('aria-modal', 'true');

          trapFocus(popup);
        }

        // ── Close ────────────────────────────────────────────────────
        function closePopup(popup) {
          // Remove the trap listener
          if (trapHandler) {
            popup.removeEventListener('keydown', trapHandler);
            trapHandler = null;
          }

          // Try Klaviyo's own close button first
          const closeBtn = popup.querySelector(
            '[aria-label*="close" i], [aria-label*="dismiss" i], ' +
            '[class*="close" i], [data-testid*="close"]'
          );
          if (closeBtn) {
            closeBtn.click();
          } else {
            // Fallback: hide the popup wrapper
            const wrapper = popup.closest('[class*="klaviyo"], [class*="modal"], [class*="popup"]')
                            || popup;
            wrapper.style.display = 'none';
          }

          // Return focus to whatever was focused before popup opened
          if (lastFocused && lastFocused.focus) {
            lastFocused.focus();
          }
        }

        // ── Watch for Klaviyo injecting the popup into the DOM ───────
        const observer = new MutationObserver(function () {
          const popup = document.querySelector(POPUP_SELECTOR);

          if (popup && !popup.dataset.a11yReady) {
            popup.dataset.a11yReady = 'true'; // prevent double-init
            openPopup(popup);
          }
        });

        observer.observe(document.body, { childList: true, subtree: true });

        // Catch it if it's already in the DOM on load
        window.addEventListener('DOMContentLoaded', function () {
          const popup = document.querySelector(POPUP_SELECTOR);
          if (popup && !popup.dataset.a11yReady) {
            popup.dataset.a11yReady = 'true';
            openPopup(popup);
          }
        });

      })();
      </script>
      <script defer>
        // === ACCESSIBILITY FIX: Main Menu Keyboard Navigation ===
        (function () {

          // ── CSS: Inject visible focus styles ──────────────────────────
          const style = document.createElement('style');
          style.textContent = `
            /* Visible focus ring for all nav links */
            li.group\/nav > a:focus-visible,
            li.group\/nav > button:focus-visible,
            .group\/megamenu a:focus-visible {
              outline: 3px solid #005FCC !important;
              outline-offset: 2px !important;
              border-radius: 2px !important;
            }

            /* Show megamenu when nav item has [data-open] (keyboard triggered) */
            li.group\/nav[data-open] .group\/megamenu > div {
              visibility: visible !important;
              opacity: 1 !important;
              pointer-events: auto !important;
            }

            /* Rotate chevron arrow when open */
            li.group\/nav[data-open] .group-hover\/link\:rotate-180 {
              transform: rotate(180deg) !important;
            }
          `;
          document.head.appendChild(style);

          // ── Get all top-level nav items ───────────────────────────────
          const navItems = Array.from(document.querySelectorAll('li.group\\/nav'));

          navItems.forEach(function (navItem) {
            const trigger   = navItem.querySelector(':scope > a, :scope > button');
            const megamenu  = navItem.querySelector('.group\\/megamenu');

            if (!trigger) return;

            // ── If this nav item HAS a megamenu ───────────────────────
            if (megamenu) {

              // Add ARIA attributes to trigger
              trigger.setAttribute('aria-haspopup', 'true');
              trigger.setAttribute('aria-expanded', 'false');

              // Get all focusable links inside megamenu
              function getMegaLinks() {
                return Array.from(megamenu.querySelectorAll('a[href]'));
              }

              function openMegamenu() {
                navItem.setAttribute('data-open', '');
                trigger.setAttribute('aria-expanded', 'true');
              }

              function closeMegamenu() {
                navItem.removeAttribute('data-open');
                trigger.setAttribute('aria-expanded', 'false');
              }

              // Keyboard events on the trigger link
              trigger.addEventListener('keydown', function (e) {

                // Enter / Space / ArrowDown → open megamenu, focus first link
                if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
                  e.preventDefault();
                  openMegamenu();
                  const links = getMegaLinks();
                  if (links.length) links[0].focus();
                }

                // Escape → close megamenu, stay on trigger
                if (e.key === 'Escape') {
                  closeMegamenu();
                  trigger.focus();
                }
              });

              // Keyboard events inside the megamenu
              megamenu.addEventListener('keydown', function (e) {
                const links = getMegaLinks();
                const currentIndex = links.indexOf(document.activeElement);

                // Arrow Down → next link
                if (e.key === 'ArrowDown') {
                  e.preventDefault();
                  const next = links[currentIndex + 1];
                  if (next) next.focus();
                }

                // Arrow Up → previous link (if first → return to trigger)
                if (e.key === 'ArrowUp') {
                  e.preventDefault();
                  if (currentIndex === 0) {
                    trigger.focus();
                  } else {
                    const prev = links[currentIndex - 1];
                    if (prev) prev.focus();
                  }
                }

                // Escape → close megamenu, return focus to trigger
                if (e.key === 'Escape') {
                  e.preventDefault();
                  closeMegamenu();
                  trigger.focus();
                }

                // Tab past last megamenu link → close megamenu
                if (e.key === 'Tab' && !e.shiftKey && currentIndex === links.length - 1) {
                  closeMegamenu();
                }

                // Shift+Tab on first megamenu link → close, return to trigger
                if (e.key === 'Tab' && e.shiftKey && currentIndex === 0) {
                  e.preventDefault();
                  closeMegamenu();
                  trigger.focus();
                }
              });

              // Close megamenu if focus leaves the nav item entirely
              navItem.addEventListener('focusout', function (e) {
                setTimeout(function () {
                  if (!navItem.contains(document.activeElement)) {
                    closeMegamenu();
                  }
                }, 0);
              });

            }

            // ── Simple nav links (no megamenu) ────────────────────────
            // These are already keyboard accessible as <a> tags
            // Just ensure Escape moves focus back to first nav item
            trigger.addEventListener('keydown', function (e) {
              if (e.key === 'Escape') {
                const firstTrigger = navItems[0]?.querySelector(':scope > a, :scope > button');
                if (firstTrigger) firstTrigger.focus();
              }
            });

          });

          // ── Close all megamenus if click outside ─────────────────────
          document.addEventListener('click', function (e) {
            navItems.forEach(function (navItem) {
              if (!navItem.contains(e.target)) {
                navItem.removeAttribute('data-open');
                const trigger = navItem.querySelector(':scope > a, :scope > button');
                if (trigger) trigger.setAttribute('aria-expanded', 'false');
              }
            });
          });

        })();
        </script>
  <style> #infiniteoptions-container {display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 10px;} </style>
<div id="shopify-block-AK0h3cTVsZkRtSWZvY__back-in-stock-restock-alerts-4bb73be2-b7c2-4870-949f-c528145452a3" class="shopify-block shopify-app-block"><!-- Config and setup JS -->
<script id="RestockRocketConfig">
  window._RestockRocketConfig = window._RestockRocketConfig || {}

  // Helper function to normalize locale format from hyphen to underscore (e.g., 'en-US' -> 'en_us')
  // This matches the backend's Mobility.normalize_locale behavior
  // Returns empty string if locale is empty or invalid (matches original behavior)
  function normalizeLocale(locale) {
    if (!locale || locale.trim() === '') {
      return '';
    }
    return locale.toString().toLowerCase().replace(/-/g, '_');
  }

  window._RestockRocketConfig.locale = 'en';
  window._RestockRocketConfig.normalizedLocale = normalizeLocale('en');
  window._RestockRocketConfig.shop = 'needlepoint-com.myshopify.com';
  window._RestockRocketConfig.pageType = 'index';
  window._RestockRocketConfig.liquidRenderedAt = 1780970217;window._RestockRocketConfig.marketId = 231112747;window._RestockRocketConfig.countryName = 'United States';
    window._RestockRocketConfig.countryIsoCode = 'US';window._RestockRocketConfig.cartInventoryQuantity = {};// cart.token falls back to the `cart` cookie when the Liquid context didn't carry one
  // (some page types render with cart={} until first interaction).
  if (!window._RestockRocketConfig.cartToken) {
    try {
      const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/);
      if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]);
    } catch (e) { /* cookie unavailable */ }
  }window._RestockRocketConfig.cachedSettings = {"id":52632,"shop_id":52608,"currency":"USD","created_at":"2026-01-26T18:12:05.718Z","updated_at":"2026-03-17T20:05:10.515Z","enable_app":true,"enable_signup_widget":true,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":false,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":"","collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too!","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":"","insert_button_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":"","insert_button_after_selector_index":"","push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again.","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send push notification","insert_button_after_selector_page":"","show_button_on_page":false,"insert_button_after_selector_search":"","show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":"","index_buttons_container":"","page_buttons_container":"","search_buttons_container":"","extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it’s restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":"","preorder_add_to_cart_button_selector":".product-form-submit .button","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":"","preorder_index_badge_selector":"","preorder_page_badge_selector":"","preorder_search_badge_selector":"","preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":"","inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":10,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":"","preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":"","countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2026-03-17T20:05:10.563Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[12698222821419,12698222854187,12698222919723,12698222985259,12698223050795,12698223116331,12698223181867,12698223214635,12698223280171,12698223345707,12698223411243,12698223476779,12698223542315,12698223607851,12698223673387,12698223738923,12698223804459,12698223869995,12698223902763,12698223968299,12698224033835,12698224099371,12698224164907,12698224230443,12698224263211,12698224328747,12698224394283,12698224459819,12698224492587,12698224558123,12698224623659,12698224689195,12698224754731,12698224820267,12698224853035,12698224918571,12698224984107,12698225049643,12698225115179,12698225180715,12698225246251,12698225311787,12698225344555,12698225410091,12698225475627,12698225541163,12698225573931,12698225639467,12698225705003,12698225770539,12698225836075,12698225901611,12698225967147,12698226032683,12698226098219,12698226163755,12698226229291,12698226262059,12698226327595,12698226393131,12698226458667,12698226524203,12698226589739,12698226655275,12698226720811,12698226786347,12698226851883,12698226917419,12698226982955,12698227048491,12698227114027,12698227146795,12698227212331,12698227277867,12698227343403,12698227408939,12698227474475,12698227540011,12698227572779,12698227638315,12698227703851,12698227769387,12698227867691,12698227933227,12698227998763,12698228129835,12698228195371,12698228228139,12698228260907,12698228293675,12698228326443,12698228391979,12698228457515,12698228490283,12698228523051,12698288652331,12698288685099,12698288717867,12698288750635,12698288783403,12698288816171,12698288848939,12698288881707,12698288914475,12698288947243,12698288980011,12698289012779,12698289045547,12698289111083,12698289176619,12698289242155,12698289307691,12698289373227,12698289438763,12698289504299,12698289569835,12698289635371,12698289700907,12698289766443,12698289831979,12698289897515,12698289963051,12698290028587,12698290094123,12698290159659,12698290225195,12698290290731,12698290356267,12698290454571,12698290520107,12698290585643,12698290651179,12698290716715,12698290782251,12698290847787,12698290978859,12698291077163,12698291208235,12698291273771,12698291404843,12698291535915,12698291666987,12698291765291,12698291896363,12698292027435,12698292092971,12698292191275,12698292256811,12698292355115,12698292420651,12698292518955,12698292584491,12698292617259,12698292650027,12698292682795,12698292715563,12698292748331,12698292781099,12698292813867,12698292846635,12698292879403,12698292912171,12698292944939,12698292977707,12698293010475,12698293043243,12698293076011,12698293108779,12698293141547,12698293174315,12698293207083,12698293239851,12698293272619,12698293305387,12698293469227,12698293633067,12698293764139,12698293895211,12698293993515,12698294026283,12698294059051,12698294091819,12698294124587,12698294157355,12698294190123,12698294222891,12698294288427,12698294353963,12698294419499,12698294550571,12698294616107,12698294648875,12698294812715,12698294943787,13002342170667,13002395910187,30858185506859,32992524435499,39932339716139,39934160633899,39934163255339,39934169022507,39935465553963,40623866642475,40694030532651,40694747398187,40694751592491,41229492125739,42405040652331,42405061853227],"updated_at":"2026-06-09T01:52:30Z","market_locations_enabled":false,"market_id":10962272299,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null,"bulk_operation":true};window._RestockRocketConfig.cachedInStockVariantIds = {"in_stock_variant_ids":[14135313825835,32975720480811,39934179180587,39934183342123,39934187864107,39934190485547,39934193074219,39934199332907,39934202708011,39934205198379,39934310449195,39934313562155,39934314545195,39935438290987,39935444123691,39935456509995,40070915686443,40494371438635,40494400274475,40494425145387,40494485012523,40494576730155,40494791426091,40494834090027,41041579474987,41100212371499,41100217122859,41100218269739,41100219154475,41100219482155,41100220891179,41124212637739,41124216864811,41124219584555,41199927689259,41343421808683,41343421841451,41343447564331,41343447597099,41344758480939,41344758513707,41345640726571,41345640759339,41345645051947,41345645084715,41999760785451,41999760818219,42004641054763,42004641087531,42019313352747,42019313385515,42132988559403,42132988592171,42133011955755,42133011988523,42133016805419,42133016838187,42133021622315,42133021655083,42395408859179,43060082278443,43123419021355,43897646940203,43997670735915,44136137850923,6221645938731,6222222557227,6222920056875,6223767994411,6229857009707,6229991915563,6230196060203,6230257762347,6286542471211,6289908400171,6676671168555,6801640456235,6801870749739,6802372067371,6894793850923,6895326560299,6897628512299,6898968231979,7223238918187,7233529217067,7234892890155,8042195517483,8458834051115,8473160646699,8475085733931,9105148018731,9541116559403,9925635211307,10019416342571,10164371521579,10367518605355,10438433636395,10729138028587,10731760386091,10829123682347,10913053048875,11133694115883,11133745201195,11149948485675,11174607257643,11324606873643,11570917015595,11571076956203,11571549831211,11571597836331,11700502396971,11713744404523,11741410557995,11741425434667,11741428318251,11741432217643,11741445652523,11741456171051,11741460037675,11741645144107,11741672046635,11741687840811,11741692067883,11741708484651,11741717135403,11741723459627,11741735387179,11741739581483,11741748297771,11741956177963,11743487164459,11792009134123,11792594305067,11792613474347,11792623403051,11792654401579,11792755130411,11793679908907,11793799249963,11793838604331,11793860657195,11793875042347,11793895817259,11793933828139,11793945067563,11793993564203,11794294833195,11794312429611,11794370854955,11816342650923,11816393080875,11816531066923,11816678064171,11816735604779,11817892675627,11817934290987,11817992224811,11818017456171,11818056253483,11818073325611,11818146431019,11818169040939,11818247815211,11818296508459,11818451697707,11818863263787,11819712413739,11819914690603,11828806287403,11828842397739,11828880539691,11828997521451,11829527085099,11829695840299,11829759377451,12024336351275,12033428848683,12035008299051,12035522560043,12127832932395,12201042214955,12201043722283,12201048145963,12201048768555,12201050112043,12201053880363,12244692500523,12260869767211,12408072110123,12448259080235,12699990327339,12700387737643,12700532867115,12700796256299,12701373235243,12701533765675,12747923554347,12747955306539,12747978407979,12748024610859,12748830900267,12748859113515,12748898566187,12748935594027,12749008961579,12749258883115,12749287227435,12749483933739,12749522370603,12749580828715,12749606682667,12749625229355,12750091059243,12750128185387,12750356021291,12750450065451,12750484668459,12750514978859,12750723088427,12750755954731,12750961672235,12751224045611,12751270281259,12751339094059,12751418916907,12764803792939,12764912025643,12764991062059,12765004398635,12765015834667,12779478122539,12779530649643,12779556372523,12786482249771,12805064097835,12806365151275,12806513754155,12814631370795,12814678130731,12815098085419,12815267627051,12815286599723,12815304982571,12815457976363,12815515189291,12815554543659,12815585837099,12822485368875,12823408869419,12823481122859,12836595335211,12836935368747,12837775540267,12837799788587,12837805719595,12837895110699,12852578779179,12852601749547,12852609646635,12852615970859,12852627505195,12852641366059,12852665942059,12852671283243,12852753793067,12852759953451,12852774469675,12852790362155,12875198431275,12884020953131,12886706618411,12886716317739,12914385092651,12953639387179,12954267516971,12954307690539,12954684391467,12954687111211,12954697367595,12954700021803,12954705494059,12954737115179,12954757038123,12954757824555,12954770669611,12995899097131,12995905617963,12995920396331,12995943202859,12995964600363,12995988389931,12996002512939,12996013359147,12996024270891,12996049469483,12996096983083,12996344184875,12996359847979,12996406050859,12996412538923,12996419354667,12996444127275,12996449271851,12996626284587,12996676190251,13001920544811,13002719264811,13010350374955,13010358272043,13010375114795,13010555273259,13010585911339,13010669600811,13017976733739,13018016120875,13018045087787,13018051084331,13018070319147,13018079232043,13018103250987,13018112720939,13018124779563,13018142146603,13018148470827,13018153844779,13018159546411,13018170851371,13018180386859,13018186612779,13018209746987,13018224721963,13018241826859,13018330431531,13022506385451,13022521065515,13022521163819,13022628741163,13023042469931,13023066259499,13023073009707,13023093882923,13023097684011,13023106039851,13023112134699,13023120162859,13023136710699,13023149260843,13023160926251,13023459901483,13023469174827,13023486312491,13023517605931,13023557156907,13023622627371,13023645597739,13023653593131,13023876743211,13023906857003,13023920259115,13023985565739,13024011059243,13025219969067,13034702405675,13037657423915,13037705822251,13037723811883,13037742587947,13066066100267,13066450042923,13067290607659,13067569266731,13067809292331,13069006176299,13069006438443,13069023936555,13069030129707,13069036453931,13069130006571,13072467361835,13082243465259,13082746191915,13082895679531,13083591344171,13083619328043,13083632238635,13083690696747,13083699609643,13084768403499,13085583081515,13085947854891,13095537573931,13096062779435,13098338779179,13098408280107,13098464772139,13098487709739,13111574233131,13114148192299,13114376192043,13114398670891,13114424295467,13114471252011,13114862665771,13114887143467,13114893762603,13133598130219,13133611270187,13133879050283,13133893173291,13142387818539,13145751289899,13146021920811,13146121371691,13154100477995,13158145163307,13180368191531,13180482388011,13181607215147,13181915988011,13190904938539,13190942588971,13190964346923,13190994919467,13192816984107,13214404968491,13214569267243,13214569922603,13214602657835,13214603509803,13214604427307,13222339444779,13222352781355,13222390759467,13266057658411,13283244736555,13300179927083,13300427620395,13300484538411,13301640167467,13302570844203,13357481001003,13357585268779,13357596901419,13357607387179,13357611253803,13358011482155,13358702755883,13358802239531,13358938193963,13358940028971,13372111519787,13372127477803,13372139536427,13372179546155,13372180594731,13372183314475,13372190949419,13385730031659,13385891086379,13385913892907,13397515108395,13433751470123,13433771884587,13433797836843,13433821462571,13433915244587,13433934151723,13434403094571,13434449723435,13434731921451,13434747879467,13447911014443,13448068595755,13464268832811,13464354750507,13464375263275,13484822396971,13485682786347,13485742620715,13485771915307,13486529642539,13486546485291,13486592426027,13486599307307,13486602256427,13486603337771,13486606745643,13486789460011,13486793818155,13486797881387,13486919483435,13486930526251,13486932033579,13486935146539,13486938423339,13486993276971,13487086010411,13487090991147,13487094890539,13487095939115,13487097085995,13487099904043,13487111176235,13487115730987,13487215509547,13487232745515,13487274164267,13487301165099,13487322693675,13487609970731,13487669248043,13487902818347,13498593935403,13498613465131,13498630996011,13499796684843,13500939698219,13501022306347,13501042688043,13501157670955,13501177528363,13501215244331,13517597114411,13517935738923,13522702499883,13526703079467,13526713008171,13526713270315,13526717136939,13526748823595,13526768943147,13526775332907,13526776840235,13526792601643,13526793289771,13572273995819,13572501635115,13614435401771,13614495268907,13614589902891,13683527680043,13695691227179,13714995576875,13715247464491,13715403505707,13715462651947,13735254786091,13856573489195,13858925117483,13858960277547,13871973629995,13871993847851,13872273424427,13887247384619,13890329673771,13890415624235,13890453569579,13890547187755,13890626781227,13890655879211,13891183575083,13894452379691,13895483555883,13909237006379,13909715288107,13910021210155,13910062333995,13910104571947,13910492184619,13910833135659,13922713370667,13922863579179,13922960572459,13932987678763,13932987809835,13935406350379,13935524282411,13935546040363,13935624388651,13947609251883,13947617804331,13947624882219,13964634062891,13978566983723,13978594639915,13978640285739,13978693369899,13980083028011,14021797969963,14021803704363,14074309247019,14074451460139,14074696433707,14074983284779,14142782472235,14143068274731,14173341319211,14187871567915,14238083973163,14255126609963,14255421882411,14255423651883,14274684092459,14311769341995,14311781302315,14336579534891,14336700809259,14336700842027,14336780501035,14342746275883,14343117865003,14343137001515,14343637991467,14343685570603,14343701659691,14394908213291,14395156201515,14403873439787,14403884974123,14403885826091,14403886546987,14405452267563,14405541822507,14405589925931,14405779849259,14406644629547,14406674022443,14406928433195,14407566065707,14422599663659,14422779035691,14459029651499,14459167899691,14460089532459,14476434997291,14486891200555,14518030204971,14519611883563,14520007163947,14520654430251,14520673370155,14555600584747,14557307371563,14591567364139,14592682360875,14592979566635,14604916686891,14702967881771,14752265928747,14753028571179,14753508720683,14759168311339,14776985911339,14781465067563,14941562470443,14941594812459,14941607133227,14941716512811,15027650428971,15077057200171,15103610191915,15103657803819,15147252056107,15148353126443,15205082365995,15269973819435,15270246154283,15270821265451,15276229460011,15330003517483,15460176330795,15460246159403,15460394500139,15460445749291,15460487626795,15473192108075,15473241522219,15473518444587,15544711741483,15578241761323,15578262569003,15578342260779,15578415300651,15593442345003,15593464266795,15605409349675,15605409447979,15640804065323,15641226051627,15641363677227,15661112295467,15677316890667,15682324070443,15682324889643,15699975798827,15700032880683,15700095860779,15700108116011,15713630978091,15733726609451,15758009040939,15758109048875,15767862706219,15795629326379,15795629359147,15795629391915,15795629424683,15795629457451,15795629490219,15795629522987,15795629555755,15795629588523,15795629621291,15795629654059,15795629686827,15795629719595,15795629752363,15795629785131,15795629817899,15795629850667,15795629883435,15795629916203,15795629948971,15795768197163,15795785039915,15795818233899,15796457308203,15796465696811,15796615446571,15808961380395,15810050064427,15817777938475,15817859891243,15824470900779,15824478044203,15833584140331,15866077872171,15956215136299,15971521232939,15992911855659,15993089458219,15993296912427,15997979066411,15997979131947,15997979295787,15997979656235,15998619058219,16002648604715,16002658172971,16003080454187,16003901685803,16004298244139,16009012215851,16030251024427,16030255120427,16040766570539,16043039064107,16043050270763,16043062853675,16043094736939,16045159186475,16049253187627,16171489427499,16201973006379,16272000548907,16272035610667,16272600924203,16272611246123,16272613244971,16272693428267,16272709943339,16307360137259,16317527261227,16317539123243,16317545578539,16317554262059,16317560520747,16317565829163,16317571301419,16317688119339,16323474817067,16323481403435,16323765829675,16323777986603,16323790110763,16324876304427,16325169741867,16332637765675,16354089893931,16354173059115,16377072418859,16396380700715,16396601589803,16396602802219,16406725689387,16406757867563,16406765010987,16406770581547,16406771826731,16406845816875,16406856204331,16408655462443,16408775491627,16424934309931,16425839329323,16426881351723,16446250483755,16446261592107,16446361567275,16446712610859,16448442597419,16448462454827,16449447952427,16508711895083,16508799713323,16509506486315,16528630382635,16532336246827,16616498593835,16616554463275,16616585592875,16616638545963,16616704540715,16731302887467,16775587135531,16821834317867,16830933303339,16831073648683,16831169527851,16831197839403,16831209111595,16831235981355,16846674165803,16846717648939,16898416476203,16899423371307,16900416438315,16900527685675,16900733632555,16900922802219,16900973068331,16901028610091,16901086937131,16901097783339,16901101518891,16901104730155,16901107449899,16903221051435,16903240253483,16903333642283,16903345700907,16903365984299,16903385481259,16903429161003,16903474708523,16903505608747,16903523008555,16903545061419,16903963738155,16903976910891,16913205919787,16961404370987,16986553122859,17028591910955,17028679073835,17207363338283,17235272171563,17236473741355,17236596490283,17236614283307,17236618018859,17236623654955,17236627030059,17236632928299,17236635549739,17236637450283,17236639973419,17236645740587,17236660650027,17236667662379,17236674773035,17236775567403,17238287515691,17238366060587,17238652977195,17238682370091,17239924539435,17240013537323,30120707358763,30229890105387,30259380387883,30264783929387,30264805916715,30264858542123,30264894914603,30265236684843,30272965345323,30276612227115,30284966199339,30285027442731,30285125976107,30285168836651,30285265928235,30719191777323,30719199445035,30858131767339,30860129665067,30873360531499,30984440643627,31043643179051,31049454583851,31049483845675,31049514221611,31049524314155,31049525035051,31051066933291,31051086430251,31051294146603,31051300077611,31054260109355,31054273183787,31054541783083,31054562132011,31054573207595,31083592187947,31085615120427,31282431655979,31294756356139,31403157258283,31403161026603,31403169579051,31403174625323,31403178295339,31404556222507,31404719341611,31409604689963,31409608785963,31409676353579,31409694277675,31409715314731,31409717772331,31409729011755,31409785241643,31413700821035,31417623248939,31426187427883,31426196537387,31445401829419,31445402353707,31445565571115,31462424510507,31472712155179,31473473945643,31473474273323,31473494360107,31473519394859,31473524572203,31473631625259,31473633787947,31483776172075,31488261783595,31488264306731,31488271220779,31490314043435,31491327459371,31494213337131,31494336249899,31495433912363,31495492501547,31495510720555,31495522549803,31495551942699,31495554301995,31495554957355,31496781004843,31497083715627,31497112584235,31497116057643,31497118777387,31497806381099,31497867427883,31497884336171,31497884893227,31497886138411,31497887940651,31499018469419,31499198365739,31514593296427,31526578978859,31528317026347,31533011337259,31533093027883,31537787994155,31538032640043,31544400085035,31544400281643,31544401133611,31544402149419,31544402673707,31544403427371,31544404869163,31544406376491,31544406835243,31544407326763,31544408145963,31544409292843,31544409686059,31544410243115,31544411160619,31544411488299,31544427905067,31544428298283,31544428658731,31544428888107,31544430428203,31556524965931,31556525719595,31562322968619,31562326442027,31562328342571,31562329522219,31562377232427,31562943594539,31565510115371,31565544751147,31566436270123,31566448853035,31566450589739,31566452195371,31628962398251,31633224106027,31665505337387,31666521636907,31671627481131,31671849254955,31671877206059,31675540832299,31675584675883,31675617837099,31695965093931,31695982166059,31710678482987,31710681727019,31710690476075,31712330874923,31712379469867,31712401326123,31739971731499,31765727215659,31807298633771,31810524643371,31810536669227,31810557345835,31815364050987,31815799963691,31842290434091,31842439692331,31842477965355,31842595242027,31844916690987,31856202186795,31865127960619,31888584900651,31891240681515,31902677237803,31902680842283,31902719705131,31906121842731,31906145304619,31923657834539,31923666845739,31923693551659,31925586427947,31925655765035,31926033449003,31926034300971,31926780756011,31927445749803,31927446241323,31934512988203,31934521475115,31934522327083,31938967240747,31945388851243,31973665898539,31973673304107,31984457318443,31987563036715,32001042939947,32001238433835,32003240067115,32004581523499,32866869051435,32894715232299,32896972718123,32904756232235,32904906899499,32904959000619,32907079876651,32914256494635,32926220877867,32928518078507,32928582467627,32929926512683,32937880059947,32937897361451,32937914957867,32937927475243,32937942712363,32937949298731,32937976561707,32938228121643,32938236772395,32938321182763,32938363158571,32938367254571,32938373021739,32938380525611,32938396680235,32938409590827,32938422730795,32938449797163,32938495344683,32938505764907,32938545578027,32938556293163,32938566090795,32938588667947,32938595844139,32938630971435,32938688741419,32938711384107,32938717020203,32938721673259,32938760175659,32938783375403,32938799628331,32938809098283,32938816864299,32938826268715,32942087405611,32952643190827,32955273740331,32974207975467,32975715369003,32975715401771,32975715434539,32975715500075,32975715729451,32975715794987,32975715827755,32975715860523,32975715893291,32975715926059,32975716089899,32975716155435,32975716220971,32975716483115,32975716548651,32975716614187,32975716712491,32975716810795,32975717007403,32975717040171,32975717138475,32975717204011,32975717269547,32975717335083,32975717400619,32975717466155,32975717498923,32975717531691,32975717597227,32975717761067,32975717826603,32975717924907,32975717957675,32975718055979,32975718121515,32975718219819,32975718285355,32975718350891,32975718383659,32975718416427,32975718645803,32975718678571,32975718776875,32975718842411,32975718907947,32975719170091,32975719235627,32975719301163,32975719366699,32975719465003,32975719694379,32975719792683,32975719858219,32975719923755,32975720022059,32975720087595,32975720153131,32975720218667,32975720284203,32975720349739,32975720415275,32975720546347,32975720644651,32975720742955,32975720808491,32975720874027,32975722676267,32975723233323,32975723298859,32975723364395,32975723429931,32975723495467,32975723561003,32975723626539,32975723692075,32975723757611,32975723823147,32975723921451,32975723954219,32975723986987,32975724052523,32975724118059,32975724183595,32975724216363,32975724249131,32975724281899,32975724478507,32975724642347,32975724773419,32976927129643,32976937386027,32977185210411,32977193893931,32977200021547,32984440766507,33004553633835,33004777832491,33004784156715,33005951025195,33020219949099,33022041325611,33022070489131,33022145265707,33023772721195,33028405198891,33028512874539,33029618696235,33029713657899,33029772050475,33029795512363,33030720356395,33030730907691,33030737461291,33030773833771,33030958874667,33031942701099,33031953973291,33037239156779,33038368538667,33042364629035,33042386288683,33043419168811,33047657873451,33050574028843,33050575536171,33050576093227,33051984461867,33057550729259,33057645232171,33057657421867,33065975349291,33066021552171,33066030628907,33067691540523,33070289584171,33079879073835,33083209973803,33083600338987,33083684356139,33090654928939,33093363204139,33093418745899,33093763465259,33099183423531,33121565245483,33121794228267,33128602402859,33129624371243,33129667788843,33132867944491,33132898287659,33132911263787,33135937028139,33136001056811,33136001089579,33137416306731,39266134818859,39266328281131,39270021759019,39270021857323,39270021890091,39270021922859,39270085984299,39272414806059,39273600090155,39291929985067,39291930017835,39291930050603,39291930116139,39291930214443,39291930607659,39291930771499,39291931230251,39291932246059,39291932278827,39291932311595,39291932442667,39291932475435,39291932508203,39291933360171,39291933622315,39291934408747,39291934507051,39291934572587,39291934933035,39292952641579,39292987047979,39305754411051,39309796671531,39309796704299,39321992822827,39322002030635,39322006978603,39322010026027,39322016645163,39322028933163,39322048036907,39322080182315,39323525414955,39323553464363,39323562213419,39323888189483,39327304908843,39327357861931,39327361138731,39327364644907,39327469994027,39327475630123,39327500992555,39327506235435,39327564988459,39327570952235,39330650030123,39330650292267,39330651275307,39330651996203,39330652880939,39330867871787,39332460560427,39339328864299,39339340103723,39340424298539,39340429934635,39340434358315,39344967319595,39344980852779,39344983506987,39344985505835,39345190404139,39345202298923,39346445746219,39347748372523,39348435419179,39350019588139,39350022701099,39350029451307,39350042132523,39350048751659,39350051962923,39350054191147,39350055927851,39353096896555,39353426739243,39353532481579,39353559449643,39354583646251,39356660219947,39360384696363,39361143832619,39361613266987,39361836318763,39361836351531,39361836384299,39361878065195,39361879081003,39363099590699,39363101425707,39363241312299,39363300786219,39363301015595,39364609048619,39364635492395,39370710122539,39370713792555,39370717855787,39371433082923,39371505532971,39379601227819,39379856392235,39379859308587,39379860291627,39379861602347,39379861635115,39384405147691,39385559662635,39386670268459,39386687406123,39388001566763,39392090652715,39393074544683,39393106952235,39393112883243,39393987788843,39393989034027,39394228666411,39394233417771,39394234269739,39394235482155,39397387862059,39397455626283,39397979521067,39397982076971,39400377352235,39400381055019,39405093224491,39405219577899,39407391997995,39407396651051,39407405695019,39407505145899,39407509667883,39407528837163,39407555379243,39407579791403,39407595651115,39407641624619,39408018882603,39408022880299,39408037986347,39408050044971,39408084451371,39408161226795,39408177086507,39408211230763,39409618681899,39409624416299,39409648926763,39409652531243,39412303888427,39412709621803,39412789313579,39414439739435,39425497890859,39425630568491,39425749254187,39425782579243,39434908368939,39436910690347,39438661484587,39440584245291,39442864635947,39445378596907,39445378629675,39445378727979,39445854191659,39446458171435,39446474227755,39446487728171,39449200623659,39449203015723,39449685819435,39450336854059,39456639713323,39456712032299,39456872136747,39462471860267,39462478610475,39462513082411,39462534119467,39462536249387,39469087326251,39471589130283,39471589589035,39471589785643,39471592931371,39471593259051,39471596011563,39471596732459,39471597125675,39471597682731,39471597748267,39471601254443,39471606890539,39471607808043,39471608397867,39471608627243,39471608856619,39471608987691,39472371204139,39473890099243,39473902059563,39473942528043,39475258097707,39480490655787,39480603541547,39480880431147,39480936267819,39486705139755,39494147244075,39503622668331,39510382706731,39532872532011,39532900909099,39532942655531,39532992200747,39533058981931,39533100695595,39533129302059,39533171441707,39533203292203,39533205389355,39533207388203,39533264994347,39533265518635,39536651796523,39536651829291,39536653074475,39536654155819,39536655073323,39536656220203,39536656384043,39536656613419,39536657465387,39557502631979,39572630110251,39572632141867,39572633157675,39572633681963,39572634075179,39572634271787,39572634927147,39572636303403,39572640104491,39572660256811,39572676313131,39572686798891,39574584066091,39574584098859,39577166774315,39577229492267,39585531068459,39585986969643,39587723313195,39603712852011,39603716653099,39603717472299,39603718094891,39603719798827,39603722027051,39603741425707,39603752501291,39608867160107,39608958746667,39609034211371,39609055412267,39609103646763,39609107316779,39609121046571,39609136414763,39609138282539,39609155092523,39609179177003,39609187794987,39609201754155,39609212239915,39609215123499,39609667977259,39627525783595,39647653986347,39648263471147,39650190721067,39652550541355,39652922359851,39652931993643,39662372618283,39662382022699,39662383530027,39666872123435,39666905808939,39667131187243,39675586347051,39695942647851,39696039247915,39696042459179,39696057040939,39736949309483,39736974999595,39736977522731,39736979193899,39737021235243,39737023823915,39760061104171,39760064282667,39764310229035,39764322549803,39764324581419,39774845763627,39774846418987,39774900125739,39792248586283,39796039876651,39800520310827,39800619106347,39836655812651,39836655943723,39837839228971,39837839261739,39838133452843,39838133551147,39838134501419,39838134534187,39838134927403,39838135058475,39838191747115,39838191976491,39838192173099,39838192402475,39838194466859,39838194499627,39838194958379,39838195122219,39838195187755,39838195351595,39838195417131,39838195449899,39843789439019,39843796385835,39857690607659,39875062366251,39875275948075,39877004099627,39877004722219,39877004754987,39877041193003,39877041455147,39877043388459,39877044895787,39877045059627,39877045256235,39877045321771,39877045354539,39877045452843,39877045485611,39877045616683,39877045878827,39877045911595,39877045944363,39877045977131,39877046173739,39877046206507,39877046239275,39878236471339,39878248464427,39878748012587,39881230254123,39881250242603,39884423692331,39884423725099,39887198748715,39887709175851,39889177149483,39889293049899,39889387814955,39889537335339,39892153237547,39892176273451,39892186824747,39893754478635,39896070717483,39901499981867,39901570957355,39901601300523,39902067261483,39913035857963,39913091465259,39913091530795,39913092251691,39923511754795,39932105097259,39933897572395,39934165712939,39934171152427,39934174724139,39934207852587,39934211358763,39934212571179,39934213095467,39934213881899,39934243274795,39934254383147,39934254809131,39934255267883,39934256611371,39934257561643,39934258118699,39934258642987,39934260903979,39934262444075,39934264344619,39934264705067,39934265983019,39934266933291,39934267260971,39934268637227,39934280007723,39934283120683,39934287904811,39934292394027,39934298226731,39934317756459,39934321721387,39934327652395,39934330732587,39935317409835,39935323766827,39935324192811,39935330943019,39935335202859,39935340118059,39935340806187,39935342084139,39935364366379,39935367151659,39935374688299,39935393431595,39935397036075,39935398182955,39935399854123,39935407915051,39935425609771,39935476564011,39935501434923,39935638831147,39935648202795,39935653543979,39935679103019,39935681396779,39935717113899,39935719276587,39935724355627,39950599716907,39957043413035,39963224670251,39966667636779,39966849040427,39966863261739,39966870929451,39966876368939,39966895341611,39966895374379,39966903271467,39966921883691,39966943707179,39968959135787,39968962641963,39969030373419,39971625238571,39976158167083,39977146744875,39977157591083,39977158737963,39977439526955,39988491321387,39992001626155,39995325218859,40004000841771,40004231626795,40004233199659,40004235034667,40004246634539,40004268163115,40004269539371,40004274389035,40004281172011,40004284383275,40004316069931,40013225099307,40013341556779,40013657473067,40022016032811,40022786605099,40025009717291,40025418170411,40038592938027,40038598475819,40045271220267,40054590963755,40054809264171,40055192158251,40056677105707,40056696045611,40056697159723,40056716329003,40058984366123,40058992951339,40058995015723,40059057897515,40063166775339,40071295762475,40073005858859,40083411796011,40083597688875,40083617710123,40083626197035,40086025863211,40087889477675,40087896358955,40088284561451,40088290754603,40088294293547,40093904470059,40101113364523,40110373306411,40112794697771,40112799612971,40121374933035,40147507773483,40147677085739,40153290801195,40166839713835,40166842892331,40166854492203,40166857080875,40167307214891,40174156152875,40174169948203,40175975530539,40175977398315,40186150551595,40187834433579,40187840430123,40187855306795,40187868872747,40187921891371,40214289809451,40214301147179,40214312026155,40215304011819,40223182061611,40223182094379,40223185698859,40223185731627,40223185797163,40223185829931,40223186092075,40223186649131,40223186976811,40223188680747,40223189237803,40223190155307,40223190220843,40223191629867,40223198707755,40223199363115,40223199494187,40223199559723,40223199723563,40223199821867,40223199854635,40223199920171,40223200018475,40223200084011,40223200149547,40223200477227,40225750319147,40228650876971,40228674404395,40228718149675,40228746985515,40228815437867,40228836868139,40228865376299,40228892180523,40229084430379,40229119000619,40261415534635,40269574996011,40269588267051,40269903953963,40269936885803,40270003339307,40270054293547,40270090862635,40270132805675,40270148567083,40270165049387,40270179205163,40270210924587,40270237073451,40270262009899,40270280556587,40273453514795,40274281005099,40274294112299,40274304172075,40274318524459,40274329239595,40274348310571,40276062437419,40276074201131,40276095336491,40276107755563,40276137115691,40276150386731,40276153794603,40276160249899,40276172242987,40276178993195,40276190265387,40284713189419,40287075237931,40288147079211,40321454866475,40321484161067,40322492235819,40322495184939,40322496659499,40322501771307,40322503049259,40322503475243,40322504097835,40322504720427,40322505375787,40322505637931,40322509275179,40322510716971,40322511667243,40322513010731,40322515664939,40322516484139,40322518089771,40322518646827,40322530607147,40322555805739,40322590113835,40322627960875,40322638544939,40322645590059,40322651815979,40322661482539,40322670690347,40322678292523,40322697232427,40333140295723,40333450706987,40337971904555,40337973346347,40339926122539,40349298622507,40349317726251,40349372317739,40349397057579,40349407019051,40352887472171,40352893239339,40352896679979,40352897892395,40352899498027,40352903888939,40368768548907,40368776151083,40368783392811,40368788340779,40368794009643,40368799678507,40381968023595,40381970481195,40397840252971,40397844480043,40405059141675,40405072347179,40405081751595,40405091156011,40405107474475,40414742904875,40421153112107,40427687542827,40427690426411,40427691474987,40429680689195,40432235708459,40432296165419,40432313040939,40432321888299,40432349380651,40432363175979,40432404135979,40432458432555,40432497786923,40432509845547,40436812382251,40436820574251,40436822671403,40436827914283,40436831846443,40436834664491,40436854816811,40436857372715,40436866383915,40436871266347,40439601823787,40439602217003,40443462909995,40443464122411,40443465105451,40443465433131,40443465695275,40443465990187,40470240297003,40470240657451,40470243115051,40470243639339,40472221745195,40476653551659,40494925414443,40510742691883,40510964170795,40512860422187,40512864354347,40512886079531,40512890994731,40512898957355,40512901840939,40512928120875,40512930775083,40512934576171,40512936214571,40512937656363,40515920822315,40515923443755,40517190615083,40517199790123,40517204541483,40517427691563,40526673182763,40526675738667,40526678261803,40526680588331,40533114126379,40533183561771,40533585723435,40533765357611,40533791604779,40533820211243,40535245881387,40535385079851,40535392354347,40535404314667,40535474405419,40535506714667,40535527555115,40535819681835,40543167971371,40544937902123,40545361952811,40548063117355,40548069998635,40548812357675,40551768031275,40551784316971,40551925383211,40554365288491,40554442227755,40554442752043,40554443735083,40554682351659,40559749431339,40561283072043,40561334878251,40561338220587,40561383079979,40561406967851,40561426038827,40561463132203,40561474076715,40561504256043,40561523884075,40561699160107,40561715576875,40561719345195,40561724325931,40561731076139,40561732780075,40561760370731,40561790615595,40561800642603,40563214417963,40563224772651,40563262783531,40563283329067,40563297419307,40563305087019,40566456942635,40566472343595,40566477291563,40573681238059,40573684744235,40573688938539,40574475239467,40574478057515,40600991072299,40600994807851,40601001295915,40601005359147,40601006407723,40601010372651,40602799636523,40602810581035,40602813661227,40602819854379,40606580277291,40606647582763,40607419793451,40607419858987,40610946678827,40610952249387,40611768401963,40617091629099,40618176544811,40622049427499,40622095368235,40634581942315,40634622050347,40636442017835,40636449128491,40637303259179,40637303455787,40637303488555,40637306208299,40637307781163,40643738468395,40643768811563,40643791028267,40643817734187,40649465462827,40650600742955,40650606739499,40650609623083,40650614210603,40650617749547,40650618667051,40650620207147,40650625974315,40650631544875,40655743254571,40660840742955,40660934426667,40663108157483,40663109107755,40663122444331,40663122542635,40663123263531,40663123296299,40663123787819,40663124082731,40663124443179,40663124934699,40671363661867,40671421366315,40671427526699,40680497479723,40690327552043,40696434917419,40713886203947,40713992142891,40714002726955,40714003218475,40714006560811,40714013868075,40714017341483,40718622425131,40718673412139,40719033040939,40719045656619,40719222702123,40719231320107,40719369044011,40719376056363,40721399709739,40721400987691,40721404362795,40721432084523,40721447387179,40721460461611,40721676337195,40721689772075,40722707873835,40722760859691,40722767282219,40722812403755,40722885738539,40722972540971,40722976243755,40722997444651,40723002458155,40723012157483,40723017334827,40723131400235,40724192690219,40724242432043,40728523145259,40728573902891,40728597659691,40728653824043,40728673353771,40729259049003,40729263538219,40730662535211,40731546583083,40732488368171,40733294493739,40733295837227,40733299441707,40733300031531,40733301047339,40735712575531,40736266256427,40737290092587,40737317879851,40737369161771,40737369522219,40737369980971,40737370046507,40737370308651,40737370374187,40737370406955,40737370538027,40737371127851,40737371291691,40737371521067,40737372078123,40737372110891,40737372176427,40737372733483,40737372766251,40737372799019,40737372831787,40737372864555,40737373061163,40737373126699,40737373257771,40737373323307,40737373356075,40737373388843,40739161309227,40739176415275,40739203252267,40739210297387,40739212165163,40739213639723,40739215278123,40739222159403,40739225960491,40739282911275,40744239923243,40745587965995,40745673326635,40750579351595,40751467298859,40753803198507,40757769764907,40759836344363,40764191637547,40764545400875,40764546154539,40764546646059,40764546842667,40764548710443,40764549136427,40768601587755,40768682229803,40771637936171,40771880878123,40771881074731,40772953604139,40774480035883,40774485016619,40775964917803,40779759648811,40780639273003,40780639338539,40780639371307,40780639404075,40780639436843,40780639469611,40780639502379,40780639535147,40780639567915,40780639633451,40780639666219,40780639731755,40780639764523,40780639830059,40780639862827,40780639895595,40780639961131,40780639993899,40780640026667,40780755173419,40781442482219,40786477645867,40786646433835,40786652528683,40786653872171,40787641892907,40788657045547,40788662124587,40788666548267,40788717633579,40790026125355,40790045818923,40790108635179,40795127414827,40795357446187,40795358494763,40797932388395,40797939630123,40797955653675,40798002741291,40798005329963,40798008573995,40798009458731,40798010703915,40798011097131,40800389398571,40801082474539,40801112653867,40801691992107,40801709948971,40801739374635,40801744191531,40801751466027,40801777713195,40801847705643,40801854193707,40801897152555,40801898430507,40801903181867,40801903247403,40801903280171,40801903411243,40801950531627,40802514960427,40802546843691,40802548645931,40802551332907,40802555002923,40802557689899,40802571649067,40802580201515,40802597175339,40802603466795,40802762129451,40802767274027,40802768977963,40802782871595,40803132735531,40803138240555,40803176808491,40807151960107,40808357101611,40808405893163,40808409464875,40808422408235,40808424505387,40808427552811,40808431583275,40808474607659,40808480505899,40808488435755,40808499806251,40808508686379,40815113535531,40816150904875,40817028005931,40817045700651,40817045995563,40817050746923,40817063034923,40818129436715,40818130026539,40818130911275,40821317271595,40822081028139,40824918573099,40824956420139,40827177926699,40827183759403,40827911209003,40827915337771,40831820464171,40831839273003,40831843336235,40833199570987,40833214644267,40833259307051,40833293418539,40833297547307,40833312948267,40833313701931,40833314258987,40833315405867,40833315962923,40833344241707,40833344765995,40833344962603,40833345650731,40833345945643,40833346273323,40835969286187,40835980230699,40837671977003,40837676990507,40843677466667,40843719573547,40847465218091,40848120578091,40848121561131,40848379641899,40850182537259,40850196070443,40850199609387,40850215043115,40850218188843,40858464845867,40858838663211,40858863403051,40865001472043,40865048854571,40865107378219,40865110163499,40865134182443,40865160167467,40865161314347,40865173504043,40870284165163,40878038057003,40878039105579,40878039498795,40878091042859,40878103101483,40878106968107,40883429212203,40883430785067,40883434979371,40884281376811,40885455519787,40885890187307,40885891891243,40887609786411,40887618797611,40895031312427,40895032033323,40895034982443,40896659226667,40897322352683,40897323630635,40897329987627,40897330348075,40897337196587,40897341390891,40897362919467,40897367834667,40897404076075,40897405157419,40897416069163,40897416626219,40897417019435,40897423409195,40897423802411,40897424916523,40897430224939,40897433075755,40897433731115,40897434124331,40897434517547,40897461354539,40897467744299,40897470529579,40897476821035,40897481211947,40897486258219,40897486520363,40899455844395,40899468296235,40899476815915,40899480584235,40899483959339,40899485794347,40899488579627,40899491594283,40899494314027,40899506307115,40899523772459,40899525574699,40899528228907,40899533111339,40899537666091,40899540385835,40899559063595,40899562373163,40899564863531,40899566665771,40899579576363,40899582099499,40899584786475,40899587538987,40899591340075,40899594059819,40899601301547,40899603628075,40899607003179,40899611721771,40899615096875,40899628073003,40899629940779,40899632037931,40899634790443,40899637575723,40899640197163,40899643113515,40899646816299,40899652419627,40899658743851,40899660087339,40899664117803,40899665297451,40899670310955,40899673325611,40899678896171,40899729195051,40899731685419,40899734700075,40899739877419,40899743121451,40899748528171,40899752886315,40899756687403,40899764092971,40899779461163,40899801514027,40899804299307,40899806920747,40899813277739,40899816587307,40899818881067,40899824418859,40899827171371,40899830480939,40899832545323,40899835199531,40899837198379,40899840442411,40899844800555,40899847749675,40899903586347,40899905585195,40899908567083,40899912171563,40899914924075,40899917905963,40899918659627,40899927801899,40899930521643,40899932717099,40899934322731,40899937239083,40899939467307,40899941629995,40899943530539,40899947266091,40899947593771,40899959259179,40899970957355,40899980099627,40899983441963,40899985768491,40899988291627,40899991830571,40899992813611,40899994877995,40899995893803,40899996844075,40899998777387,40900002283563,40900007854123,40900010541099,40900023124011,40900025253931,40900026925099,40900047208491,40900057137195,40900064641067,40901369266219,40901369495595,40901372870699,40901373853739,40901374345259,40901375164459,40901375361067,40901376540715,40901376835627,40901378080811,40901378932779,40901379129387,40901380341803,40901381095467,40901381357611,40901381914667,40901382307883,40901382373419,40901382406187,40901383094315,40901383618603,40901383946283,40901384273963,40901385519147,40901385781291,40901386403883,40901389123627,40901389615147,40901390172203,40901392039979,40901392433195,40901392629803,40901393743915,40901394038827,40901394333739,40901395152939,40901395251243,40901395677227,40901395939371,40901398954027,40901401903147,40901402394667,40901402624043,40901425201195,40901426806827,40901427200043,40901427462187,40901427626027,40901428117547,40901429657643,40901429821483,40901430706219,40901431230507,40901432016939,40901433688107,40901465243691,40901468586027,40901471830059,40901474844715,40901480251435,40901487919147,40901490049067,40901496635435,40901500108843,40901503746091,40901509054507,40901510922283,40901513740331,40901516525611,40901519900715,40901522751531,40901526061099,40901529272363,40901531336747,40901534613547,40901536940075,40901544935467,40901550506027,40901551882283,40901554896939,40901557256235,40901559943211,40901563220011,40901567545387,40901569871915,40901573148715,40901576392747,40901579604011,40901587337259,40901589958699,40901592514603,40901600182315,40901606441003,40901610143787,40901680169003,40901685346347,40901690556459,40901699141675,40901703925803,40901744001067,40901748326443,40901762973739,40901779619883,40901801279531,40901804523563,40901806358571,40901816975403,40901819629611,40903269253163,40903273447467,40903281311787,40903292485675,40904210808875,40904219852843,40904223981611,40904572534827,40908772147243,40908780306475,40909593804843,40909593837611,40909604814891,40910817067051,40910817296427,40910817525803,40910818607147,40910818639915,40910819360811,40910819590187,40910819885099,40910822637611,40910823784491,40910823850027,40919106977835,40919110713387,40921955336235,40921997082667,40922086080555,40922096828459,40922106986539,40922207780907,40922214367275,40922237141035,40922249625643,40922323451947,40922346455083,40922351370283,40923218608171,40923422949419,40923495170091,40923504508971,40923520827435,40923527282731,40924021588011,40924027715627,40924034170923,40924072607787,40924073525291,40924076867627,40924078768171,40924082274347,40924154429483,40924155936811,40924222193707,40924747857963,40924757426219,40924758999083,40924763324459,40924773515307,40924825944107,40924873654315,40924922183723,40924923887659,40924925853739,40924934864939,40924990865451,40925003776043,40925004628011,40925035429931,40925035757611,40925651107883,40925651140651,40925652025387,40925661593643,40925662707755,40925666345003,40925671161899,40925673291819,40925721559083,40925880090667,40925963714603,40925964599339,40926017093675,40926022893611,40926026301483,40928202915883,40928432848939,40928524763179,40928557301803,40928703447083,40928706396203,40928707739691,40928717504555,40928740212779,40928748765227,40928783073323,40928827244587,40929931788331,40929945452587,40929946796075,40929951612971,40929952464939,40929953611819,40929954267179,40929955676203,40930054832171,40930062499883,40930064269355,40930066530347,40930087010347,40930093695019,40930112929835,40930115878955,40930116730923,40930120335403,40930135605291,40930616868907,40930643902507,40930719957035,40930818752555,40930833203243,40932436803627,40932446076971,40932449746987,40934370377771,40934380830763,40934386761771,40934388105259,40934389153835,40934390038571,40934391480363,40934392397867,40934395936811,40934951977003,40934970720299,40935927611435,40935928561707,40937533767723,40937570435115,40937571352619,40937573023787,40937599762475,40937603530795,40937616179243,40937616801835,40937618538539,40938020536363,40938075258923,40938553507883,40938553770027,40938562388011,40938564321323,40938565828651,40938567172139,40938619633707,40938623991851,40938632445995,40938789273643,40941149225003,40941561479211,40942714945579,40942823243819,40942837891115,40943110422571,40943111274539,40943534112811,40943534276651,40943537160235,40943563997227,40943568814123,40943575007275,40943578087467,40943648342059,40943689859115,40943699394603,40943699427371,40943735144491,40943739633707,40944844275755,40945692180523,40953223217195,40957181329451,40957184835627,40957186932779,40957189455915,40957190406187,40957191749675,40959611928619,40960711524395,40960711688235,40960711721003,40960711917611,40960712015915,40960712409131,40960712605739,40960712704043,40960712835115,40960713097259,40963963387947,40964673110059,40964690739243,40964702175275,40965189500971,40965189566507,40965285216299,40965737545771,40966504513579,40967403470891,40967406354475,40967409631275,40967452852267,40971108319275,40971298603051,40972073566251,40972076384299,40972099092523,40977300324395,40977591304235,40977595072555,40977602117675,40977608966187,40981791309867,40981791670315,40981792555051,40981792981035,40981793243179,40981794684971,40981804449835,40981805006891,40981805531179,40981819883563,40984185339947,40984185864235,40984248614955,40984250482731,40984250974251,40984251039787,40984251105323,40984458690603,40984459542571,40984460689451,40984862687275,40984862720043,40984862752811,40984862818347,40984862851115,40984862883883,40984862949419,40984862982187,40984952602667,40985260392491,40985749159979,40985818431531,40985819643947,40985837994027,40985841106987,40990082367531,40997000904747,40997291163691,40997306236971,40997317181483,40997323014187,40997326061611,40997328125995,40997343887403,40997480431659,40998164299819,41001532063787,41004263407659,41004266029099,41004269666347,41004272975915,41004657705003,41004765085739,41008895229995,41008963190827,41012831060011,41013593079851,41013593112619,41013596389419,41013811380267,41015689707563,41018994229291,41020216803371,41020224831531,41020225421355,41020695871531,41020707897387,41021303717931,41021342842923,41025923743787,41026358214699,41026546106411,41026565996587,41026677538859,41026681438251,41026693890091,41026700476459,41028016537643,41028016603179,41028018307115,41028018339883,41028018372651,41028019093547,41028019126315,41028019159083,41030400180267,41030400213035,41034506371115,41034508402731,41039761866795,41039857778731,41039871934507,41039882158123,41040071458859,41040658235435,41040719020075,41040720756779,41040721838123,41040723574827,41040733372459,41040735010859,41040737108011,41041540644907,41041546510379,41041556144171,41041560404011,41041562599467,41041565384747,41041567711275,41041574887467,41041576460331,41041579016235,41041598054443,41041604739115,41041645436971,41041663361067,41041695703083,41041697734699,41041702617131,41041709924395,41041712152619,41041740234795,41041746624555,41041753571371,41041759207467,41041858560043,41041860296747,41043459506219,41043464388651,41043468812331,41043472515115,41043475234859,41043478970411,41045374271531,41045420933163,41045422899243,41046706389035,41046707470379,41046711664683,41046713139243,41046714187819,41046715367467,41047178805291,41047285530667,41050187268139,41050188906539,41050220560427,41053140910123,41053723656235,41055814975531,41055815729195,41055816089643,41055848923179,41055851511851,41055861571627,41055909740587,41055909806123,41055973081131,41055974359083,41055975309355,41055982682155,41056000737323,41056010633259,41056062701611,41056701775915,41056721371179,41056727466027,41056728875051,41056934953003,41056960249899,41056961101867,41056961265707,41056961626155,41056974307371,41056974831659,41057760247851,41057767686187,41057771520043,41057771814955,41057773158443,41057774665771,41057775648811,41057975533611,41057983004715,41057991426091,41058009940011,41058064203819,41058064465963,41058064498731,41058065711147,41058065874987,41058066694187,41058066759723,41058066792491,41058066890795,41058066989099,41058067021867,41058099789867,41058101985323,41058102083627,41058103361579,41058104770603,41058104868907,41058105098283,41058105262123,41058105327659,41058622734379,41058622963755,41058627092523,41058632335403,41058632957995,41058643574827,41058651701291,41058654027819,41058656092203,41058674376747,41058864594987,41058866462763,41058872164395,41061165432875,41061279301675,41061280481323,41061281693739,41061304107051,41061310300203,41061321310251,41061322686507,41061324128299,41061370331179,41061833900075,41062335873067,41062941098027,41063002046507,41063008895019,41063011745835,41063072858155,41063075872811,41063092256811,41063136428075,41063791853611,41063858470955,41063864205355,41063891566635,41063898251307,41063904018475,41063914569771,41064046788651,41064131690539,41066073161771,41066075979819,41066156097579,41066157178923,41066162126891,41066172219435,41066173759531,41066184015915,41067639504939,41067688198187,41068991807531,41069068484651,41069069860907,41070887305259,41070894350379,41073409327147,41073644765227,41073646764075,41073647321131,41074968592427,41074968657963,41074968723499,41074968756267,41074969935915,41074972459051,41074972655659,41074976686123,41075815284779,41075876528171,41077706588203,41077879439403,41077880782891,41078425550891,41079533502507,41079541792811,41079560634411,41080430919723,41080765906987,41080766529579,41082046251051,41082046971947,41082047070251,41082167197739,41082338672683,41083969273899,41084869607467,41084875210795,41084875374635,41084876259371,41085080272939,41085124411435,41086700027947,41086701404203,41086707236907,41086771068971,41086773592107,41086890278955,41087627952171,41091373662251,41093136842795,41093352161323,41093354848299,41094113394731,41094154551339,41094170378283,41094233849899,41094237683755,41094239027243,41094274842667,41095372210219,41095378862123,41095396851755,41095401766955,41095405076523,41095409041451,41095436730411,41097075654699,41097093349419,41097097773099,41097102164011,41097108324395,41097113206827,41097115959339,41097122676779,41097136865323,41097140273195,41097143975979,41097149055019,41097164390443,41097697558571,41097784229931,41097790095403,41097806676011,41097811427371,41097813426219,41097817751595,41097820602411,41097822797867,41097827123243,41097831579691,41097835020331,41097843015723,41097847439403,41097850519595,41100190416939,41100196970539,41100199231531,41100200083499,41100200214571,41100202016811,41100216827947,41100217352235,41100218138667,41101584760875,41101587087403,41101588561963,41101589839915,41101590921259,41101643579435,41101654982699,41102647328811,41102647427115,41102667415595,41102680358955,41106294997035,41108997865515,41109006549035,41109010317355,41109010513963,41109253455915,41109266071595,41110937960491,41110939992107,41114493190187,41114493222955,41114493681707,41114493812779,41114493976619,41114546765867,41115843493931,41115847196715,41115850440747,41115852472363,41115861057579,41115864858667,41115871608875,41115872526379,41115872821291,41115874885675,41115899691051,41115902804011,41116436332587,41116440756267,41116445409323,41116447604779,41116465168427,41117380444203,41117384081451,41117455613995,41117478453291,41117487005739,41117497327659,41117510303787,41118739791915,41118739824683,41118858936363,41124000497707,41124207427627,41124355375147,41124904239147,41125132959787,41125137317931,41125143576619,41125924339755,41125975654443,41125982076971,41125989810219,41125990465579,41126005571627,41126006128683,41126008881195,41127182565419,41127184072747,41127184334891,41127184957483,41127184990251,41127185023019,41127185186859,41127185350699,41128539324459,41128539357227,41128542928939,41128542961707,41128546009131,41128546697259,41128546730027,41128547844139,41128547876907,41128554397739,41128558198827,41128558231595,41128560459819,41128560492587,41128564424747,41128564457515,41128565997611,41131432607787,41131433590827,41131433721899,41131434180651,41131434868779,41131435425835,41131435622443,41133507510315,41133621641259,41133625147435,41133628096555,41133630226475,41133635436587,41133638451243,41136231743531,41136231776299,41136231809067,41136297836587,41136974266411,41136979509291,41139086229547,41139091079211,41139094552619,41139096387627,41139099664427,41139104055339,41139106742315,41139131940907,41139142197291,41139143573547,41139159892011,41140222820395,41140223934507,41140229832747,41140238123051,41140241399851,41140245233707,41140257456171,41140305592363,41140360052779,41140367720491,41140378009643,41140381876267,41140386005035,41140391051307,41140421558315,41140428832811,41140436566059,41140447182891,41140469792811,41140472119339,41140476608555,41140485390379,41140489158699,41142029942827,41142042427435,41142044950571,41142062940203,41142220488747,41143527931947,41143531929643,41143738007595,41145445548075,41145448497195,41145450266667,41145450463275,41145513902123,41145969213483,41146336182315,41146339786795,41146344931371,41147343044651,41147343896619,41147983757355,41148604874795,41148616212523,41148644491307,41148658614315,41148658647083,41148696428587,41149938761771,41151042125867,41152194412587,41152380665899,41153266941995,41153267793963,41153682440235,41153685389355,41155101294635,41155415867435,41155425992747,41155426910251,41155427434539,41155427958827,41156226646059,41156937318443,41156941840427,41156944855083,41157586518059,41158993838123,41158997016619,41159005110315,41159329251371,41162379198507,41165559726123,41165559791659,41165559857195,41165559922731,41165559988267,41165560053803,41165560119339,41165560184875,41165560250411,41165560315947,41165560381483,41165560447019,41165560512555,41165560578091,41165560643627,41165560709163,41165560774699,41165560840235,41165560905771,41165560971307,41165561036843,41165561102379,41165561167915,41165561233451,41165561298987,41165561364523,41165569753131,41165577814059,41165580435499,41165585678379,41165588660267,41167340339243,41167340732459,41167341584427,41167346171947,41167945138219,41167954313259,41167955197995,41169305665579,41169676959787,41169677156395,41169677746219,41169688231979,41169688297515,41169688887339,41169689772075,41169778049067,41169793187883,41169794531371,41169796399147,41169799643179,41169803509803,41169804951595,41169807966251,41169809244203,41169813667883,41169814945835,41170157436971,41170158682155,41170166022187,41170179031083,41170179751979,41170180800555,41170227494955,41171292487723,41171292684331,41171293405227,41171294126123,41171294289963,41171304022059,41173545779243,41173547221035,41175814799403,41177570672683,41177639551019,41178135724075,41178139754539,41178144505899,41178492534827,41178496434219,41178510852139,41178536673323,41178544078891,41178547290155,41178548797483,41180027781163,41180028338219,41180032204843,41180034236459,41180036005931,41180040003627,41180042100779,41180043804715,41180045967403,41180060221483,41180064907307,41180068085803,41181372383275,41182212849707,41182506156075,41183901057067,41183906594859,41184012566571,41184018399275,41184020791339,41184178700331,41184180535339,41184992067627,41185172521003,41185175502891,41185178157099,41185179566123,41185182842923,41185185955883,41185339899947,41185341997099,41185344258091,41185345208363,41185589887019,41185677410347,41185678065707,41185678753835,41185680097323,41186036121643,41186039791659,41186040152107,41186042478635,41186051915819,41186052931627,41186055356459,41186059255851,41186059812907,41186063417387,41186065317931,41186066235435,41186066366507,41186078621739,41186143109163,41186213068843,41186223423531,41186238595115,41186353807403,41186394865707,41186397061163,41186399191083,41186401353771,41186402369579,41186404630571,41186411610155,41186412986411,41186414493739,41186437496875,41186438250539,41186438283307,41186448769067,41186495758379,41186497364011,41186685714475,41186686173227,41186686730283,41186686828587,41186746171435,41186747908139,41186757214251,41186758164523,41186759508011,41186937143339,41186940944427,41186941632555,41186942058539,41186942713899,41186947825707,41186952478763,41186954149931,41186955001899,41187122118699,41187124445227,41187124609067,41187125788715,41187220422699,41188892278827,41188901027883,41188903911467,41188923244587,41188928356395,41188933500971,41188935729195,41188940283947,41189681659947,41189682315307,41189685493803,41189768986667,41189769150507,41189769183275,41189769969707,41189910216747,41190224625707,41190283804715,41190284329003,41190284853291,41190314344491,41190413828139,41190413860907,41190449414187,41190454525995,41190463078443,41190867959851,41190867992619,41190875594795,41190875627563,41190977962027,41190980714539,41190980845611,41190981763115,41190982123563,41191072366635,41191075905579,41191080853547,41191082459179,41191085539371,41191086850091,41191092289579,41191492485163,41191493304363,41191554613291,41191555334187,41191557234731,41191559168043,41191560642603,41191560970283,41191568277547,41191570440235,41191697055787,41191698726955,41193097855019,41193697247275,41193701212203,41193701867563,41193996615723,41194003628075,41194025877547,41194035380267,41194625007659,41194854416427,41194872176683,41195153358891,41195443093547,41195469930539,41195478450219,41195497783339,41195499421739,41195499880491,41195500273707,41195506270251,41195506532395,41195506663467,41195508858923,41198029504555,41198029537323,41198029570091,41198029602859,41198029635627,41198029668395,41198029701163,41198029733931,41198029766699,41198029799467,41198029832235,41198029865003,41198029897771,41198029930539,41198029963307,41198029996075,41198030028843,41198030061611,41198030094379,41198030127147,41198030159915,41198030192683,41198030225451,41198030258219,41198030290987,41198030323755,41198841004075,41198843592747,41198846836779,41198850310187,41198851883051,41198855094315,41198857060395,41198859386923,41198861156395,41199057731627,41199607283755,41199633956907,41199635988523,41199649554475,41199651061803,41203836715051,41204893057067,41204897742891,41205376253995,41206857400363,41208148623403,41208191221803,41208191254571,41208668848171,41208670158891,41208757026859,41208760860715,41208771346475,41209665519659,41210884915243,41210899955755,41210914701355,41210934362155,41211690713131,41212475310123,41212479733803,41212508602411,41213630808107,41213636050987,41213638082603,41213639524395,41213640933419,41213642571819,41213643653163,41213644800043,41213645848619,41213646995499,41213802053675,41214874517547,41214902829099,41215496355883,41215496388651,41216201687083,41216553418795,41216944177195,41218383839275,41218390327339,41218401796139,41219367501867,41219397451819,41219397517355,41219397713963,41219397746731,41219397779499,41219397877803,41219398074411,41219398107179,41219398303787,41219398467627,41219401711659,41219401777195,41219402956843,41219403055147,41219403153451,41219403939883,41219835822123,41220095148075,41220100161579,41220271439915,41220291919915,41220778524715,41220780392491,41224821604395,41224826880043,41224827994155,41225523560491,41225523593259,41225816932395,41228963807275,41229108281387,41229111132203,41229118242859,41229122732075,41229124108331,41229591412779,41252457775147,41252457807915,41252573872171,41252573904939,41253119754283,41253140758571,41253147476011,41253154390059,41253161238571,41253174706219,41253181653035,41253188534315,41253188632619,41253195481131,41253203050539,41253209833515,41253897830443,41259133665323,41259133796395,41260230606891,41260240273451,41260269502507,41260310200363,41260933939243,41260957958187,41260970180651,41261123010603,41261145325611,41261154140203,41262074200107,41262160576555,41262170374187,41262173487147,41263357755435,41263357788203,41263357820971,41266247008299,41277207707691,41277209444395,41277623762987,41277627301931,41277631135787,41277633331243,41277638344747,41277640572971,41277684678699,41277737500715,41277742350379,41280252772395,41280370343979,41280373194795,41280374013995,41280375914539,41280376930347,41280378765355,41280396984363,41281113194539,41284441407531,41284462772267,41289550823467,41289675735083,41299555254315,41299555287083,41299612205099,41299817005099,41299825754155,41299828768811,41299830669355,41299838140459,41301166948395,41301448327211,41306514128939,41306514194475,41306515013675,41306515144747,41306743210027,41306749763627,41306751631403,41306752450603,41308144893995,41308587720747,41309119152171,41309135601707,41309139730475,41309145333803,41309168468011,41309184032811,41309188423723,41309189832747,41309221224491,41311360385067,41311370018859,41311577800747,41311606013995,41312431505451,41312443498539,41312445169707,41312451625003,41312484622379,41312639549483,41312641286187,41312641908779,41312642433067,41316823466027,41317658984491,41317659181099,41317659377707,41320900100139,41320900231211,41320902492203,41320903704619,41320904523819,41320910749739,41322384883755,41322386358315,41322387013675,41322388455467,41322388750379,41322388979755,41322389602347,41322389864491,41322393305131,41322393698347,41322394058795,41322394615851,41322395697195,41322396155947,41322396385323,41322396778539,41322397990955,41322399662123,41322400448555,41322400743467,41322401267755,41322403725355,41322404085803,41322405298219,41322405593131,41322407821355,41322410639403,41322413555755,41322414112811,41322414506027,41322415095851,41322415325227,41324001787947,41326443462699,41326443495467,41327069036587,41327081357355,41327091810347,41327974711339,41328232726571,41332136575019,41332153155627,41332174913579,41332232454187,41332238483499,41332246347819,41332326858795,41340365439019,41340377104427,41345516339243,41345516961835,41345528856619,41345722220587,41345723826219,41345724514347,41345731330091,41345747419179,41350372196395,41353507471403,41355585191979,41355617796139,41355650465835,41355661803563,41355681005611,41355681103915,41356929237035,41356929597483,41358072840235,41358082179115,41359696592939,41359722971179,41359739813931,41359752560683,41359762325547,41359776907307,41359785066539,41359787163691,41359789916203,41359798599723,41359802794027,41360457695275,41360457728043,41362765676587,41362800181291,41362824757291,41362847694891,41363045548075,41364255768619,41364278509611,41364327399467,41364340113451,41364402110507,41364418822187,41364540325931,41364579680299,41365923889195,41365923921963,41377887748139,41385908469803,41385927311403,41385930817579,41385939697707,41385951559723,41385974726699,41385974759467,41385976365099,41385976397867,41385979379755,41385979412523,41385983344683,41385983377451,41387355471915,41387357044779,41387357143083,41388848513067,41388850446379,41388854444075,41388857524267,41388951797803,41388975882283,41388981485611,41389030309931,41389053181995,41389055049771,41389071466539,41389076348971,41389083918379,41389091782699,41389195362347,41389237141547,41389249658923,41394695962667,41394753929259,41395072466987,41395079479339,41395082723371,41395085869099,41397579153451,41398648143915,41398648176683,41398660104235,41398660137003,41398721216555,41398838788139,41398859530283,41398880436267,41398925623339,41398948102187,41399462101035,41399491657771,41399504732203,41399580950571,41399619780651,41399737483307,41399740694571,41399748132907,41399752917035,41399756324907,41399764713515,41400507760683,41400581914667,41400582832171,41400586403883,41400642601003,41400746016811,41400748113963,41400771903531,41400779571243,41400784748587,41400785469483,41403810021419,41404143271979,41404146647083,41404150448171,41407679463467,41407682412587,41407747424299,41407783927851,41407795560491,41408187400235,41409310752811,41409338343467,41409468399659,41409479606315,41409667399723,41409670053931,41409673691179,41410618949675,41410618982443,41410652635179,41410653028395,41410653159467,41410653487147,41410653618219,41410653683755,41410653814827,41410654076971,41410654175275,41410654208043,41410654240811,41410654371883,41410654404651,41411916431403,41411917807659,41411922133035,41411928719403,41411948642347,41411958702123,41411964403755,41411964698667,41413373624363,41413410422827,41413411242027,41413414748203,41413416124459,41413423333419,41413427036203,41413429723179,41413504368683,41413504958507,41413506301995,41413507285035,41413508562987,41413509185579,41413509906475,41413975900203,41413986222123,41414691160107,41414723108907,41414724911147,41414728450091,41414735167531,41414735298603,41414736773163,41414739623979,41414751191083,41414754893867,41415343800363,41415390625835,41419341889579,41419344183339,41419347820587,41419360960555,41419363876907,41419365122091,41419366662187,41419445403691,41419664097323,41419708366891,41419827150891,41419827707947,41419828363307,41419829772331,41420383944747,41421546848299,41421600358443,41421687619627,41423327264811,41423604023339,41423630499883,41425655693355,41425656643627,41425673027627,41425675714603,41425927700523,41425948639275,41426106417195,41426112380971,41426119229483,41426136596523,41426198691883,41426240405547,41426243878955,41426246303787,41427398164523,41427398557739,41427398983723,41427405602859,41427407831083,41427412484139,41428010893355,41428025311275,41432218304555,41432224825387,41432251858987,41432264966187,41432382668843,41432420450347,41432440373291,41432450203691,41432466325547,41432470487083,41432539234347,41432542576683,41432566792235,41432568430635,41432580784171,41432600051755,41432607653931,41432640323627,41432650285099,41432689737771,41432791416875,41434426310699,41434888863787,41435876950059,41436316565547,41437230202923,41437230235691,41437230268459,41437230301227,41437230333995,41437230366763,41441941520427,41441958658091,41441967538219,41441987559467,41442306523179,41442308620331,41442327461931,41442332016683,41442354888747,41442359902251,41442361507883,41442363834411,41442369208363,41442397192235,41443540041771,41443540074539,41443602956331,41443635789867,41443636543531,41444126031915,41444135895083,41444141662251,41444161716267,41444187045931,41444198973483,41444203069483,41444204544043,41444217847851,41444220567595,41444227350571,41444339089451,41444347740203,41444845748267,41444854661163,41444857806891,41444862361643,41444867014699,41444869799979,41444883071019,41444889231403,41444891492395,41444895719467,41444907941931,41444914200619,41444921212971,41444927504427,41446456459307,41447797456939,41447807352875,41451128094763,41452378914859,41452401917995,41452410699819,41453981270059,41453981794347,41453982187563,41453982220331,41453983006763,41453983694891,41453983989803,41453984022571,41454400667691,41454403354667,41454404403243,41454406500395,41454427701291,41454433468459,41454436417579,41454562345003,41455350939691,41455416442923,41455423979563,41455626682411,41455630483499,41462867886123,41462946136107,41462946299947,41462947020843,41462947807275,41462948036651,41462958522411,41463119314987,41463132848171,41463134388267,41463142973483,41463143792683,41464203870251,41464234213419,41464236933163,41464240406571,41464250597419,41464629100587,41464648269867,41464660492331,41464678776875,41464686346283,41464711348267,41464728649771,41464734154795,41464740577323,41464764170283,41466475675691,41466489602091,41466494713899,41466500612139,41466508443691,41466511065131,41466781499435,41466785988651,41466800734251,41466806108203,41466812760107,41466818166827,41466826457131,41466833174571,41466838712363,41466847723563,41478174277675,41478491963435,41482402857003,41482449813547,41482451288107,41482468556843,41515239243819,41515243503659,41515246157867,41519246180395,41519246213163,41620272840747,41626580287531,41682209374251,41703883276331,41703932821547,41703934132267,41704015953963,41724130263083,41782379315243,41795420422187,41795489988651,41803228971051,41803229003819,41842356486187,41842479661099,41844111179819,41844114456619,41844117471275,41844120125483,41844124123179,41846348972075,41846386229291,41846394322987,41846397927467,41846408347691,41847694983211,41853308993579,41853538467883,41853573529643,41853598040107,41853610262571,41853698179115,41853718364203,41853721477163,41853724852267,41859027009579,41860002349099,41860004937771,41860019748907,41862642106411,41862645514283,41862699876395,41862727073835,41862738542635,41862739853355,41862768820267,41862790283307,41862794772523,41866989928491,41867237851179,41867250532395,41867263082539,41867264786475,41867265998891,41867266490411,41867328749611,41867407491115,41868081692715,41868087033899,41868090638379,41868094505003,41868097224747,41868102139947,41868106956843,41868221710379,41868221743147,41868221939755,41868229607467,41868459638827,41869410762795,41869472170027,41869478035499,41873717100587,41884408971307,41884410445867,41884414607403,41884422045739,41884435709995,41886152753195,41886173790251,41886176247851,41886180376619,41886182506539,41886187520043,41886190305323,41886194139179,41886195941419,41886202495019,41886206033963,41888706527275,41892816814123,41892826087467,41892833656875,41892840800299,41897467609131,41897514237995,41900160024619,41900177883179,41900190531627,41900212224043,41900226412587,41900233326635,41900242731051,41902527676459,41902660583467,41903257747499,41906168234027,41906168299563,41906292719659,41906292752427,41906292785195,41906292817963,41906315460651,41906315493419,41906324897835,41906342461483,41906415501355,41906430181419,41906444894251,41906449023019,41906452430891,41906994774059,41908449574955,41917510156331,41918146576427,41918146609195,41920679018539,41920722731051,41920732364843,41922722431019,41922722857003,41922731933739,41922742419499,41923045556267,41923053846571,41925181079595,41925238685739,41925373624363,41925448597547,41925535825963,41925692620843,41925791285291,41927290552363,41927306543147,41927335346219,41927358283819,41927375716395,41927389970475,41927396130859,41927404814379,41927407173675,41927430799403,41927445315627,41927448756267,41927450329131,41927469826091,41927475724331,41937123344427,41937220698155,41937222959147,41940522860587,41940569587755,41940570964011,41940601569323,41940959100971,41944654250027,41944752324651,41944779292715,41944805343275,41944827756587,41944832311339,41944859377707,41952080756779,41952101597227,41952124600363,41957559599147,41965326237739,41965443874859,41965491126315,41965514129451,41965645692971,41965681737771,41965688324139,41965699301419,41965703299115,41965735804971,41965748486187,41966453915691,41968418914347,41968420978731,41968421470251,41968422191147,41968426025003,41968501391403,41968518365227,41968531570731,41968551624747,41968566599723,41968917938219,41969102684203,41971179061291,41972430110763,41972452065323,41972464615467,41989399248939,41989548474411,41989699272747,41990060834859,41990708232235,41991896432683,41992957296683,41993355952171,41999050801195,41999057813547,42017058127915,42017080606763,42030339162155,42032304848939,42032304881707,42049605304363,42058587242539,42060552863787,42099955892267,42100065894443,42100123762731,42100834959403,42100873592875,42109680484395,42109714726955,42109721313323,42109722624043,42109723934763,42109724819499,42109725704235,42109733011499,42109734780971,42109739827243,42109752049707,42109905797163,42109910351915,42109910515755,42109911007275,42109915889707,42109918216235,42109936730155,42109981818923,42110005739563,42111747719211,42111757353003,42111939444779,42111989907499,42112016351275,42112023167019,42112028180523,42112043057195,42121335341099,42121476702251,42121491382315,42121501147179,42121517072427,42121763618859,42121804546091,42121805660203,42121810378795,42121823911979,42133629239339,42141056663595,42141357965355,42141557063723,42142391631915,42144119816235,42144119849003,42156381765675,42156399231019,42156399263787,42157356515371,42157553811499,42157553844267,42157727776811,42157787742251,42157802979371,42157819559979,42157819592747,42157839024171,42157839056939,42159946301483,42160018718763,42160023961643,42160040476715,42160073277483,42161174151211,42163294371883,42163294404651,42163441270827,42163458965547,42163474497579,42163512475691,42163555729451,42164238254123,42244622975019,42250325229611,42254996635691,42254997684267,42257729323051,42257729945643,42257735843883,42257737383979,42257741053995,42257744101419,42257747312683,42265214943275,42273798094891,42287864479787,42287976448043,42288011640875,42301176086571,42301290414123,42301530406955,42301684219947,42301783048235,42301913104427,42302485430315,42307088220203,42307453321259,42307698982955,42307733291051,42307769237547,42307819667499,42307837001771,42340467540011,42340467572779,42342260867115,42342268895275,42370792161323,42370794815531,42370799370283,42370810249259,42370833154091,42370838429739,42370839871531,42371291611179,42371322871851,42376235581483,42377885777963,42380154896427,42382240022571,42386941476907,42387001245739,42387005308971,42387005898795,42387035815979,42387153092651,42387157516331,42388710228011,42388712489003,42388731035691,42388732379179,42388818165803,42388825407531,42388916895787,42388920467499,42389005008939,42389029814315,42389053243435,42389137293355,42389138014251,42389140209707,42389353070635,42389372207147,42389388394539,42389394423851,42390757310507,42390763798571,42390786211883,42390796664875,42391207542827,42391245357099,42393791725611,42393795362859,42393814007851,42393820135467,42393822396459,42393824460843,42393829376043,42393861259307,42395402862635,42395402895403,42395408891947,42405387436075,42405392941099,42405395628075,42406519439403,42408333312043,42408335704107,42408440889387,42408450883627,42408459599915,42408613478443,42408614527019,42408621342763,42408908423211,42411991728171,42411993268267,42411996774443,42411998609451,42411999756331,42412026593323,42412043403307,42412161368107,42412374818859,42412392874027,42412404408363,42412419448875,42415984181291,42416142909483,42416395976747,42416399810603,42416400269355,42416400564267,42416400990251,42416401252395,42416401940523,42416402169899,42416403513387,42416404660267,42416416489515,42416416555051,42416453681195,42416456007723,42416458891307,42416485433387,42416593928235,42417953374251,42417989124139,42417994825771,42418000560171,42418045648939,42418050203691,42418056101931,42418058461227,42418058526763,42418058919979,42418064162859,42418744950827,42418766413867,42418808061995,42418808193067,42418816909355,42418820775979,42418830245931,42418842599467,42418842665003,42418845876267,42418848661547,42418850922539,42418858524715,42418866159659,42418867241003,42418869272619,42418880380971,42418883461163,42418884149291,42418885296171,42418923798571,42418927566891,42418943787051,42418946834475,42418950701099,42418954764331,42418957942827,42418966691883,42418971017259,42418974982187,42418979110955,42418984812587,42418985861163,42418987597867,42418993037355,42418996150315,42418997231659,42419000279083,42419002015787,42419003850795,42419007553579,42419016761387,42419019218987,42419020234795,42419021578283,42419031736363,42419031998507,42419032293419,42419032719403,42419063095339,42420917796907,42420920418347,42420924186667,42420928970795,42420936081451,42420939292715,42420941881387,42421005254699,42421008072747,42421021966379,42421378351147,42421380972587,42421396439083,42421425963051,42421431697451,42421452439595,42421455519787,42421457616939,42421463941163,42421467316267,42421507063851,42421517811755,42421520433195,42421525512235,42421541404715,42421646065707,42421653635115,42421657632811,42421658288171,42421667594283,42421670936619,42421701967915,42421711011883,42421712388139,42421717205035,42421718646827,42421724545067,42422730063915,42422748020779,42422768959531,42422775349291,42422919168043,42422997844011,42423385620523,42423390928939,42423423402027,42423436607531,42423436771371,42424489574443,42424491049003,42424494260267,42424495374379,42424510971947,42424546459691,42424892784683,42432869629995,42432872153131,42432872579115,42432883392555,42432884375595,42432894599211,42432905084971,42432905707563,42432911048747,42432916553771,42432918650923,42432923566123,42432932511787,42432934510635,42432969244715,42432971538475,42435084320811,42435178233899,42435179151403,42435235414059,42435242360875,42435277127723,42435287547947,42435290726443,42436293034027,42440361639979,42440695742507,42440699183147,42440700264491,42440702722091,42440704065579,42440785723435,42440786051115,42440787066923,42440790474795,42440797487147,42444206702635,42444207620139,42444386926635,42444390989867,42444392235051,42448657416235,42448685367339,42458510819371,42458512916523,42458515472427,42458552041515,42460262039595,42460755689515,42461064396843,42462615896107,42464689127467,42464689160235,42468257628203,42468264247339,42468295245867,42471676969003,42471680835627,42471796441131,42472729477163,42472730558507,42472731050027,42472736849963,42472748515371,42472751792171,42473291874347,42477571014699,42477587365931,42477604962347,42477950959659,42477955612715,42477956399147,42477958266923,42478169718827,42478170275883,42478170898475,42478171029547,42478174339115,42478180433963,42479359295531,42479361490987,42479378497579,42479495970859,42479644639275,42479651586091,42479658139691,42479686058027,42479703097387,42479728099371,42479760965675,42482782568491,42489482149931,42491212857387,42491844198443,42500270555179,42500287103019,42508488507435,42508511510571,42508515016747,42508604407851,42508747276331,42511669723179,42521857884203,42521865388075,42522231078955,42535637680171,42538590109739,42538656825387,42538999119915,42541841776683,42544713728043,42545426563115,42545771839531,42554718355499,42555232911403,42559266553899,42559409881131,42559410634795,42559421874219,42559427018795,42559446515755,42559453560875,42559463358507,42559480430635,42559488720939,42559591186475,42559594692651,42565676695595,42565864161323,42573366984747,42573679362091,42573681721387,42573683818539,42575469019179,42575475146795,42575477899307,42575481962539,42575487795243,42575499788331,42575595307051,42575622537259,42575672770603,42575694266411,42575703900203,42575932948523,42575982297131,42576072343595,42576091611179,42576111796267,42576151380011,42576179101739,42576185229355,42576189292587,42576239132715,42576240836651,42577962631211,42577965219883,42577968398379,42577973575723,42577976033323,42578182733867,42578585288747,42580697645099,42580697677867,42580755415083,42581474705451,42581505900587,42581517926443,42581520744491,42581528444971,42581531394091,42581534670891,42581538734123,42581557674027,42581572649003,42581579005995,42581587623979,42581597192235,42581602041899,42581665251371,42581695758379,42584942084139,42584973279275,42593111736363,42593126514731,42604491046955,42606478884907,42611978076203,42612117372971,42612165640235,42612181303339,42612258668587,42612296745003,42612309033003,42612320960555,42612354678827,42612402061355,42612413792299,42612451442731,42612498137131,42612526088235,42612541489195,42612556857387,42612572028971,42612579008555,42612583268395,42612584480811,42612585824299,42612586577963,42612589658155,42612591296555,42612591853611,42612604731435,42612605845547,42620273950763,42620600975403,42620601270315,42620604678187,42620619161643,42620622274603,42620630925355,42620633710635,42620638036011,42620641738795,42620644589611,42620655403051,42620698918955,42620704686123,42620720349227,42620727853099,42620758097963,42620762128427,42624207781931,42624252248107,42624252280875,42624271646763,42624362315819,42624369721387,42624380305451,42624384532523,42624391610411,42624397606955,42624441614379,42624457015339,42624462422059,42624474251307,42624477036587,42624480149547,42624543391787,42624547455019,42624552960043,42624563707947,42624574292011,42624580812843,42624585826347,42624591036459,42624604373035,42627186556971,42627290562603,42627295576107,42627306389547,42627307208747,42628470734891,42628473880619,42628474699819,42628596695083,42628600594475,42628605313067,42628611244075,42628617732139,42628632772651,42628644962347,42628649582635,42628770234411,42629119246379,42633703194667,42633731801131,42633775644715,42633921593387,42633967435819,42634512465963,42634528358443,42634541531179,42634548871211,42634567614507,42651193835563,42651326447659,42656563003435,42656575946795,42656600424491,42660316086315,42660352753707,42660748197931,42660768415787,42667334205483,42690876244011,42690885353515,42694484590635,42694845530155,42696603926571,42696664416299,42696683061291,42696689319979,42697738092587,42697740124203,42697754935339,42697807953963,42697824337963,42697878437931,42697919496235,42699803623467,42699815485483,42699852578859,42700434473003,42700461342763,42700539133995,42700587794475,42700591300651,42700593102891,42700593365035,42700796788779,42700812484651,42700812746795,42700813926443,42700821168171,42700822937643,42700843548715,42700846956587,42700848136235,42700851314731,42700854067243,42703561064491,42703732670507,42703773466667,42703971221547,42704000155691,42704005627947,42704013426731,42704042688555,42704046489643,42704053567531,42704069263403,42704085254187,42704099377195,42704146923563,42704156885035,42704166092843,42704268066859,42704274128939,42704277405739,42704285925419,42714064486443,42714064519211,42714077528107,42714083491883,42714086506539,42714184089643,42754061008939,42754614460459,42754904686635,42755518791723,42755826647083,42757072945195,42757711069227,42757986811947,42761722331179,42767680176171,42769239605291,42769846534187,42769921835051,42769965645867,42849218330667,42849218691115,42849568227371,42850671624235,42851163177003,43024783540267,43024789798955,43024824467499,43024849240107,43024883384363,43024961699883,43025026220075,43025105289259,43025128652843,43028672249899,43028672282667,43032821334059,43032822448171,43032822775851,43032823300139,43032823529515,43033921880107,43033954254891,43033970573355,43041407303723,43044225024043,43044236230699,43050875977771,43050881744939,43050965041195,43050999054379,43051700420651,43051720998955,43051738890283,43051784306731,43051787616299,43051789713451,43051794530347,43051803410475,43051812519979,43057880039467,43059793428523,43060082311211,43060186578987,43061702557739,43061709537323,43061853945899,43061924593707,43061953429547,43062166454315,43062189654059,43067996405803,43070490411051,43071320162347,43071326322731,43071796052011,43074132869163,43074151317547,43074161410091,43074723053611,43074731245611,43074735603755,43074736455723,43074747957291,43074751692843,43074760802347,43074765160491,43074766766123,43074813362219,43074836299819,43074841772075,43074848882731,43074854780971,43074858516523,43074862317611,43074902196267,43074968682539,43074970812459,43074974646315,43074975236139,43075065184299,43075069083691,43075082780715,43075084255275,43076742053931,43076795531307,43076805034027,43078810566699,43078867615787,43079319552043,43079334690859,43080003616811,43080004861995,43080013119531,43085224738859,43085227360299,43085604749355,43085629980715,43085641646123,43085997735979,43086012678187,43086110130219,43086321483819,43086362017835,43087793127467,43088292675627,43088295788587,43088305881131,43088337502251,43088340680747,43088585228331,43091393118251,43091394953259,43091796623403,43091806519339,43091823591467,43091838435371,43091912982571,43091915800619,43092161724459,43092175028267,43092176666667,43092190691371,43092192559147,43092193345579,43092197736491,43092980989995,43092983283755,43092985937963,43092986757163,43092989444139,43093558460459,43093655781419,43093659353131,43095368302635,43095370367019,43097190793259,43097196888107,43097201705003,43097205604395,43097207013419,43097207898155,43097246072875,43097248530475,43097254625323,43097256886315,43097271369771,43097282379819,43097296437291,43097316294699,43097322160171,43097332711467,43097341919275,43097451069483,43097484623915,43100016607275,43100040495147,43100165505067,43100314730539,43102275928107,43102286610475,43102291722283,43102355390507,43102355423275,43105346486315,43105993359403,43106007187499,43108515905579,43108529766443,43108582064171,43108594090027,43108953784363,43109138399275,43113570697259,43117436305451,43117446561835,43117474709547,43117489782827,43117501874219,43117526908971,43117545750571,43117548830763,43117595557931,43117609254955,43117611581483,43117611712555,43117894172715,43117908262955,43117915439147,43120475602987,43120613228587,43120805150763,43120815341611,43121133387819,43123397591083,43123726975019,43123808600107,43123811778603,43123816923179,43123828719659,43123850379307,43123896352811,43123918962731,43123933741099,43123938820139,43123951796267,43123963887659,43124011204651,43124054818859,43124064714795,43124089552939,43124105609259,43124113473579,43124138377259,43126433808427,43126433841195,43126487416875,43126487449643,43126588473387,43126599155755,43126910550059,43126917267499,43126918873131,43127051059243,43127063707691,43127129178155,43127143333931,43127144120363,43127207264299,43129287082027,43129397739563,43129429295147,43129437421611,43129438634027,43129440337963,43129513443371,43129516064811,43129540804651,43130015940651,43130136985643,43267640066091,43267703308331,43267970433067,43268043440171,43268189519915,43268207509547,43268238377003,43273189916715,43273305489451,43277910114347,43277922500651,43277931184171,43278381514795,43278416314411,43278441480235,43278450556971,43278577106987,43282666651691,43282675630123,43287080206379,43287112187947,43287139876907,43287151345707,43323529789483,43323601682475,43323689893931,43323775352875,43324254355499,43324316090411,43324391129131,43328542277675,43329796702251,43330967371819,43331019931691,43331043819563,43331075080235,43331078651947,43334474334251,43334477676587,43334501204011,43334507626539,43334508740651,43334532595755,43334536429611,43334574112811,43334587023403,43334611501099,43335719682091,43335728693291,43335732035627,43335735115819,43335747239979,43335748681771,43335762477099,43335763886123,43335782301739,43335786823723,43335806484523,43335812120619,43335843774507,43335869530155,43335934148651,43335953023019,43335957839915,43336002568235,43336042217515,43336260747307,43339921686571,43340010520619,43340207456299,43341759381547,43341969260587,43342457733163,43342667612203,43342878146603,43346371706923,43347324534827,43347492372523,43348069187627,43418886111275,43525636423723,43702836002859,43703196155947,43707944992811,43708141928491,43708408201259,43708638920747,43708714582059,43709104586795,43709330849835,43709644472363,43764974256171,43765223948331,43766542303275,43766999023659,43767139532843,43767536320555,43767882088491,43768057757739,43778376106027,43779058237483,43780127162411,43780294049835,43780898684971,43781262606379,43781538840619,43781787353131,43781928353835,43782155730987,43783272955947,43783844888619,43785131425835,43785805398059,43786185867307,43830620946475,43830622093355,43830622257195,43831119609899,43834092552235,43837429350443,43845443616811,43845450891307,43845475827755,43845493260331,43845519736875,43845542314027,43845544181803,43845547458603,43845551587371,43845561253931,43846025609259,43846798278699,43846798966827,43846799556651,43846800637995,43846826197035,43846827311147,43846837174315,43846840582187,43846848512043,43846858506283,43846862241835,43847262830635,43848955297835,43848992391211,43849001762859,43849021489195,43849025323051,43849031417899,43849038659627,43849044885547,43849063268395,43849086926891,43850251337771,43850533929003,43850542907435,43850555424811,43850570367019,43850577805355,43854140440619,43854153777195,43854176878635,43854185496619,43854223474731,43854677442603,43854754316331,43854878244907,43864173477931,43876149395499,43876736237611,43876758716459,43877254070315,43877258133547,43877268521003,43877285167147,43877299290155,43877314265131,43877323800619,43877329731627,43877334515755,43877340315691,43877348278315,43877351063595,43877367316523,43877369446443,43897090375723,43897105874987,43897131335723,43897142509611,43897646972971,43897834569771,43906143387691,43906159083563,43906163572779,43906168586283,43906181595179,43906183135275,43906185035819,43906186281003,43906188541995,43906285338667,43906287632427,43906299658283,43906306015275,43906310078507,43906318204971,43906324824107,43906367193131,43906369060907,43906462613547,43906466414635,43906477785131,43906483159083,43906492497963,43906497675307,43906504294443,43906512060459,43906521235499,43906530803755,43906554855467,43906561638443,43906564292651,43909004591147,43909011800107,43909014552619,43913909174315,43923690881067,43923698516011,43923703693355,43923713327147,43923719225387,43923751305259,43923759726635,43923767984171,43923889193003,43923893059627,43923904823339,43923914293291,43923992674347,43923998277675,43924013514795,43924016922667,43924027277355,43924299612203,43924340834347,43924381597739,43924390510635,43924391690283,43924408107051,43924415316011,43924435238955,43924491501611,43924496121899,43924507263019,43924513030187,43924516470827,43924589477931,43924594884651,43924598325291,43924689682475,43924811776043,43924817575979,43924819968043,43924823769131,43928753799211,43928755339307,43935368806443,43935375065131,43935378145323,43935378866219,43935446466603,43935986581547,43944792981547,43944820277291,43946835607595,43946842816555,43946847862827,43946851369003,43946851958827,43946861690923,43946872471595,43946878861355,43946882596907,43946886332459,43946887807019,43946895147051,43952167649323,43952168337451,43952905158699,43952946970667,43953304109099,43960531288107,43960537907243,43960549081131,43960577818667,43960592695339,43960621629483,43963933687851,43963937390635,43963941552171,43963946074155,43964062302251,43964101984299,43964115550251,43964390080555,43964527280171,43964652617771,43964712747051,43964881403947,43966871896107,43967204950059,43967210553387,43967220777003,43967287099435,43967297617963,43967366823979,43967817416747,43967819153451,43967819710507,43976633385003,43976634368043,43976634859563,43976634892331,43976637186091,43976643805227,43983835398187,43983835955243,43983837790251,43983838904363,43983840673835,43983843000363,43983850897451,43983852699691,43983854764075,43983855550507,43983865839659,43983867052075,43983867543595,43983868690475,43983869476907,43983872262187,43983873474603,43983879143467,43983880093739,43983884910635,43983889104939,43983890972715,43983915450411,43983928066091,43983955427371,43983971090475,43983974137899,43983975088171,43983975153707,43983975415851,43991947608107,43991948066859,43991949312043,43991952228395,43992041685035,43992094638123,43992098570283,43992129175595,43992131371051,43992135925803,43992145526827,43992148934699,43992171282475,43992181964843,43992187109419,43992203165739,43992261296171,43992381751339,43992451055659,43992452333611,43992455282731,43992458133547,43992513642539,43992905744427,43992911478827,43992949555243,43992985632811,43993007390763,43993011257387,43993017516075,43993049235499,43993067814955,43993079840811,43993086197803,43993089015851,43993094750251,43993115230251,43993129910315,43993143803947,43993153896491,43993154781227,43993161138219,43993163235371,43993164677163,43993166446635,43993170051115,43993171329067,43993172508715,43993172934699,43993175261227,43993176866859,43993182699563,43993187745835,43993189810219,43993193545771,43993198231595,43993219530795,43993220775979,43993221726251,43993227984939,43993229361195,43993230442539,43993231556651,43993232867371,43993237356587,43993237454891,43993237815339,43993238110251,43993238437931,43993238569003,43993238667307,43993243385899,43993244041259,43993244074027,43993244532779,43993253511211,43993257902123,43993258950699,43993259081771,43993260228651,43993260458027,43993260720171,43993260785707,43997251010603,43997251764267,43997252354091,43997252419627,43997252517931,43997253599275,43997253795883,43997268344875,43997574758443,43997574987819,43997577871403,43997578887211,43997579182123,43997579640875,43997580099627,43997583900715,43997589995563,43997591142443,43997597335595,43997597728811,43997601202219,43997603627051,43997604216875,43997605724203,43997606215723,43997606707243,43997607264299,43997608575019,43997609001003,43997612802091,43997614571563,43997614768171,43997614833707,43997614997547,43997634560043,43997635641387,43997636984875,43997637673003,43997638000683,43997638295595,43997638918187,43997640065067,43997640196139,43997640294443,43997640491051,43997640654891,43997640753195,43997643046955,43997643210795,43997643472939,43997643604011,43997643931691,43997644062763,43997670768683,43997730340907,43997740498987,43997791289387,43997918298155,43997920755755,44002357444651,44002408333355,44002872098859,44002883928107,44003049111595,44004217585707,44004558995499,44004612997163,44004631740459,44004664639531,44004703895595,44004727226411,44004787060779,44004864229419,44004896112683,44004908990507,44004973412395,44004977672235,44027312078891,44027319877675,44027323777067,44027329249323,44027330428971,44027331575851,44027760672811,44027760705579,44027808022571,44027809660971,44027811037227,44027811561515,44027813920811,44027815460907,44027815559211,44027817263147,44027817426987,44027819360299,44027822243883,44027824013355,44027827716139,44027829387307,44027829911595,44028173254699,44028173582379,44028174630955,44028174925867,44028176039979,44028180561963,44028181184555,44028183773227,44028183805995,44028183937067,44028199960619,44028200353835,44028248752171,44028249800747,44028250128427,44028250751019,44028252323883,44028262809643,44028276047915,44028703309867,44028718350379,44028733620267,44028735750187,44028742860843,44028753313835,44028762456107,44028786081835,44028805185579,44028808560683,44028817440811,44028826058795,44028969877547,44028971352107,44029004873771,44029007986731,44029017915435,44029025386539,44029029580843,44031364268075,44031382061099,44031392514091,44031403753515,44031408275499,44031410831403,44031414042667,44031416172587,44031433670699,44031439601707,44031442911275,44031446482987,44031455690795,44031548457003,44031570509867,44031573950507,44031578832939,44031581126699,44031584141355,44031586172971,44031589089323,44031632015403,44031637815339,44031649775659,44031652200491,44031655378987,44031658131499,44031660687403,44031663472683,44031753912363,44031761449003,44031769477163,44031776194603,44031779045419,44031781011499,44031784091691,44031786647595,44031800573995,44031803195435,44031807324203,44031810207787,44031815974955,44031828328491,44031862177835,44031865946155,44031868633131,44031875973163,44031880724523,44031887048747,44031892226091,44031924142123,44031940067371,44031953731627,44031955763243,44031958679595,44031961890859,44031966806059,44031971262507,44031975784491,44031992037419,44031996264491,44032002097195,44032004489259,44032340000811,44032342818859,44032349929515,44032352190507,44032356876331,44032362446891,44042937761835,44042944741419,44042952343595,44042959683627,44042961944619,44042982162475,44043363483691,44043364368427,44043365056555,44043365384235,44043365875755,44043366793259,44043369775147,44043370364971,44043370594347,44043370725419,44043370987563,44043372101675,44043372855339,44044541100075,44044544966699,44044652642347,44044709429291,44044735545387,44044953944107,44044986482731,44045030785067,44045908082731,44046084210731,44046095843371,44046104625195,44046111899691,44046254309419,44046285045803,44046319124523,44046338392107,44046359330859,44046443511851,44046457143339,44046461632555,44046471102507,44046473723947,44046479163435,44046491189291,44046495744043,44050927124523,44052207894571,44055057825835,44055277109291,44055451172907,44055575134251,44056045387819,44056057839659,44056271781931,44056397185067,44056400330795,44056401182763,44056403050539,44056406392875,44056407703595,44056408391723,44056408653867,44056409014315,44056409505835,44056409669675,44056411471915,44063807668267,44063812288555,44063976489003,44064062472235,44068123574315,44068197728299,44068200185899,44072439709739,44080251502635,44080253173803,44080254025771,44080266543147,44080284598315,44080285122603,44080294789163,44080296558635,44080298655787,44080318021675,44080326148139,44080328572971,44080335781931,44080363208747,44080366125099,44080501620779,44080554278955,44092333916203,44099836215339,44099876257835,44108606111787,44108691243051,44108697698347,44108713590827,44108721258539,44108726435883,44108735086635,44108742000683,44110532575275,44110634483755,44128537968683,44128538198059,44128767049771,44128772816939,44128775405611,44128782221355,44128783302699,44128844546091,44128949567531,44128953139243,44131821486123,44135392706603,44136118616107,44136137883691,44138364698667,44138368106539,44138371678251,44138375151659,44146354290731,44146365628459,44146383781931,44146395873323,44146419040299,44146436800555,44146446303275,44146450366507,44146499420203,44146748457003,44146752487467,44146754813995,44146939920427,44147089735723,44147171426347,44147189121067,44150344122411,44150393208875,44150497083435,44150526017579,44150551052331,44150606233643,44150686580779,44150708568107,44150867787819,44151062986795,44151330308139,44151412097067,44151429726251,44151449878571,44151472717867,44151502733355,44151520100395,44151539433515,44158465671211,44158798725163,44164993351723,44165002231851,44165006753835,44165030150187,44165041389611,44165054234667,44165060689963,44165120786475,44173193019435,44173229588523,44173314261035],"updated_at":"2026-06-09T00:02:45Z","market_locations_enabled":false,"market_id":10953064491,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2026-06-09T01:36:01Z","shopify_market_id":231112747,"market_locations_enabled":false};
    window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_231112747";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2026-06-09T01:35:46Z","shopify_market_id":231112747,"market_locations_enabled":false};
    window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_231112747";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":8202584107,"shopify_selling_plan_id":9234022443,"enabled":true,"variant_ids":[42405040652331,42405061853227],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Preorder today, stitch later","preorder_button_description_background_color":"#7da703","preorder_button_description_text_color":"#FFFFFF","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":0,"delivery_at":null,"delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":false,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: As soon as possible","shipping_applies_to_all_products":true,"shipping_text":"ASAP","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":"0.0","pricing_percentage":"0.0","discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":true,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":false,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":false,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#0f506e","preorder_button_colors_enabled":false,"markets_enabled":false,"market_id":null,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":null,"billing_after_n_intervals":0,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":"0.0","pricing_percentage":"0.0","billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":9234022443,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-02-02T20:57:42.000Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}];(function() {
      const cachedData = {"plans":[{"shopify_selling_plan_group_id":8202584107,"shopify_selling_plan_id":9234022443,"enabled":true,"variant_ids":[42405040652331,42405061853227],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Preorder today, stitch later","preorder_button_description_background_color":"#7da703","preorder_button_description_text_color":"#FFFFFF","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":0,"delivery_at":null,"delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":false,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: As soon as possible","shipping_applies_to_all_products":true,"shipping_text":"ASAP","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":"0.0","pricing_percentage":"0.0","discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":true,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":false,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":false,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#0f506e","preorder_button_colors_enabled":false,"markets_enabled":false,"market_id":null,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":true,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":null,"billing_after_n_intervals":0,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":"0.0","pricing_percentage":"0.0","billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":9234022443,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2026-02-02T20:57:42.000Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}],"disabled_plan_ids":[],"cached_at":"2026-02-18T08:22:46Z"};

      if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) {
        // Find the maximum updated_at from all items in old array
        const oldPlans = window._RestockRocketConfig.sellingPlans;
        const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0
          ? oldPlans.reduce(function(max, plan) {
              // Parse dates for proper comparison (handles mixed ISO formats)
              if (plan.updated_at) {
                const planDate = new Date(plan.updated_at);
                const maxDate = max ? new Date(max) : null;
                return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max;
              }
              return max;
            }, '')
          : null;

        // Use cached if old array is empty/has no timestamps, or cached is newer
        // Parse dates for comparison to handle format differences (+00:00 vs .000Z)
        const cachedDate = new Date(cachedData.cached_at);
        const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null;
        const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate));

        if (useCached) {
          if (Array.isArray(cachedData.plans)) {
            window._RestockRocketConfig.sellingPlans = cachedData.plans;
            // Only use disabled_plan_ids when using cached plans
            window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || [];
            console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')');
          }
        } else {
          // When using old format (stale cache), don't trust disabled_plan_ids
          window._RestockRocketConfig.disabledSellingPlanIds = [];
          console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')');
        }
      }
    })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [{"id":"7f2a03a3-2db1-42c2-8c26-6bd01cef9b0c","shop_id":52608,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false,"enableCartChangeValidation":false,"enableCartUpdateValidation":false,"cancelRequestOnModalRejection":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2026-01-26T18:12:52.884Z","updated_at":"2026-01-26T18:12:52.884Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019ea604-5871-7fd9-9a64-ed7c19366c7a/restockrocket-1-526/assets/restockrocket-product.js'
  window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019ea604-5871-7fd9-9a64-ed7c19366c7a/restockrocket-1-526/assets/restockrocket-collection.js'
  window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
  window._RestockRocketConfig.host = 'https://app.restockrocket.io'

  // Deployed extension build number, read from the CDN asset host Shopify generates:
  //   https://cdn.shopify.com/extensions/<uuid>/<handle>-<version>/assets/...
  // Trailing digits (e.g. ".../restockrocket-1-521/assets/" -> "521"). Kept numeric to
  // match ParseStoqData, so funnel app_version lines up with the order-attribution
  // app_version. Reflects the ACTUAL deployed build. This is the SINGLE source of the
  // parsed version — preorder.js getAppVersion() reads it back off config rather than
  // re-parsing, so the regex lives in exactly one place.
  try {
    const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/);
    window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || '';
  } catch (e) {
    window._RestockRocketConfig.appVersion = '';
  }

  const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds
  const LIQUID_CACHE_MAX_AGE = 15 * 60; // 15 minutes in seconds

  // Calculate Liquid cache freshness once at initialization
  const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt;

  // Validate timestamp and calculate cache age
  if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
    console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
    window._RestockRocketConfig.isLiquidCacheFresh = true;
    window._RestockRocketConfig.liquidCacheAge = null;
  } else {
    const now = Math.floor(Date.now() / 1000); // Current time in seconds
    const liquidCacheAge = now - liquidRenderedAt; // Age in seconds
    // Surfaced into funnel events: a stale cache means the app rendered with
    // outdated inventory/selling-plan data — a real "had the opportunity but
    // failed" cause. Negative (client clock ahead) clamps to 0.
    window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge);

    // Handle client clock ahead of server
    if (liquidCacheAge < 0) {
      console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`);
      window._RestockRocketConfig.isLiquidCacheFresh = true;
    } else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) {
      console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
      window._RestockRocketConfig.isLiquidCacheFresh = true;
    } else {
      console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`);
      window._RestockRocketConfig.isLiquidCacheFresh = false;
    }
  }

  function checkSettingsExpiry(settings) {
    try {
      if (!settings || !settings.updated_at) {
        console.debug('STOQ - Invalid settings data structure');
        return null;
      }

      if (!settings.cache) {
        console.debug('STOQ - settings caching disabled');
        return null;
      }

      // Check if translations are enabled but missing from cache
      // This handles the backfill period where DB has translations but metafield doesn't
      if (settings.multi_language_enabled) {
        if (!settings.translations) {
          // Translations enabled but no translation data in metafield
          // Metafield hasn't been backfilled yet - force refresh
          console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh');
          return null;
        }

        // Translations object exists in metafield - cache is valid
        // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields
        if (window._RestockRocketConfig.normalizedLocale &&
            !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) {
          console.debug('STOQ - locale not explicitly translated, will use default language from cache');
        }
        // Don't return null - continue using cache even for untranslated locales
      }

      const updatedAt = new Date(settings.updated_at);
      if (isNaN(updatedAt.getTime())) {
        console.debug('STOQ - Invalid updated_at date format in settings');
        return null;
      }

      const age = Date.now() - updatedAt.getTime();
      if (age < SETTINGS_CACHE_DURATION) {
        console.debug('STOQ - settings changed recently, skipping cache');
        return null;
      }

      return settings;
    } catch (error) {
      console.debug('STOQ - Error checking settings cache:', error);
      return null;
    }
  }

  function createRestockRocketContainer() {
    const restockRocketContainer = document.createElement('div');
    restockRocketContainer.id = 'restock-rocket';
    document.body.appendChild(restockRocketContainer);
  }

  function createRestockRocketScript(scriptUrl) {
    const restockRocketScriptElement = document.createElement('script');
    restockRocketScriptElement.setAttribute('defer', 'defer');
    restockRocketScriptElement.src = scriptUrl;
    document.body.appendChild(restockRocketScriptElement);
  }

  createRestockRocketContainer()

  console.debug('STOQ - extension activated')

  // Fire stoq_initialized once per page load so the funnel pipeline has a definitive
  // "our code ran on this page" signal independent of any customer interaction.
  // Detected variants: the variants present in this page's Liquid context (product page has them;
  // collection/index/etc. don't expose variants from Liquid). Used to disambiguate "embed didn't
  // load" vs "embed loaded but the variant wasn't a preorder/BIS candidate" in order debug.
  try {
    const _stoqInitConfig = window._RestockRocketConfig;
    const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants))
      ? _stoqInitConfig.product.variants.map(function(v) { return v.id })
      : [];
    const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id;
    Shopify?.analytics?.publish?.('stoq_initialized', {
      cart_token: _stoqInitConfig.cartToken || '',
      page_url: window.location.href,
      page_type: _stoqInitConfig.pageType || '',
      shop_domain: _stoqInitConfig.shop || '',
      market_id: _stoqInitConfig.marketId || '',
      detected_variant_ids: _stoqDetectedVariantIds,
      selected_variant_id: _stoqSelectedVariantId || '',
      liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0,
      app_version: _stoqInitConfig.appVersion || '',
      liquid_cache_age: _stoqInitConfig.liquidCacheAge,
      // Selected variant's stock posture as our app saw it at render — explains
      // whether we *should* have treated it as a preorder candidate.
      inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '',
      inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId],
    });
  } catch (e) {
    console.debug('STOQ - stoq_initialized publish failed:', e);
  }

  function applyTranslations(settings) {
    try {
      // Skip translation logic entirely if multi-language is not enabled
      if (!settings || !settings.multi_language_enabled) {
        return settings;
      }

      if (!settings.translations) {
        console.debug('STOQ - No translations found, skipping translation');
        return settings;
      }

      const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
      const translations = settings.translations;

      if (!normalizedLocale) {
        // No matching locale has translations; drop payload to save memory
        console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
        delete settings.translations;
        return settings;
      }

      console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);

      const translatedFields = translations[normalizedLocale];
      if (translatedFields && typeof translatedFields === 'object') {
        Object.keys(translatedFields).forEach(function(key) {
          const value = translatedFields[key];
          if (value !== null && value !== undefined && value !== '') {
            settings[key] = value;
          }
        });
      } else {
        console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
      }

      delete settings.translations;
      return settings;
    } catch (e) {
      console.debug('STOQ - error applying translations:', e);
      return settings;
    }
  }

  // Setup event listener for cart selling plan updates
  // This must be called before any scripts are loaded to avoid race conditions
  function setupCartSellingPlanUpdater(settings) {
    // Setup listener regardless - updateCartSellingPlans has its own guards
    // This ensures cleanup happens even when preorders are disabled globally
    // Listen for stoq:inventory-data-loaded event dispatched by api.js
    window.addEventListener('stoq:inventory-data-loaded', function(event) {
      console.debug('STOQ - Inventory data loaded, updating cart selling plans');
      if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
        window._RestockRocket.updateCartSellingPlans()
          .then(hasUpdates => {
            if (hasUpdates) {
              console.debug('STOQ - cart selling plans updated successfully');
            } else {
              console.debug('STOQ - no cart selling plan updates needed');
            }
          })
          .catch(error => {
            console.error('STOQ - error updating cart selling plans:', error);
          });
      }
    });
  }

  // First try to get settings from metafields with expiry check
  const cachedSettings = window._RestockRocketConfig.cachedSettings;
  const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null;

  if (validCachedSettings) {
    console.debug('STOQ - using cached settings');
    initializeScripts(validCachedSettings);
  } else {
    console.debug('STOQ - fetching fresh settings');
    const headers = {
      'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
      'ngrok-skip-browser-warning': 'skip'
    };

    if (window.Shopify?.theme?.role === 'main') {
      headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name;
      headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version;
      headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id;
    }

    fetch(
      `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`,
      { headers }
    )
    .then(function(response) {
      if (!response.ok) {
        throw new Error('Network response was not ok');
      }
      return response.json();
    })
    .then(function(settings) {
      initializeScripts(settings);
    })
    .catch(function(error) {
      // If request failed and we have cached settings (even if expired), use them as fallback
      if (cachedSettings) {
        console.debug('STOQ - using expired cached settings as fallback');
        initializeScripts(cachedSettings);
      } else {
        console.error('STOQ - failed to load settings:', error);
      }
    })
    .catch(function(e) {
      console.error(e)
    })
  }

  function fetchEmbedConfig(endpoint, apply) {
    return fetch(
      `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`,
      {
        headers: {
          'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
          'ngrok-skip-browser-warning': 'skip'
        }
      }
    )
    .then(function(response) {
      if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`);
      return response.json();
    })
    .then(function(data) {
      try {
        apply(data);
      } catch (applyError) {
        // Apply failures are programming bugs (e.g. response shape changed
        // server-side and the assignment threw). Surface them as console.error
        // so they're visible in browser logs, then re-throw to fall through
        // to the same Liquid-cached fallback as a fetch failure.
        console.error('STOQ - apply failed for ' + endpoint + ':', applyError);
        throw applyError;
      }
    })
    .catch(function(error) {
      console.debug(`STOQ - using cached ${endpoint}:`, error.message);
    });
  }

  function initializeScripts(settings) {
    settings = applyTranslations(settings);
    window._RestockRocketConfig.settings = settings;
    console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);

    // Stale-Liquid resilience (default-on, per-shop opt-out via the
    // `disable_refresh_on_stale_liquid` Toggle, surfaced as the negative
    // `disable_refresh_on_stale_liquid` flag in settings.json so that
    // `undefined` -- in CDN-cached metafield payloads that predate this
    // key -- reads as `!undefined === true` and gets default-on behavior
    // immediately, no metafield rewrite required).
    // When the Liquid CDN cache is older than LIQUID_CACHE_MAX_AGE the in-page
    // selling_plans / integrations metafields can be wrong; refresh both from
    // the API before launching scripts. Race against a 1000ms timeout so a slow
    // API can't block init indefinitely. If the timeout wins, the in-flight
    // fetches still complete and update window._RestockRocketConfig — the
    // bundle re-reads sellingPlans/integrations on every interaction, so the
    // late-arriving values benefit subsequent renders even though the first
    // paint may use the Liquid-cached values. On any failure the existing
    // Liquid-loaded values stay in place via fetchEmbedConfig's catch.
    if (!window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid) {
      console.debug('STOQ - Liquid cache stale, refreshing selling_plans + integrations');
      Promise.race([
        Promise.all([
          fetchEmbedConfig('selling_plans', function(data) {
            if (data && Array.isArray(data.plans)) {
              window._RestockRocketConfig.sellingPlans = data.plans;
              window._RestockRocketConfig.disabledSellingPlanIds = data.disabled_plan_ids || [];
            }
          }),
          fetchEmbedConfig('integrations', function(data) {
            if (Array.isArray(data)) {
              window._RestockRocketConfig.integrations = data;
            }
          })
        ]),
        new Promise(function(resolve) { setTimeout(resolve, 1000); })
      ]).then(function() { loadScripts(settings); });
      return;
    }

    loadScripts(settings);
  }

  function loadScripts(settings) {
    // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions
    setupCartSellingPlanUpdater(settings);

    if(settings.enable_app) {
      const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) {
        return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType);
      })

      if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) {
        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
      } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) {
        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
      } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) {
        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
      } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) {
        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
      } else if(window._RestockRocketConfig.pageType === 'product') {
        createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct);
      } else if(hijackIntegration) {
        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
      } else if(settings.preorder_enabled) {
        // Load the bundle so updateCartSellingPlans runs even when hijack is not enabled
        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
      } else {
        console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`);
      }

      // Dispatch custom event when app is loaded
      // Cart selling plan updates will be triggered by stoq:inventory-data-loaded event
      const appLoadedEvent = new CustomEvent('stoq:loaded', {
        detail: {
          pageType: window._RestockRocketConfig.pageType,
          enabled: settings.enable_app,
          settings: settings,
          preorderEnabled: settings.preorder_enabled
        }
      });
      console.debug('STOQ - dispatching app loaded event');
      window.dispatchEvent(appLoadedEvent);
    }
  }
</script>

<!-- Critical CSS -->
<style id="RestockRocketStyle" type="text/css">
  .stoq-hide-buy-now .shopify-payment-button{display:none!important}.restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:14px;font-weight:500;text-align:center;text-transform:capitalize;opacity:.7}@media (max-width:768px){.restock-rocket-preorder-countdown-timer{padding:14px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:55px;padding:14px 10px;font-size:26px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:100%;gap:10px}.restock-rocket-preorder-countdown-timer .countdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}.restock-rocket-preorder-progress-bar{padding:12px 15px;margin-bottom:20px;font-family:inherit;}.restock-rocket-preorder-progress-bar .preorder-progress-text{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;}
</style>


</div><div id="shopify-block-AT2dGRTVDUS9INmMxd__10812935154079970445" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: nosto-shop-id --><div class="nosto_shopify_shop" style="display: none">
  <span class="id">25567316</span>
</div>


  <div class="nosto_market" style="display:none">
    <span class="id">231112747</span>
    <span class="locale">en</span>
  </div>

<!-- END app snippet -->

</div><div id="shopify-block-AUXN2dmh4bjVQQ0hBY__2046743146925785077" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: nosto-variation -->
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
        <div class="nosto_variation" style="display: none;">USD</div>
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
      
    
  <!-- END app snippet -->


</div><div id="shopify-block-AR2FMSW9nNERWcU9kV__6174324309569838175" class="shopify-block shopify-app-block">


<div class="smile-shopify-init"
  data-channel-key="channel_2SUK7Q9WriJjMMJHbytUdxKC"
  
></div>


</div><div id="shopify-block-ATEE3ZkFQcUtzdnBXZ__6990797075511561578" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: nosto-tagging -->
  <div class="nosto_page_type" style="display:none">front</div>



  <div class="nosto_market" style="display:none">
    <span class="id">231112747</span>
    <span class="locale">en</span>
  </div>


<div class="nosto_shopify_shop" style="display: none">
  <span class="id">25567316</span>
</div>










  <div class="nosto_cart" style="display:none">
    
    
    
  </div>





<!-- END app snippet -->


</div><div id="shopify-block-ASXJCWWEvMUE5L1VWd__5946647744298494267" class="shopify-block shopify-app-block">


<!-- BEGIN app snippet: swymVersion --><script>var __SWYM__VERSION__ = '5.0.4';</script><!-- END app snippet -->












<script>
  (function () {
    // Get CompanyLocation Metadata for B2B customer scenerios (SFS)
    

    // Put metafields in window variable
    const commonCustomizationSettings = '';
    try {
      const parsedSettings = JSON.parse(commonCustomizationSettings);
      if (parsedSettings) {
        window.SwymWishlistCommonCustomizationSettings = parsedSettings[window.Shopify.theme.schema_name] || parsedSettings['global-settings'];
      } else {
        window.SwymWishlistCommonCustomizationSettings = {};
      }
    } catch (e) {
      window.SwymWishlistCommonCustomizationSettings = {};
    }

    let enabledCommonFeatures = '{"multiple-wishlist":true}';
    try {
      enabledCommonFeatures = JSON.parse(enabledCommonFeatures) || {};
    } catch (e) {
      enabledCommonFeatures = {};
    }
    // Storing COMMON FEATURES data in the window object for potential use in the storefront JS code.
    window.SwymEnabledCommonFeatures = enabledCommonFeatures;

    // Ghost-Intent Configuration
    // Defaults to disabled (false). Only enabled when metafields explicitly set to "true".
    try {
      let ghostIntentConfig = {
        isExplicitConsentNeeded: false,
        isExplicitConsentNeededEvenForLocalStorage: false,
        askForPermissionOnFirstClick: true
      };
      
      
      
      window.SwymGhostIntentConfig = ghostIntentConfig;
    } catch(e) {
      window.SwymGhostIntentConfig = {
        isExplicitConsentNeeded: false,
        isExplicitConsentNeededEvenForLocalStorage: false,
        askForPermissionOnFirstClick: true
      };
    }

    // Education Layer Configuration
    // Defaults to enabled (true). Only disabled when metafield explicitly set to "false".
    window.SwymEducationLayerEnabled = true;
    

    // Login Nudge Configuration
    // Defaults to enabled (true). Only disabled when metafield explicitly set to "false".
    window.SwymLoginNudgeEnabled = true;
    

    // Initialize or ensure SwymViewProducts exists
    if (!window.SwymViewProducts) {
      window.SwymViewProducts = {};
    }
    
  })();
</script>


<script src="https://cdn.shopify.com/extensions/019ea728-3733-7fb1-81a6-5fe5472d7d11/swym-relay-766/assets/swym-consent-manager.js" defer></script>

<script
  
  id="wishlist-embed-init"
  defer
  async
>
  (function () {
    window.swymWishlistEmbedLoaded = true;
    var fullAssetUrl = "https://cdn.shopify.com/extensions/019ea728-3733-7fb1-81a6-5fe5472d7d11/swym-relay-766/assets/apps.bundle.js"; 
    var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1);
    var swymJsPath = '//procdn.swymrelay.com/code/swym-shopify.js';
    var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1);
    window.SwymCurrentJSPath = baseJsPath;
    window.SwymAssetBaseUrl = assetBaseUrl;
    
      window.SwymCurrentStorePath = "//swymstore-v3pro-01.swymrelay.com";
    
    function loadSwymShopifyScript() {
      var element = "";
      var scriptSrc = "";

      
        element = "swym-ext-shopify-script";
        window.SwymShopifyCdnInUse = true;
        scriptSrc = "https://cdn.shopify.com/extensions/019ea728-3733-7fb1-81a6-5fe5472d7d11/swym-relay-766/assets/swym-ext-shopify.js";
      

      if (document.getElementById(element)) {
        return;
      }

      var s = document.createElement("script");
      s.id = element;
      s.type = "text/javascript";
      s.async = true;
      s.defer = true;
      s.src = scriptSrc;

      s.onerror = function() {
        console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default");
        // Fallback logic here
        element = `swym-ext-shopify-script-${__SWYM__VERSION__}`;
        var fallbackJsPathVal = "\/\/procdn.swymrelay.com\/code\/swym-shopify.js";
        var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify");
        scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__;

        var fallbackScript = document.createElement("script");
        fallbackScript.id = element;
        fallbackScript.type = "text/javascript";
        fallbackScript.async = true;
        fallbackScript.defer = true;
        fallbackScript.src = scriptSrc;
        var y = document.getElementsByTagName("script")[0];
        y.parentNode.insertBefore(fallbackScript, y);
      };

      var x = document.getElementsByTagName("script")[0];
      x.parentNode.insertBefore(s, x);
    }
    
      var consentAPICallbackInvoked = false;
      function checkConsentAndLoad() {
        // Allow app to load in design mode (theme editor) regardless of consent
        if (window.Shopify?.designMode) {
          loadSwymShopifyScript();
          return;
        }

        // Ghost-Intent: If merchant enabled explicit consent, block SDK until
        // consent is given through our Ghost-Intent flow (sync nudge accept).
        // This works on any store regardless of region (EU or non-EU).
        var ghostConfig = window.SwymGhostIntentConfig || {};
        if (ghostConfig.isExplicitConsentNeeded || ghostConfig.isExplicitConsentNeededEvenForLocalStorage) {
          try {
            var consentKey = 'swym-ghost-consent-' + (window.Shopify && window.Shopify.shop || '');
            if (localStorage.getItem(consentKey) === 'true') {
              // Consent was given through our flow — load SDK
              loadSwymShopifyScript();
              return;
            }
          } catch(e) {}

          // Check if Shopify native cookie consent was given via the cookie banner.
          // If user accepted cookies through Shopify's banner, load SDK normally
          // (Ghost-Intent is only needed when NO consent mechanism has been used).
          var shopifyConsentGiven = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.();
          if (shopifyConsentGiven) {
            loadSwymShopifyScript();
            return;
          }

          console.warn("[Swym Ghost-Intent] SDK blocked until explicit consent is given");
          return;
        }

        var isCookieBannerVisible = window.Shopify?.customerPrivacy?.shouldShowBanner?.();
        if(!isCookieBannerVisible) {
          loadSwymShopifyScript();
          return;
        }
        var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.();
        if (shouldLoadSwymScript) {
          loadSwymShopifyScript();
        } else {
          console.warn("No customer consent to load Swym Wishlist Plus");
        }
      }
      function initialiseConsentCheck() {
        document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); });
        window.Shopify?.loadFeatures?.(
          [{name: 'consent-tracking-api', version: '0.1'}],
          error => { 
            consentAPICallbackInvoked = true;
            if (error) {
              if(!window.Shopify?.customerPrivacy) {
                loadSwymShopifyScript();
                return;
              }
            }
            checkConsentAndLoad();
          }
        );
      }
      function consentCheckFallback(retryCount) {
        if(!consentAPICallbackInvoked) {
          if (window.Shopify?.customerPrivacy) {
            checkConsentAndLoad();
          } else if (retryCount >= 1) {
            console.warn("Shopify.loadFeatures unsuccessful on site, refer - https://shopify.dev/docs/api/customer-privacy#loading-the-customer-privacy-api. Proceeding with normal Swym Wishlist Plus load");
            // Ghost-Intent: route through checkConsentAndLoad so SDK block is respected
            checkConsentAndLoad();
          } else {
            setTimeout(() => consentCheckFallback(retryCount + 1), 1000);
          }
        }
      }
      if (document.readyState === "loading") {
        document.addEventListener("DOMContentLoaded", initialiseConsentCheck);
        window.addEventListener("load", () => consentCheckFallback(0));
      } else {
        initialiseConsentCheck();
      }
    
  })();
</script>

<!-- BEGIN app snippet: swymSnippet --><script defer>
  (function () {
    const currentSwymJSPath = '//procdn.swymrelay.com/code/swym-shopify.js';
    const currentSwymStorePath = 'https://swymstore-v3pro-01.swymrelay.com';
    const dnsPrefetchLink = `<link rel="dns-prefetch" href="https://${currentSwymStorePath}" crossorigin>`;
    const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`;
    const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`;
    const swymSnippet = document.getElementById('wishlist-embed-init');        
    if(dnsPrefetchLink) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink);}
    if(dnsPrefetchLink2) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2);}
    if(preConnectLink) {swymSnippet.insertAdjacentHTML('afterend', preConnectLink);}
  })()
</script>
<script id="swym-snippet" type="text">
  window.swymLandingURL = document.URL;
  window.swymCart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0};
  window.swymPageLoad = function() {
    window.SwymProductVariants = window.SwymProductVariants || {};
    window.SwymHasCartItems = 0 > 0;
    window.SwymPageData = {}, window.SwymProductInfo = {};
      var unknown = {et: 0};
      window.SwymPageData = unknown;
    
    window.SwymPageData.uri = window.swymLandingURL;
  };
  if(window.selectCallback){
    (function(){
      var originalSelectCallback = window.selectCallback;
      window.selectCallback = function(variant){
        originalSelectCallback.apply(this, arguments);
        try{
          if(window.triggerSwymVariantEvent){
            window.triggerSwymVariantEvent(variant.id);
          }
        }catch(err){
          console.warn("Swym selectCallback", err);
        }
      };})();}
  window.swymCustomerId =null;
  window.swymCustomerExtraCheck =
    null;
  var swappName = ("Wishlist" || "Wishlist");
  var swymJSObject = {
    pid: "1wCnqFU8LoVMhMgh8bNG45zgg\/llzBk8KJknLTaOcZk=",
    interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName
  };
  window.swymJSShopifyLoad = function(){
    if(window.swymPageLoad) swymPageLoad();
    if(!window._swat) {
      (function (s, w, r, e, l, a, y) {
        r['SwymRetailerConfig'] = s;
        r[s] = r[s] || function (k, v) {
          r[s][k] = v;
        };
      })('_swrc', '', window);
      _swrc('RetailerId', swymJSObject.pid);
      _swrc('Callback', function(){initSwymShopify();});
    }else if(window._swat.postLoader){
      _swrc = window._swat.postLoader;
      _swrc('RetailerId', swymJSObject.pid);
      _swrc('Callback', function(){initSwymShopify();});
    }else{
      initSwymShopify();}
  }
  if(!window._SwymPreventAutoLoad) {
    swymJSShopifyLoad();
  }
</script>

<style id="safari-flasher-pre"></style>
<script>
  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
    document.getElementById("safari-flasher-pre").innerHTML = '' + '#swym-plugin,#swym-hosted-plugin{display: none;}' + '.swym-button.swym-add-to-wishlist{display: none;}' + '.swym-button.swym-add-to-watchlist{display: none;}' + '#swym-plugin  #swym-notepad, #swym-hosted-plugin  #swym-notepad{opacity: 0; visibility: hidden;}' + '#swym-plugin  #swym-notepad, #swym-plugin  #swym-overlay, #swym-plugin  #swym-notification,' + '#swym-hosted-plugin  #swym-notepad, #swym-hosted-plugin  #swym-overlay, #swym-hosted-plugin  #swym-notification' + '{-webkit-transition: none; transition: none;}' + '';
    window.SwymCallbacks = window.SwymCallbacks || [];
    window.SwymCallbacks.push(function(tracker) {
      tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() {
        var x = function() {
          SwymUtils.onDOMReady(function() {
            var d = document.createElement("div");
            d.innerHTML = "<style id='safari-flasher-post'>" + "#swym-plugin:not(.swym-ready),#swym-hosted-plugin:not(.swym-ready){display: none;}" + ".swym-button.swym-add-to-wishlist:not(.swym-loaded){display: none;}" + ".swym-button.swym-add-to-watchlist:not(.swym-loaded){display: none;}" + "#swym-plugin.swym-ready  #swym-notepad, #swym-plugin.swym-ready  #swym-overlay, #swym-plugin.swym-ready  #swym-notification," + "#swym-hosted-plugin.swym-ready  #swym-notepad, #swym-hosted-plugin.swym-ready  #swym-overlay, #swym-hosted-plugin.swym-ready  #swym-notification" + "{-webkit-transition: opacity 0.3s, visibility 0.3ms, -webkit-transform 0.3ms !important;-moz-transition: opacity 0.3s, visibility 0.3ms, -moz-transform 0.3ms !important;-ms-transition: opacity 0.3s, visibility 0.3ms, -ms-transform 0.3ms !important;-o-transition: opacity 0.3s, visibility 0.3ms, -o-transform 0.3ms !important;transition: opacity 0.3s, visibility 0.3ms, transform 0.3ms !important;}" + "</style>";
            document.head.appendChild(d);
          });};
        setTimeout(x, 10);
      });});}
  window.SwymOverrideMoneyFormat = "${{amount}}";
</script>
<style id="swym-product-view-defaults"> .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded) { display: none; } </style><!-- END app snippet -->

<script
  
  id="swymSnippetCheckAndActivate"
>
  (function () {
    function postDomLoad() {
      var element = document.querySelector('script#swym-snippet:not([type="text"])');
      if (!element) {
        var script = document.querySelector('script#swym-snippet[type="text"]');
        if (script) {
          script.type = 'text/javascript';
          new Function(script.textContent)();
        }
      }
    }
    if (document.readyState === 'loading') {
      document.addEventListener('DOMContentLoaded', postDomLoad);
    } else {
      postDomLoad();
    }
  })();
</script>



<script>
  (function () {
    const themeSchemaName = window.Shopify.theme.schema_name;

    if (!window.SwymCallbacks) {
      window.SwymCallbacks = [];
    }
    window.SwymCallbacks.push(swat => {
      if (!swat) {
        return;
      }

      // Ghost-Intent: Sync local wishlist items to cloud when SDK loads after consent
      if (window.SwymLocalWishlist && window.SwymLocalWishlist.getSyncableItems().length > 0) {
        window.SwymLocalWishlist.syncToCloud(swat);
      }

      if (window._SwymSDKOnlyMode) {
        return;
      }

      // ENABLE COMMON FEATURES
      let swymEnabledCommonFeatures = window.SwymEnabledCommonFeatures;
      Object.keys(swymEnabledCommonFeatures).forEach(key => {
        if (!swymEnabledCommonFeatures[key]) return;

        switch (key) {
          case 'add-to-wishlist-collections-button':
            // Check if app block is already handling the collections button
            if (window.SwymCollectionsConfig) {
              return;
            }

            // Check if v2 default collections is handling it
            if (window.SwymAdvancedCollectionsWishlistConfig) {
              return;
            }

            // Fallback to old v1 behavior if v2 config is not present
            swat?.collectionsApi?.setDefaultCustomizationOptions();
            swat?.collectionsApi?.initializeCollections(swat, false, themeSchemaName);

            break;
          case 'add-to-wishlist-pdp-button':
            // Check if app block is already handling the PDP button
            if (window.swymATWButtonConfig?.shopifyExtensionType === 'appblock') {
              return;
            }

            if (!(window.SwymPageData && window.SwymPageData.et === 1)) {
              // Not initiating pdp button as it is not a product page
              return;
            }

            // Inject addtowishlist.css into the document's <head>
            var head = document.head;
            var pdpButtonStylesheet = "https://cdn.shopify.com/extensions/019ea728-3733-7fb1-81a6-5fe5472d7d11/swym-relay-766/assets/addtowishlistbutton.css";
            var pdpButtonStylesheetTag = document.createElement('link');
            pdpButtonStylesheetTag.id = `swym-pdp-button-stylesheet`;
            pdpButtonStylesheetTag.rel = 'stylesheet';
            pdpButtonStylesheetTag.href = pdpButtonStylesheet;

            if (!document.getElementById('swym-pdp-button-stylesheet')) {
              head.appendChild(pdpButtonStylesheetTag);
            }

            var x = document.getElementsByTagName('script')[0];
            function createAndInsertScript(id, src, onLoadCallback) {
              var scriptTag = document.createElement('script');
              scriptTag.id = id;
              scriptTag.type = 'text/javascript';
              scriptTag.src = src;
              scriptTag.onload = onLoadCallback;
              x.parentNode.insertBefore(scriptTag, x);
            }

            var pdpButtonScript = "https://cdn.shopify.com/extensions/019ea728-3733-7fb1-81a6-5fe5472d7d11/swym-relay-766/assets/addtowishlistbutton.js";
            createAndInsertScript(`swym-pdp-button-script`, pdpButtonScript, function () {
              const pdpBtnApi = window.WishlistPlusPDPButtonAPI;
              if (pdpBtnApi) {
                pdpBtnApi.setDefaultCustomizationOptions(swat);
                pdpBtnApi.initializePDPButton(swat, true);
              }
            });
            break;
          default:
            return;
        }
      });
    });
  })(); // IIFE to prevent polluting global scope
</script>



<script> 
  (function () {
    // Get the settings from Shopify's Liquid variables and create the styles
    const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"];
    const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 
      Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0;
    const isControlCentreEnabledFromBlockSettings = false;
    
    if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) {
      // Don't enable control centre if this is disabled and block settings are not enabled
      return;
    }
    
    let borderRadius = 6;
    let drawerWidth = window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutDrawerWidth || 400;
    
    // Check if block settings exist, use them, otherwise fall back to common settings
    let primaryBgColor = isControlCentreEnabledFromBlockSettings ? 
      "#000000" : 
      window.SwymWishlistCommonCustomizationSettings.primaryColor;
    
    let primaryTextColor = isControlCentreEnabledFromBlockSettings ? 
      "#ffffff" : 
      window.SwymWishlistCommonCustomizationSettings.secondaryColor;
    
    let secondaryBgColor = isControlCentreEnabledFromBlockSettings ? 
      "#F4F8FE" : null;
    let secondaryTextColor = isControlCentreEnabledFromBlockSettings ? 
      "#333333" : null;

    // Only use color adjustment functions if we're using common settings
    if (!secondaryBgColor || !secondaryTextColor) {
      function adjustOpacity(color, opacity) {
        if (color[0] === '#') {
          color = color.slice(1);
        }

        if (color.length === 3) {
          color = color.split('').map(char => char + char).join('');
        }

        const r = parseInt(color.slice(0, 2), 16);
        const g = parseInt(color.slice(2, 4), 16);
        const b = parseInt(color.slice(4, 6), 16);

        return `rgba(${r}, ${g}, ${b}, ${opacity})`;
      }

      function hexToRgb(color) {
        if (color[0] === '#') {
          color = color.slice(1);
        }
        if (color.length === 3) {
          color = color.split('').map(c => c + c).join('');
        }

        return {
          r: parseInt(color.slice(0, 2), 16),
          g: parseInt(color.slice(2, 4), 16),
          b: parseInt(color.slice(4, 6), 16)
        };
      }

      function getLuminance({ r, g, b }) {
        return 0.299 * r + 0.587 * g + 0.114 * b;
      }

      function generateSecondaryColors(primaryBgColor, primaryTextColor) {
        const secondaryBgOpacity = 0.2;
        const secondaryTextOpacity = 0.8;

        const secondaryBgColor = adjustOpacity(primaryBgColor, secondaryBgOpacity);

        const bgRgb = hexToRgb(primaryBgColor);
        const bgLuminance = getLuminance(bgRgb);

        // Determine whether to use dark or light text for contrast
        const lightText = adjustOpacity(primaryTextColor, secondaryTextOpacity);
        const darkText = adjustOpacity(primaryBgColor, secondaryTextOpacity);

        const secondaryTextColor = bgLuminance > 186 ? darkText : lightText;

        return {
          secondaryBgColor,
          secondaryTextColor
        };
      }

      const generatedColors = generateSecondaryColors(primaryBgColor, primaryTextColor);
      secondaryBgColor = secondaryBgColor || generatedColors.secondaryBgColor;
      secondaryTextColor = secondaryTextColor || generatedColors.secondaryTextColor;
    }

    // Create the CSS rule
    let styles = `
      .swym-storefront-layout-root-component {
        --swym-storefront-layout-ui-border-radius: ${borderRadius}px;
        --swym-storefront-layout-button-border-radius: ${borderRadius}px;
        --swym-storefront-layout-side-drawer-width: ${drawerWidth}px;
        --swym-storefront-layout-button-color-bg-primary: ${primaryBgColor};
        --swym-storefront-layout-button-color-text-primary: ${primaryTextColor};
        --swym-storefront-layout-button-color-bg-secondary: ${secondaryBgColor};
        --swym-storefront-layout-button-color-text-secondary: ${secondaryTextColor};
      }
    `;

    // Create a <style> element and append the styles
    let styleSheet = document.createElement("style");
    styleSheet.type = "text/css";
    styleSheet.innerText = styles;
    document.head.appendChild(styleSheet);

    if (typeof window.SwymStorefrontLayoutContext === 'undefined') {
        window.SwymStorefrontLayoutContext = {};
    }
    if (typeof window.SwymStorefrontLayoutExtensions === 'undefined'){
        window.SwymStorefrontLayoutExtensions = {};
    }

    // Expose block settings toggle state so ThemeCSSMapping can respect it.
    // When true, theme editor color pickers take priority over inherited theme CSS variables.
    SwymStorefrontLayoutContext.BlockSettingsEnabled = isControlCentreEnabledFromBlockSettings;

    if (isControlCentreEnabledFromBlockSettings) {
      // If block settings are enabled, use them
      SwymStorefrontLayoutContext.Settings = {
        EnableStorefrontLayoutOnLauncher: true,
        EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true,
        StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer",
        StorefrontLayoutDrawerPosition: "left",
        StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container",
        StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist",
        EnableStorefrontLayoutVariantSelector: true,
        StorefrontLayoutNotificationPosition: "left",
        StorefrontLayoutActionPopupPosition: "left",
        StorefrontLayoutNotificationDuration: 5000
      };
    } else {
      // If only metafield is enabled but no block settings, use common settings
      SwymStorefrontLayoutContext.Settings = {
        EnableStorefrontLayoutOnLauncher: true,
        EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true,
        StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer",
        StorefrontLayoutDrawerPosition: "left",
        StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container",
        StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist",
        EnableStorefrontLayoutVariantSelector: true,
        StorefrontLayoutNotificationPosition: "left",
        StorefrontLayoutActionPopupPosition: "left",
        StorefrontLayoutNotificationDuration: 5000
      };
    }
    const storefrontLayoutCallback = (swat) =>{
      SwymStorefrontLayoutContext.swat = swat;
      let isStoreOnPaidPlan = swat.getApp('Wishlist')?.['is-paid'];
      let isWishlistEnabled = swat.getApp('Wishlist')?.['enabled'];
      SwymStorefrontLayoutContext.Settings = {
        ...SwymStorefrontLayoutContext?.Settings,
        EnableStorefrontLayoutCollection: window?.SwymEnabledCommonFeatures?.["multiple-wishlist"] ?? false,
        EnableStorefrontLayout: isWishlistEnabled && (isControlCentreEnabledFromBlockSettings || isControlCentreEnabledFromMetafield),
      }

      if(SwymStorefrontLayoutContext?.Settings?.EnableStorefrontLayout){
        if(SwymStorefrontLayoutContext?.CustomEvents?.LayoutInitialized){
          var event = new CustomEvent(SwymStorefrontLayoutContext.CustomEvents.LayoutInitialized, { 
            detail: { settings: SwymStorefrontLayoutContext?.Settings }
          });
          document.dispatchEvent(event);
        }else{
          swat.utils.warn(`LayoutInitialized event is not defined.`);
        }
      }else{
        swat.utils.warn(`Storefront Layout is disabled.`);
        document.getElementById("swym-storefront-layout-container")?.remove();
        document.getElementById("swym-storefront-extention-render-container")?.remove();
      }
    }
  
    if (!window.SwymCallbacks) {
      window.SwymCallbacks = [];
    }
    window.SwymCallbacks.push(storefrontLayoutCallback);
  
    SwymStorefrontLayoutContext.SwymCustomerData = {
      
        name: null,
        email: null
      
    };
    SwymStorefrontLayoutContext.isShopperLoggedIn = !!SwymStorefrontLayoutContext?.SwymCustomerData?.email;
  })();
</script>





</div><script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
</body>
</html>
