It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://tanglessalon.ca

  1. <!doctype html>
  2. <html class="no-js" lang="en">
  3. <head>
  4.  <meta charset="utf-8">
  5.  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6.  <meta name="viewport" content="width=device-width,initial-scale=1">
  7.  <meta name="theme-color" content="#000000">
  8.  
  9.      <meta name="robots" content="index,follow" />
  10.  
  11.  <link rel="preconnect" href="https://fonts.googleapis.com">
  12.  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  13.  <link href="https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&display=swap" rel="stylesheet">
  14.  <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400..900&display=swap" rel="stylesheet">
  15.  
  16.  <link rel="icon" type="image/png" href="https://cdn.shopify.com/s/files/1/0862/7201/6695/files/favicon.png" sizes="16x16">
  17.  
  18.    <link rel="canonical" href=""><link rel="shortcut icon" href="//tanglessalon.ca/cdn/shop/files/images_32x32.png?v=1654805748" type="image/png"><script>console.log('');</script>
  19.  <title>Newmarket &amp; East Gwillimbury&#39;s Top Hair Salon &amp; Spa - Tangles</title><meta name="description" content="At Tangles Hair Salon &amp; Spa, our skilled professionals offer up-to-date styles &amp; tailored services to suit our valuable clients at an affordable cost."><!-- /snippets/social-meta-tags.liquid -->
  20.  
  21.  
  22.  
  23.  
  24. <meta property="og:site_name" content=" Tangles Hair Salon">
  25. <meta property="og:url" content="https://tanglessalon.ca/">
  26. <meta property="og:title" content="Newmarket &amp; East Gwillimbury&#39;s Top Hair Salon &amp; Spa - Tangles">
  27. <meta property="og:type" content="website">
  28. <meta property="og:description" content="At Tangles Hair Salon &amp; Spa, our skilled professionals offer up-to-date styles &amp; tailored services to suit our valuable clients at an affordable cost.">
  29.  
  30.  
  31.  
  32.  
  33.  
  34. <meta name="twitter:card" content="summary_large_image">
  35. <meta name="twitter:title" content="Newmarket &amp; East Gwillimbury&#39;s Top Hair Salon &amp; Spa - Tangles">
  36. <meta name="twitter:description" content="At Tangles Hair Salon &amp; Spa, our skilled professionals offer up-to-date styles &amp; tailored services to suit our valuable clients at an affordable cost.">
  37.  
  38.  
  39.  <link href="//tanglessalon.ca/cdn/shop/t/9/assets/theme.css?v=121026136265264166701712912385" rel="stylesheet" type="text/css" media="all" />
  40.  
  41.  <script>
  42.    var theme = {
  43.      breakpoints: {
  44.        medium: 750,
  45.        large: 990,
  46.        widescreen: 1400
  47.      },
  48.      strings: {
  49.        addToCart: "Add to cart",
  50.        soldOut: "Sold out",
  51.        unavailable: "Unavailable",
  52.        regularPrice: "Regular price",
  53.        salePrice: "Sale price",
  54.        sale: "Sale",
  55.        fromLowestPrice: "from [price]",
  56.        vendor: "Vendor",
  57.        showMore: "Show More",
  58.        showLess: "Show Less",
  59.        searchFor: "Search for",
  60.        addressError: "Error looking up that address",
  61.        addressNoResults: "No results for that address",
  62.        addressQueryLimit: "You have exceeded the Google API usage limit. Consider upgrading to a \u003ca href=\"https:\/\/developers.google.com\/maps\/premium\/usage-limits\"\u003ePremium Plan\u003c\/a\u003e.",
  63.        authError: "There was a problem authenticating your Google Maps account.",
  64.        newWindow: "Opens in a new window.",
  65.        external: "Opens external website.",
  66.        newWindowExternal: "Opens external website in a new window.",
  67.        removeLabel: "Remove [product]",
  68.        update: "Update",
  69.        quantity: "Quantity",
  70.        discountedTotal: "Discounted total",
  71.        regularTotal: "Regular total",
  72.        priceColumn: "See Price column for discount details.",
  73.        quantityMinimumMessage: "Quantity must be 1 or more",
  74.        cartError: "There was an error while updating your cart. Please try again.",
  75.        removedItemMessage: "Removed \u003cspan class=\"cart__removed-product-details\"\u003e([quantity]) [link]\u003c\/span\u003e from your cart.",
  76.        unitPrice: "Unit price",
  77.        unitPriceSeparator: "per",
  78.        oneCartCount: "1 item",
  79.        otherCartCount: "[count] items",
  80.        quantityLabel: "Quantity: [count]",
  81.        products: "Products",
  82.        loading: "Loading",
  83.        number_of_results: "[result_number] of [results_count]",
  84.        number_of_results_found: "[results_count] results found",
  85.        one_result_found: "1 result found"
  86.      },
  87.      moneyFormat: "${{amount}}",
  88.      moneyFormatWithCurrency: "${{amount}} CAD",
  89.      settings: {
  90.        predictiveSearchEnabled: true,
  91.        predictiveSearchShowPrice: false,
  92.        predictiveSearchShowVendor: false
  93.      }
  94.    }
  95.  
  96.    document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
  97.  </script><script src="//tanglessalon.ca/cdn/shop/t/9/assets/lazysizes.js?v=94224023136283657951712548538" async="async"></script>
  98.  <script src="//tanglessalon.ca/cdn/shop/t/9/assets/vendor.js?v=122628327549996290011712548538" defer="defer" ></script>
  99.  <script src="//tanglessalon.ca/cdn/shop/t/9/assets/theme.js?v=124552192346201260691712548538" defer="defer"></script>
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="facebook-domain-verification" content="ytn6wqqfg67olb2y40omshle0avaiq">
  106. <meta name="facebook-domain-verification" content="fvqpffsi8jmjyuy1crurm2nkil56vo">
  107. <meta name="facebook-domain-verification" content="1fksp0d70l9ptzpkqpdo57mlnwla4k">
  108. <meta name="facebook-domain-verification" content="0ll2g9ai71wkeyq609rjs0khgwmww2">
  109. <meta name="facebook-domain-verification" content="6ipm5sfnp6loxzkltj4x85rxhnr6i4">
  110. <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/43153817764/digital_wallets/dialog">
  111. <meta name="shopify-checkout-api-token" content="5408103fd30593a62edaaae9f121777f">
  112. <meta id="in-context-paypal-metadata" data-shop-id="43153817764" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="CAD">
  113. <script async="async" src="/checkouts/internal/preloads.js?locale=en-CA&version=checkout-renderer"></script>
  114. <link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
  115. <script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-CA&version=checkout-renderer&shop_id=43153817764" crossorigin="anonymous"></script>
  116. <script id="apple-pay-shop-capabilities" type="application/json">{"shopId":43153817764,"countryCode":"CA","currencyCode":"CAD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/43153817764","merchantName":" Tangles Hair Salon","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","interac","jcb"],"total":{"type":"pending","label":" Tangles Hair Salon","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
  117. <script id="shopify-features" type="application/json">{"accessToken":"5408103fd30593a62edaaae9f121777f","betas":["rich-media-storefront-analytics"],"domain":"tanglessalon.ca","predictiveSearch":true,"shopId":43153817764,"locale":"en"}</script>
  118. <script>var Shopify = Shopify || {};
  119. Shopify.shop = "tanglessalon.myshopify.com";
  120. Shopify.locale = "en";
  121. Shopify.currency = {"active":"CAD","rate":"1.0"};
  122. Shopify.country = "CA";
  123. Shopify.theme = {"name":"tangles-salon-dev","id":142641266852,"schema_name":"Debut","schema_version":"16.7.1","theme_store_id":null,"role":"main"};
  124. Shopify.theme.handle = "null";
  125. Shopify.theme.style = {"id":null,"handle":null};
  126. Shopify.cdnHost = "tanglessalon.ca/cdn";
  127. Shopify.routes = Shopify.routes || {};
  128. Shopify.routes.root = "/";</script>
  129. <script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
  130. <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>
  131. <script>window.ShopifyPay = window.ShopifyPay || {};
  132. window.ShopifyPay.apiHost = "shop.app\/pay";</script>
  133. <script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
  134. <script>
  135.  window.Shopify = window.Shopify || {};
  136.  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
  137.  window.Shopify.featureAssets['shop-js'] = {"shop-cart-sync":["modules/v2/client.shop-cart-sync_D7-dt4yQ.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js"],"shop-button":["modules/v2/client.shop-button_Dk3C-nrc.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js"],"init-fed-cm":["modules/v2/client.init-fed-cm_BJTzcthb.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js"],"init-shop-cart-sync":["modules/v2/client.init-shop-cart-sync_D4LP0mdf.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js"],"shop-cash-offers":["modules/v2/client.shop-cash-offers_BIiDGR_9.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js","modules/v2/chunk.modal_CENDd7R_.esm.js"],"init-windoid":["modules/v2/client.init-windoid_Cggc9BHJ.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/client.init-shop-email-lookup-coordinator_BIqXeISy.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js"],"pay-button":["modules/v2/client.pay-button_4B9uZD6V.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js"],"init-customer-accounts-sign-up":["modules/v2/client.init-customer-accounts-sign-up_BN4amUeE.en.esm.js","modules/v2/client.shop-login-button_DKiCFHAf.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js","modules/v2/chunk.modal_CENDd7R_.esm.js"],"shop-login-button":["modules/v2/client.shop-login-button_DKiCFHAf.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js","modules/v2/chunk.modal_CENDd7R_.esm.js"],"shop-toast-manager":["modules/v2/client.shop-toast-manager_DdQVK1uj.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js"],"avatar":["modules/v2/client.avatar_BTnouDA3.en.esm.js"],"checkout-modal":["modules/v2/client.checkout-modal_CKOixL28.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js","modules/v2/chunk.modal_CENDd7R_.esm.js"],"init-customer-accounts":["modules/v2/client.init-customer-accounts_kjqkEy5G.en.esm.js","modules/v2/client.shop-login-button_DKiCFHAf.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js","modules/v2/chunk.modal_CENDd7R_.esm.js"],"shop-follow-button":["modules/v2/client.shop-follow-button_CIgZ6QOF.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js","modules/v2/chunk.modal_CENDd7R_.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/client.init-shop-for-new-customer-accounts_D0GKEBXn.en.esm.js","modules/v2/client.shop-login-button_DKiCFHAf.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js","modules/v2/chunk.modal_CENDd7R_.esm.js"],"lead-capture":["modules/v2/client.lead-capture_B1OqQ3Ju.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js","modules/v2/chunk.modal_CENDd7R_.esm.js"],"payment-terms":["modules/v2/client.payment-terms_B3uZ3S0s.en.esm.js","modules/v2/chunk.common_C1D4c1nb.esm.js","modules/v2/chunk.modal_CENDd7R_.esm.js"]};
  138. </script>
  139. <script>(function() {
  140.  function asyncLoad() {
  141.    var urls = ["https:\/\/widgetic.com\/sdk\/sdk.js?shop=tanglessalon.myshopify.com","https:\/\/call.chatra.io\/shopify?chatraId=T8avio6SkNTwCFKqs\u0026shop=tanglessalon.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0431\/5381\/7764\/t\/1\/assets\/affirmShopify.js?v=1662076461\u0026shop=tanglessalon.myshopify.com","https:\/\/omnisnippet1.com\/inShop\/Embed\/shopify.js?shop=tanglessalon.myshopify.com","https:\/\/cdn.nfcube.com\/instafeed-859cb53bb964245695883a32a7d6c29b.js?shop=tanglessalon.myshopify.com","\/\/cdn.shopify.com\/proxy\/b816ac8afd9cefbcb9b19ed5c1bef89609a12fea53053180d6e7d8ec59f61c72\/bingshoppingtool-t2app-prod.trafficmanager.net\/api\/ShopifyMT\/v1\/uet\/tracking_script?shop=tanglessalon.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"];
  142.    for (var i = 0; i < urls.length; i++) {
  143.      var s = document.createElement('script');
  144.      s.type = 'text/javascript';
  145.      s.async = true;
  146.      s.src = urls[i];
  147.      var x = document.getElementsByTagName('script')[0];
  148.      x.parentNode.insertBefore(s, x);
  149.    }
  150.  };
  151.  if(window.attachEvent) {
  152.    window.attachEvent('onload', asyncLoad);
  153.  } else {
  154.    window.addEventListener('load', asyncLoad, false);
  155.  }
  156. })();</script>
  157. <script id="__st">var __st={"a":43153817764,"offset":-14400,"reqid":"4c815827-f143-45b8-bb39-775d10a98103-1751859985","pageurl":"tanglessalon.ca\/","u":"30e4fa4d1ce4","p":"home"};</script>
  158. <script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
  159. <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>
  160. <script integrity="sha256-DTN/DDRLW4ijBM7GedgYZhatFOf+PYQ7/WEM4Q6kiFw=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//tanglessalon.ca/cdn/shopifycloud/shopify/assets/storefront/load_feature-0d337f0c344b5b88a304cec679d8186616ad14e7fe3d843bfd610ce10ea4885c.js" crossorigin="anonymous"></script>
  161. <script crossorigin="anonymous" defer="defer" src="//tanglessalon.ca/cdn/shopifycloud/shopify/assets/shopify_pay/storefront-9846a8162782d0b340b9256e1835a4bf4ccf7ab521e1221004c475e86df911f4.js?v=20220906"></script>
  162. <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://tanglessalon.ca/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
  163. </script>
  164. <script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
  165.  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);
  166. </script>
  167. <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})}}));
  168. </script>
  169.  
  170. <link rel="stylesheet" media="screen" href="https://tanglessalon.ca/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
  171.  
  172. <style id="shopify-accelerated-checkout-cart">
  173.        #shopify-buyer-consent {
  174.  margin-top: 1em;
  175.  display: inline-block;
  176.  width: 100%;
  177. }
  178.  
  179. #shopify-buyer-consent.hidden {
  180.  display: none;
  181. }
  182.  
  183. #shopify-subscription-policy-button {
  184.  background: none;
  185.  border: none;
  186.  padding: 0;
  187.  text-decoration: underline;
  188.  font-size: inherit;
  189.  cursor: pointer;
  190. }
  191.  
  192. #shopify-subscription-policy-button::before {
  193.  box-shadow: none;
  194. }
  195.  
  196.      </style>
  197. <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
  198.  <!-- Google Tag Manager -->
  199. <!--<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  200. new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  201. j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  202. 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  203. })(window,document,'script','dataLayer','GTM-TTM26RJ7');</script>-->
  204. <!-- End Google Tag Manager -->
  205.  <link href="//tanglessalon.ca/cdn/shop/t/9/assets/custom.css?v=54294067459695296691730871446" rel="stylesheet" type="text/css" media="all" />
  206.  
  207. <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js" ></script>
  208. <script src="//tanglessalon.ca/cdn/shop/t/9/assets/jquery.lazy.min.js?v=72418453740263649271712835098" defer="defer"></script>
  209. <script>
  210.    $(document).ready(function(){
  211.      $("img , iframe").attr("class","lazy");
  212.        $('.lazy').Lazy();
  213.    });
  214. </script>
  215. <script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js" defer ></script>
  216. <!-- BEGIN app block: shopify://apps/smartviewer-quick-view/blocks/quick-view-main/3d2a3202-3cd5-4abd-ab59-ee6fc7c65a87 -->
  217. <div id="squirai_qv_check_pro_version" data-check="squirai_qv_not_pro"></div>
  218.  
  219.  
  220.    <div id="squirai-qv-free"></div>
  221.    <!-- BEGIN app snippet: sca-quick-view --><div style="display: none !important" ><a class="sca-qv-button"  href="#sca-qv-showqv"title="Quick View" handle="" ></a></div>
  222.  
  223.  
  224.  
  225.  
  226.  
  227. <div id='sca-qv-metadata' style="display: none !important" jsondata='eyJibnRfdGV4dCI6IlFVSUNLIFZJRVciLCJibnRfdGV4dF9mb250IjoidGFob21hIiwiYm50X3RleHRfZm9udHNpemUiOiIxNHB4IiwiYm50X3RleHRfY29sb3IiOiIjZmZmZmZmIiwiYm50X3RleHRfaG92ZXIiOiIjZmZmZmZmIiwiYm50X2NvbG9yIjoiIzAwMDAwMCIsImJudF9jb2xvcl9ob3ZlciI6IiMwMDhmYmUiLCJibnRfcG9zc2l0aW9uIjoiY2VudGVyIiwiaW1nX21haW5fd2lkdGgiOiIzNDVweCIsIndkX2hlaWdodCI6IjUwMCIsIndkX3dpZHRoIjoiODYwIiwiY2FydF9nbyI6Im5vIiwiY2FydGNvdW50IjoiI0NhcnRDb3VudCIsImNhcnRfdG90YWwiOiIjY2FydGlkLW5lZWQtdG8tcmVsb2FkIiwiY2FydF9ub3RpZnlfYWRkX2Zvcm1hdCI6IlRoaXMgaXRlbSBpcyBhbHJlYWR5IGluICpZb3VyIENhcnQlLiIsImNhcnRfbm90aWZ5X2luX2Zvcm1hdCI6Ikl0ZW0gYWRkZWQgdG8gY2FydCEgKlZpZXcgQ2FydCUuIiwiY2FydF9jb2xvciI6IiNjNTA4MDgiLCJzYWxlX2ljb25fY29sb3IiOiIjZmM0YzAzIiwicHJpY2VfY29sb3IiOiIjYzUwODA4IiwibGlua19jb2xvciI6IiNmNDViNGYiLCJ0aXRsZV9jb2xvciI6IiM0NDQ0NDQiLCJxdl9kaXNhYmxlIjpudWxsLCJpc19yYXRlZCI6ZmFsc2UsInJhdGVfc2NvcmUiOjAsInJhdGVfY29tbWVudCI6IiIsImJ0bl9tb2JpbGVfZGlzcGxheSI6Im5vcm1hbCIsImRlc19udW0iOiIzMCJ9' moneyFormat="${{amount}}" noimage="https://cdn.shopify.com/extensions/ebea0a1c-9f39-4839-b381-475d572e433d/smartviewer-quick-view-9/assets/sca-qv-no-image.jpg"></div>
  228.  
  229. <!-- END app snippet -->
  230.    <!-- BEGIN app snippet: sca-quick-view-init --><link rel="dns-prefetch" href="https://ajax.googleapis.com/">
  231. <link rel="preload" as="stylesheet" href="https://cdn.shopify.com/extensions/ebea0a1c-9f39-4839-b381-475d572e433d/smartviewer-quick-view-9/assets/sca-quick-view.css">
  232. <link rel="preload" as="stylesheet" href="https://cdn.shopify.com/extensions/ebea0a1c-9f39-4839-b381-475d572e433d/smartviewer-quick-view-9/assets/sca-jquery.fancybox.css">
  233. <link rel="stylesheet" href="https://cdn.shopify.com/extensions/ebea0a1c-9f39-4839-b381-475d572e433d/smartviewer-quick-view-9/assets/sca-quick-view.css">
  234. <link rel="stylesheet" href="https://cdn.shopify.com/extensions/ebea0a1c-9f39-4839-b381-475d572e433d/smartviewer-quick-view-9/assets/sca-jquery.fancybox.css">
  235. <script src="https://cdn.shopify.com/extensions/ebea0a1c-9f39-4839-b381-475d572e433d/smartviewer-quick-view-9/assets/sca-option-select.js" defer ></script>
  236. <!-- END app snippet -->
  237.    <!-- BEGIN app snippet: sca-quick-view-template --><div id="sca-qv-showqv" class="sca-bm squirai-qv-basic" style="display: none !important;" >
  238. <div>
  239. <!--START PRODUCT-->
  240. <div class="quick-view-container fancyox-view-detail">
  241.    <div id="sca-qv-left" class="sca-left">
  242.            <div id="sca-qv-sale"  class="sca-qv-sale sca-qv-hidden">Sale</div>
  243. <!-- START ZOOM IMAGE-->
  244. <div class="sca-qv-zoom-container">
  245.                    <div class="zoomWrapper">
  246.  <div id="sca-qv-zoomcontainer" class='sqa-qv-zoomcontainer'>
  247.                              <!-- Main image  ! DON'T PUT CONTENT HERE! -->
  248.                      </div>
  249.  
  250.                    </div>
  251.             </div>
  252. <!-- END ZOOM IMAGE-->
  253.  
  254.            <!-- START GALLERY-->
  255.            <div id="sca-qv-galleryid" class="sca-qv-gallery">
  256.               <!-- Collection of image ! DON'T PUT CONTENT HERE!-->
  257.            </div>
  258.            <!-- END GALLERY-->
  259.        </div>
  260.  
  261. <!--START BUY-->
  262. <div id ="sca-qv-right" class="sca-right">
  263.           <!-- -------------------------- -->
  264. <div id="sca-qv-title" class="name-title" >
  265. <!-- Title of product ! DON'T PUT CONTENT HERE!-->
  266. </div>
  267. <!-- -------------------------- -->
  268. <div id ="sca-qv-price-container" class="sca-qv-price-container"  >
  269. <!-- price information of product ! DON'T PUT CONTENT HERE!-->
  270. </div>
  271. <!-- -------------------------- -->
  272. <div id="sca-qv-des" class="sca-qv-row">
  273. <!-- description of product ! DON'T PUT CONTENT HERE!-->
  274. </div>
  275. <!-- -------------------------- -->
  276. <div class="sca-qv-row">
  277. <a id="sca-qv-detail"  href="" > View full product details → </a>
  278. </div>
  279. <!-- ----------------------------------------------------------------------- -->
  280.            <div id='sca-qv-cartform'>
  281.          <form id="sca-qv-add-item-form"  method="post">
  282.                <!-- Begin product options ! DON'T PUT CONTENT HERE!-->
  283.                <div class="sca-qv-product-options">
  284.                  <!-- -------------------------- -->
  285.                  <div id="sca-qv-variant-options" class="sca-qv-optionrow">
  286. <!-- variant options  of product  ! DON'T PUT CONTENT HERE!-->
  287.          </div>
  288.                  <!-- -------------------------- -->
  289.                  <div class="sca-qv-optionrow">
  290.                    <label>Quantity</label>
  291.                  <input id="sca-qv-quantity" min="1" type="number" name="quantity" value="1"  />
  292.                  </div>
  293.  <!-- -------------------------- -->
  294.                  <div class="sca-qv-optionrow">
  295.                     <p id="sca-qv-unavailable" class="sca-sold-out sca-qv-hidden">Unavailable</p>
  296.                     <p id="sca-qv-sold-out" class="sca-sold-out sca-qv-hidden">Sold Out</p>
  297.                     <input type="submit" class="sca-qv-cartbtn sca-qv-hidden" value="ADD TO CART" />
  298.  
  299.                  </div>
  300.                  <!-- -------------------------- -->
  301.                </div>
  302.               <!-- End product options -->
  303.            </form>
  304.         </div>
  305.   </div>
  306.   <!--END BUY-->
  307.    </div>
  308. <!--END PRODUCT-->
  309. </div>
  310. </div>
  311.  
  312.  
  313. <div id="scaqv-metadata"
  314. autoconfig = "yes"
  315. noimage = "https://cdn.shopify.com/extensions/ebea0a1c-9f39-4839-b381-475d572e433d/smartviewer-quick-view-9/assets/sca-qv-no-image.jpg"
  316. moneyFormat = '${{amount}}'
  317. jsondata = "eyJibnRfdGV4dCI6IlFVSUNLIFZJRVciLCJibnRfdGV4dF9mb250IjoidGFob21hIiwiYm50X3RleHRfZm9udHNpemUiOiIxNHB4IiwiYm50X3RleHRfY29sb3IiOiIjZmZmZmZmIiwiYm50X3RleHRfaG92ZXIiOiIjZmZmZmZmIiwiYm50X2NvbG9yIjoiIzAwMDAwMCIsImJudF9jb2xvcl9ob3ZlciI6IiMwMDhmYmUiLCJibnRfcG9zc2l0aW9uIjoiY2VudGVyIiwiaW1nX21haW5fd2lkdGgiOiIzNDVweCIsIndkX2hlaWdodCI6IjUwMCIsIndkX3dpZHRoIjoiODYwIiwiY2FydF9nbyI6Im5vIiwiY2FydGNvdW50IjoiI0NhcnRDb3VudCIsImNhcnRfdG90YWwiOiIjY2FydGlkLW5lZWQtdG8tcmVsb2FkIiwiY2FydF9ub3RpZnlfYWRkX2Zvcm1hdCI6IlRoaXMgaXRlbSBpcyBhbHJlYWR5IGluICpZb3VyIENhcnQlLiIsImNhcnRfbm90aWZ5X2luX2Zvcm1hdCI6Ikl0ZW0gYWRkZWQgdG8gY2FydCEgKlZpZXcgQ2FydCUuIiwiY2FydF9jb2xvciI6IiNjNTA4MDgiLCJzYWxlX2ljb25fY29sb3IiOiIjZmM0YzAzIiwicHJpY2VfY29sb3IiOiIjYzUwODA4IiwibGlua19jb2xvciI6IiNmNDViNGYiLCJ0aXRsZV9jb2xvciI6IiM0NDQ0NDQiLCJxdl9kaXNhYmxlIjpudWxsLCJpc19yYXRlZCI6ZmFsc2UsInJhdGVfc2NvcmUiOjAsInJhdGVfY29tbWVudCI6IiIsImJ0bl9tb2JpbGVfZGlzcGxheSI6Im5vcm1hbCIsImRlc19udW0iOiIzMCJ9" ></div><!-- END app snippet -->
  318.  
  319.  
  320.  
  321. <!-- END app block --><script src="https://cdn.shopify.com/extensions/1f805629-c1d3-44c5-afa0-f2ef641295ef/booster-page-speed-optimizer-1/assets/speed-embed.js" type="text/javascript" defer="defer"></script>
  322. <script src="https://cdn.shopify.com/extensions/ebea0a1c-9f39-4839-b381-475d572e433d/smartviewer-quick-view-9/assets/sca-qv-scripts.js" type="text/javascript" defer="defer"></script>
  323. <link href="https://cdn.shopify.com/extensions/b11c5f90-fa83-4a7d-9fa5-204781e76f96/smartpopup-promotion-popup-21/assets/popup-main.css" rel="stylesheet" type="text/css" media="all">
  324. <meta property="og:image" content="https://cdn.shopify.com/s/files/1/0431/5381/7764/files/4889.jpg?height=628&pad_color=fff&v=1643911502&width=1200" />
  325. <meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0431/5381/7764/files/4889.jpg?height=628&pad_color=fff&v=1643911502&width=1200" />
  326. <meta property="og:image:width" content="1200" />
  327. <meta property="og:image:height" content="628" />
  328. <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
  329. <script>(function(){if ("sendBeacon" in navigator && "performance" in window) {var session_token = document.cookie.match(/_shopify_s=([^;]*)/);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: 43153817764,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",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>
  330. <script id="web-pixels-manager-setup">(function e(e,d,r,n,o,i){if(void 0===i&&(i={}),!Boolean(null===(t=null===(a=window.Shopify)||void 0===a?void 0:a.analytics)||void 0===t?void 0:t.replayQueue)){var a,t;window.Shopify=window.Shopify||{};var s=window.Shopify;s.analytics=s.analytics||{};var l=s.analytics;l.replayQueue=[],l.publish=function(e,d,r){return l.replayQueue.push([e,d,r]),!0};try{self.performance.mark("wpm:start")}catch(e){}var u=function(){var e={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+|)/},d=e.modern,r=e.legacy,n=navigator.userAgent;return n.match(d)?"modern":n.match(r)?"legacy":"unknown"}(),c="modern"===u?"modern":"legacy",f=(null!=o?o:{modern:"",legacy:""})[c],m=function(e){return[e.baseUrl,"/wpm","/b",e.hashVersion,"modern"===e.buildTarget?"m":"l",".js"].join("")}({baseUrl:r,hashVersion:n,buildTarget:c}),p=function(e){var d=e.version,r=e.bundleTarget,n=e.surface,o=e.pageUrl,i=e.monorailEndpoint;return{emit:function(e){var a=e.status,t=e.errorMsg,s=(new Date).getTime(),l=JSON.stringify({metadata:{event_sent_at_ms:s},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:d,bundle_target:r,page_url:o,status:a,surface:n,error_msg:t},metadata:{event_created_at_ms:s}}]});if(!i)return console&&console.warn&&console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{return self.navigator.sendBeacon.bind(self.navigator)(i,l)}catch(e){}var u=new XMLHttpRequest;try{return u.open("POST",i,!0),u.setRequestHeader("Content-Type","text/plain"),u.send(l),!0}catch(e){return console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:n,bundleTarget:u,surface:e.surface,pageUrl:self.location.href,monorailEndpoint:e.monorailEndpoint});try{i.browserTarget=u,function(e){var d=e.src,r=e.async,n=void 0===r||r,o=e.onload,i=e.onerror,a=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,a&&(l.integrity=a,l.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{l.dataset[f]=s[f]}catch(e){}if(o&&l.addEventListener("load",o),i&&l.addEventListener("error",i),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:m,async:!0,onload:function(){if(!function(){var e,d;return Boolean(null===(d=null===(e=window.Shopify)||void 0===e?void 0:e.analytics)||void 0===d?void 0:d.initialized)}()){var r=window.webPixelsManager.init(e)||void 0;if(r){d(r);var n=window.Shopify.analytics;n.replayQueue.forEach((function(e){var d=e[0],n=e[1],o=e[2];r.publishCustomEvent(d,n,o)})),n.replayQueue=[],n.publish=r.publishCustomEvent,n.visitor=r.visitor,n.initialized=!0}}},onerror:function(){return p.emit({status:"failed",errorMsg:"".concat(m," has failed to load")})},sri:function(e){var d=/^sha384-[A-Za-z0-9+/=]+$/;return"string"==typeof e&&d.test(e)}(f)?f:"",scriptDataAttributes:i}),p.emit({status:"loading"})}catch(e){p.emit({status:"failed",errorMsg:(null==e?void 0:e.message)||"Unknown error"})}}})({shopId: 43153817764,storefrontBaseUrl: "https://tanglessalon.ca",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["ac843a20"],webPixelsConfigList: [{"id":"610369700","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"G-93G4P1C5KL\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-93G4P1C5KL\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-93G4P1C5KL\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-93G4P1C5KL\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-93G4P1C5KL\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-93G4P1C5KL\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-93G4P1C5KL\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-93G4P1C5KL\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"26a08df6fb732969dd50810ae4fdc2c1","type":"APP","apiClientId":1780363,"privacyPurposes":[]},{"id":"231407780","configuration":"{\"pixel_id\":\"383733523758435\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"b0d5a11b80f868de49df845559dff0d6","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"171868324","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0420","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0420","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,effectiveTopLevelDomain: "ca",initData: {"shop":{"name":" Tangles Hair Salon","paymentSettings":{"currencyCode":"CAD"},"myshopifyDomain":"tanglessalon.myshopify.com","countryCode":"CA","storefrontUrl":"https://tanglessalon.ca"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});},"https://tanglessalon.ca/cdn","77a16e2cw347ec732p8c6f28ebme63a2aae",{"modern":"","legacy":""},{"shopId":"43153817764","storefrontBaseUrl":"https://tanglessalon.ca","extensionBaseUrl":"https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"ac843a20\"]","isMerchantRequest":"false","hashVersion":"77a16e2cw347ec732p8c6f28ebme63a2aae"});</script><script>
  331.  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
  332.  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
  333.  window.ShopifyAnalytics.meta.currency = 'CAD';
  334.  var meta = {"page":{"pageType":"home"}};
  335.  for (var attr in meta) {
  336.    window.ShopifyAnalytics.meta[attr] = meta[attr];
  337.  }
  338. </script>
  339. <script class="analytics">
  340.  (function () {
  341.    var customDocumentWrite = function(content) {
  342.      var jquery = null;
  343.  
  344.      if (window.jQuery) {
  345.        jquery = window.jQuery;
  346.      } else if (window.Checkout && window.Checkout.$) {
  347.        jquery = window.Checkout.$;
  348.      }
  349.  
  350.      if (jquery) {
  351.        jquery('body').append(content);
  352.      }
  353.    };
  354.  
  355.    var hasLoggedConversion = function(token) {
  356.      if (token) {
  357.        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
  358.      }
  359.      return false;
  360.    }
  361.  
  362.    var setCookieIfConversion = function(token) {
  363.      if (token) {
  364.        var twoMonthsFromNow = new Date(Date.now());
  365.        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
  366.  
  367.        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
  368.      }
  369.    }
  370.  
  371.    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
  372.    if (trekkie.integrations) {
  373.      return;
  374.    }
  375.    trekkie.methods = [
  376.      'identify',
  377.      'page',
  378.      'ready',
  379.      'track',
  380.      'trackForm',
  381.      'trackLink'
  382.    ];
  383.    trekkie.factory = function(method) {
  384.      return function() {
  385.        var args = Array.prototype.slice.call(arguments);
  386.        args.unshift(method);
  387.        trekkie.push(args);
  388.        return trekkie;
  389.      };
  390.    };
  391.    for (var i = 0; i < trekkie.methods.length; i++) {
  392.      var key = trekkie.methods[i];
  393.      trekkie[key] = trekkie.factory(key);
  394.    }
  395.    trekkie.load = function(config) {
  396.      trekkie.config = config || {};
  397.      trekkie.config.initialDocumentCookie = document.cookie;
  398.      var first = document.getElementsByTagName('script')[0];
  399.      var script = document.createElement('script');
  400.      script.type = 'text/javascript';
  401.      script.onerror = function(e) {
  402.        var scriptFallback = document.createElement('script');
  403.        scriptFallback.type = 'text/javascript';
  404.        scriptFallback.onerror = function(error) {
  405.                var Monorail = {
  406.      produce: function produce(monorailDomain, schemaId, payload) {
  407.        var currentMs = new Date().getTime();
  408.        var event = {
  409.          schema_id: schemaId,
  410.          payload: payload,
  411.          metadata: {
  412.            event_created_at_ms: currentMs,
  413.            event_sent_at_ms: currentMs
  414.          }
  415.        };
  416.        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
  417.      },
  418.      sendRequest: function sendRequest(endpointUrl, payload) {
  419.        // Try the sendBeacon API
  420.        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
  421.          var blobData = new window.Blob([payload], {
  422.            type: 'text/plain'
  423.          });
  424.  
  425.          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
  426.            return true;
  427.          } // sendBeacon was not successful
  428.  
  429.        } // XHR beacon
  430.  
  431.        var xhr = new XMLHttpRequest();
  432.  
  433.        try {
  434.          xhr.open('POST', endpointUrl);
  435.          xhr.setRequestHeader('Content-Type', 'text/plain');
  436.          xhr.send(payload);
  437.        } catch (e) {
  438.          console.log(e);
  439.        }
  440.  
  441.        return false;
  442.      },
  443.      isIos12: function isIos12() {
  444.        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
  445.      }
  446.    };
  447.    Monorail.produce('monorail-edge.shopifysvc.com',
  448.      'trekkie_storefront_load_errors/1.1',
  449.      {shop_id: 43153817764,
  450.      theme_id: 142641266852,
  451.      app_name: "storefront",
  452.      context_url: window.location.href,
  453.      source_url: "//tanglessalon.ca/cdn/s/trekkie.storefront.e4b7dfbfa4ea6cc68d87e97829a12478d9c16c4b.min.js"});
  454.  
  455.        };
  456.        scriptFallback.async = true;
  457.        scriptFallback.src = '//tanglessalon.ca/cdn/s/trekkie.storefront.e4b7dfbfa4ea6cc68d87e97829a12478d9c16c4b.min.js';
  458.        first.parentNode.insertBefore(scriptFallback, first);
  459.      };
  460.      script.async = true;
  461.      script.src = '//tanglessalon.ca/cdn/s/trekkie.storefront.e4b7dfbfa4ea6cc68d87e97829a12478d9c16c4b.min.js';
  462.      first.parentNode.insertBefore(script, first);
  463.    };
  464.    trekkie.load(
  465.      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":43153817764,"isMerchantRequest":null,"themeId":142641266852,"themeCityHash":"18025907243492010274","contentLanguage":"en","currency":"CAD","eventMetadataId":"c1139b31-d7de-4f75-8db1-9deaab09462c"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
  466.    );
  467.  
  468.    var loaded = false;
  469.    trekkie.ready(function() {
  470.      if (loaded) return;
  471.      loaded = true;
  472.  
  473.      window.ShopifyAnalytics.lib = window.trekkie;
  474.  
  475.      var originalDocumentWrite = document.write;
  476.      document.write = customDocumentWrite;
  477.      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
  478.      document.write = originalDocumentWrite;
  479.  
  480.      window.ShopifyAnalytics.lib.page(null,{"pageType":"home","shopifyEmitted":true});
  481.  
  482.      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
  483.      var token = match? match[1]: undefined;
  484.      if (!hasLoggedConversion(token)) {
  485.        setCookieIfConversion(token);
  486.        
  487.      }
  488.    });
  489.  
  490.  
  491.        var eventsListenerScript = document.createElement('script');
  492.        eventsListenerScript.async = true;
  493.        eventsListenerScript.src = "//tanglessalon.ca/cdn/shopifycloud/shopify/assets/shop_events_listener-1d89eace2351930ad947448cd92e0cd236cb81ecc8f6bbf9ce2331557cb884b2.js";
  494.        document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
  495.  
  496. })();</script>
  497.  <script>
  498.  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
  499.    window.ga = function ga() {
  500.      (window.ga.q = window.ga.q || []).push(arguments);
  501.      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
  502.        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
  503.      }
  504.      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.");
  505.    };
  506.    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
  507.      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
  508.    }
  509.  }
  510. </script>
  511. <script
  512.  defer
  513.  src="https://tanglessalon.ca/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.6.6.min.js"
  514.  data-application="storefront-renderer"
  515.  data-shop-id="43153817764"
  516.  data-render-region="gcp-us-east1"
  517.  data-page-type="index"
  518.  data-theme-instance-id="142641266852"
  519.  data-theme-name="Debut"
  520.  data-theme-version="16.7.1"
  521.  data-monorail-region="shop_domain"
  522.  data-resource-timing-sampling-rate="10"
  523.  data-shs="true"
  524. ></script>
  525. </head>
  526.  
  527. <body class="template-index">
  528. <!-- Google Tag Manager (noscript) -->
  529. <!--<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TTM26RJ7"
  530. height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>-->
  531. <!-- End Google Tag Manager (noscript) -->
  532.  <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a><style data-shopify>
  533.  
  534.  .cart-popup {
  535.    box-shadow: 1px 1px 10px 2px rgba(235, 235, 235, 0.5);
  536.  }</style><div class="cart-popup-wrapper cart-popup-wrapper--hidden" role="dialog" aria-modal="true" aria-labelledby="CartPopupHeading" data-cart-popup-wrapper>
  537.  <div class="cart-popup" data-cart-popup tabindex="-1">
  538.    <div class="cart-popup__header">
  539.      <div id="CartPopupHeading" class="cart-popup__heading">Just added to your cart</div>
  540.      <button class="cart-popup__close" aria-label="Close" data-cart-popup-close><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 40 40"><path d="M23.868 20.015L39.117 4.78c1.11-1.108 1.11-2.77 0-3.877-1.109-1.108-2.773-1.108-3.882 0L19.986 16.137 4.737.904C3.628-.204 1.965-.204.856.904c-1.11 1.108-1.11 2.77 0 3.877l15.249 15.234L.855 35.248c-1.108 1.108-1.108 2.77 0 3.877.555.554 1.248.831 1.942.831s1.386-.277 1.94-.83l15.25-15.234 15.248 15.233c.555.554 1.248.831 1.941.831s1.387-.277 1.941-.83c1.11-1.109 1.11-2.77 0-3.878L23.868 20.015z" class="layer"/></svg></button>
  541.    </div>
  542.    <div class="cart-popup-item">
  543.      <div class="cart-popup-item__image-wrapper hide" data-cart-popup-image-wrapper>
  544.        <div class="cart-popup-item__image cart-popup-item__image--placeholder" data-cart-popup-image-placeholder>
  545.          <div data-placeholder-size></div>
  546.          <div class="placeholder-background placeholder-background--animation"></div>
  547.        </div>
  548.      </div>
  549.      <div class="cart-popup-item__description">
  550.        <div>
  551.          <div class="cart-popup-item__title" data-cart-popup-title></div>
  552.          <ul class="product-details" aria-label="Product details" data-cart-popup-product-details></ul>
  553.        </div>
  554.        <div class="cart-popup-item__quantity">
  555.          <span class="visually-hidden" data-cart-popup-quantity-label></span>
  556.          <span aria-hidden="true">Qty:</span>
  557.          <span aria-hidden="true" data-cart-popup-quantity></span>
  558.        </div>
  559.      </div>
  560.    </div>
  561.  
  562.    <a href="/cart" class="cart-popup__cta-link btn btn--secondary-accent">
  563.      View cart (<span data-cart-popup-cart-quantity></span>)
  564.    </a>
  565.  
  566.    <div class="cart-popup__dismiss">
  567.      <button class="cart-popup__dismiss-button text-link text-link--accent" data-cart-popup-dismiss>
  568.        Continue shopping
  569.      </button>
  570.    </div>
  571.  </div>
  572. </div>
  573.  
  574. <div id="shopify-section-header" class="shopify-section">
  575. <div id="SearchDrawer" class="search-bar drawer drawer--top" role="dialog" aria-modal="true" aria-label="Search" data-predictive-search-drawer>
  576.  <div class="search-bar__interior">
  577.    <div class="search-form__container" data-search-form-container>
  578.      <form class="search-form search-bar__form" action="/search" method="get" role="search">
  579.        <div class="search-form__input-wrapper">
  580.          <input
  581.            type="text"
  582.            name="q"
  583.            placeholder="Search"
  584.            role="combobox"
  585.            aria-autocomplete="list"
  586.            aria-owns="predictive-search-results"
  587.            aria-expanded="false"
  588.            aria-label="Search"
  589.            aria-haspopup="listbox"
  590.            class="search-form__input search-bar__input"
  591.            data-predictive-search-drawer-input
  592.          />
  593.          <input type="hidden" name="options[prefix]" value="last" aria-hidden="true" />
  594.          <div class="predictive-search-wrapper predictive-search-wrapper--drawer" data-predictive-search-mount="drawer"></div>
  595.        </div>
  596.  
  597.        <button class="search-bar__submit search-form__submit"
  598.          type="submit"
  599.          data-search-form-submit>
  600.          <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 37 40"><path d="M35.6 36l-9.8-9.8c4.1-5.4 3.6-13.2-1.3-18.1-5.4-5.4-14.2-5.4-19.7 0-5.4 5.4-5.4 14.2 0 19.7 2.6 2.6 6.1 4.1 9.8 4.1 3 0 5.9-1 8.3-2.8l9.8 9.8c.4.4.9.6 1.4.6s1-.2 1.4-.6c.9-.9.9-2.1.1-2.9zm-20.9-8.2c-2.6 0-5.1-1-7-2.9-3.9-3.9-3.9-10.1 0-14C9.6 9 12.2 8 14.7 8s5.1 1 7 2.9c3.9 3.9 3.9 10.1 0 14-1.9 1.9-4.4 2.9-7 2.9z"/></svg>
  601.          <span class="icon__fallback-text">Submit</span>
  602.        </button>
  603.      </form>
  604.  
  605.      <div class="search-bar__actions">
  606.        <button type="button" class="btn--link search-bar__close js-drawer-close">
  607.          <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 40 40"><path d="M23.868 20.015L39.117 4.78c1.11-1.108 1.11-2.77 0-3.877-1.109-1.108-2.773-1.108-3.882 0L19.986 16.137 4.737.904C3.628-.204 1.965-.204.856.904c-1.11 1.108-1.11 2.77 0 3.877l15.249 15.234L.855 35.248c-1.108 1.108-1.108 2.77 0 3.877.555.554 1.248.831 1.942.831s1.386-.277 1.94-.83l15.25-15.234 15.248 15.233c.555.554 1.248.831 1.941.831s1.387-.277 1.941-.83c1.11-1.109 1.11-2.77 0-3.878L23.868 20.015z" class="layer"/></svg>
  608.          <span class="icon__fallback-text">Close search</span>
  609.        </button>
  610.      </div>
  611.    </div>
  612.  </div>
  613. </div>
  614.  
  615.  
  616. <div data-section-id="header" data-section-type="header-section" class="site_header">
  617.  
  618.    
  619.     <div class="head_top">
  620.      <div class="container" role="region" aria-label="Announcement"><p class="head_link">
  621.          <a href="https://t.e2ma.net/webview/9pwlmj/7436042390a4e2db736c1e3516babe5b" >Whats new at Tangles
  622. </a>
  623.          </p></div>
  624.       </div>
  625.  
  626.    
  627.  
  628.  
  629.    <header class="site-header logo--center" role="banner">
  630.      <div class="container">
  631.        <div class="header_mid">
  632.          <div class="header_left">
  633.            <a href="/cart" class="site-header__icon site-header__cart">
  634.              <svg><use xlink:href="#cart"></use></svg>
  635.              <span class="icon__fallback-text">Cart</span>
  636.              <div id="CartCount" class="site-header__cart-count hide" data-cart-count-bubble>
  637.                <span data-cart-count>0</span>
  638.                <span class="icon__fallback-text medium-up--hide">items</span>
  639.              </div>
  640.            </a>
  641.            <button type="button" class="btn--link site-header__icon site-header__search-toggle js-drawer-open-top">
  642.                    <svg><use xlink:href="#search"></use></svg>
  643.                    <span class="icon__fallback-text">Search</span>
  644.            </button>
  645.            <ul class="head_social"><li><a href="" target="_blank" rel="nofollow"></a></li>
  646.              <li><a href="https://www.facebook.com/tanglessalonhollandlanding/" target="_blank" rel="nofollow"><svg><use xlink:href="#facebook"></use></svg></a></li>
  647.              <li><a href="https://www.instagram.com/tangleshollandlanding/" target="_blank" rel="nofollow"><svg><use xlink:href="#insta"></use></svg></a></li>
  648.              <li><a href="https://www.youtube.com/channel/UCNO3u5xLulgD5K2tss9vg2w/videos" target="_blank" rel="nofollow"><svg><use xlink:href="#youtube"></use></svg></a></li>
  649.              
  650.            </ul>
  651.          </div>
  652.    <div class="logo">
  653.      <a href="https://tanglessalon.ca/" title="Hair Salon and Spa - Tangles Hair Salon & Spa"><img src="//tanglessalon.ca/cdn/shop/files/tangles.logo.png?v=1712549997" alt="Hair Salon and Spa - Tangles Hair Salon & Spa"></a>
  654.    </div>
  655.    <div class="header_right">
  656.      <div class="header_right_in">
  657.    
  658.    
  659.    
  660.    <div class="h_call">
  661.        <a class="top_call" href="tel:905 953 8980">
  662.          <span class="call_ico"><svg><use xlink:href="#call"></use></svg></span>
  663.          <span class="call_txt">905 953 8980</span>
  664.        </a>
  665.    </div>
  666.    <div class="h_cta">
  667.      <a href="https://ca0.meevo.com/CustomerPortal/login?tenantId=300031&locationId=301064" class="cta_alt">BOOK ONLINE</a>
  668.    </div>
  669.    <div class="h_cta btn-gift-card">
  670.      <a href="https://ca0.meevo.com/EgiftApp/home?tenantId=300031" class="cta_alt" target="_blank">Gift Cards</a>
  671.    </div>
  672.    <button class="menu_trigger mob_icon"><span></span></button>  
  673.      </div>
  674. </div>
  675. </div>
  676.      <span class="close_nav"></span>
  677.      <nav class="site_nav">
  678.        <ul class="mainMenu">
  679.          
  680.          <li
  681.            class=" current-menu-item ">
  682.            <a href="/">
  683.              HOME
  684.            </a>
  685.            
  686.          </li>
  687.          <li
  688.            class=" ">
  689.            <a href="/collections/all">
  690.              SHOP
  691.            </a>
  692.            
  693.            <ul class="submenu header-menu-split"><li class="">
  694.                <a href="/collections/laser-hair-removal-packages-for-women">
  695.                  Laser Hair Removal Packages for Women
  696.                </a>
  697.                
  698.              </li>
  699.              <li class="">
  700.                <a href="/collections/laser-hair-removal-packages-for-men">
  701.                  Laser Hair Removal Packages for Men
  702.                </a>
  703.                
  704.              </li>
  705.              <li class="">
  706.                <a href="/collections/body-facial-contouring-packages">
  707.                  Body Contouring Packages
  708.                </a>
  709.                
  710.              </li>
  711.              <li class="">
  712.                <a href="/collections/skin-rejuvenation-packages">
  713.                  Skin Rejuvenation Packages
  714.                </a>
  715.                
  716.              </li>
  717.              <li class="">
  718.                <a href="/collections/moroccanoil">
  719.                  MOROCCANOIL
  720.                </a>
  721.                
  722.              </li>
  723.              <li class="">
  724.                <a href="/collections/eminence-organic-skin-care/Eminence">
  725.                  EMINENCE Organic Skin Care
  726.                </a>
  727.                
  728.              </li>
  729.              <li class="">
  730.                <a href="/collections/olaplex">
  731.                  OLAPLEX
  732.                </a>
  733.                
  734.              </li>
  735.              <li class="">
  736.                <a href="/collections/colorwow">
  737.                  COLORWOW
  738.                </a>
  739.                
  740.              </li>
  741.              <li class="">
  742.                <a href="/collections/misencil-lashes">
  743.                  LASHES
  744.                </a>
  745.                
  746.              </li>
  747.              <li class="">
  748.                <a href="/collections/tangles-staff-picks">
  749.                  STAFF PICKS
  750.                </a>
  751.                
  752.              </li>
  753.              <li class="">
  754.                <a href="https://ca0.meevo.com/EgiftApp/home?tenantId=300031">
  755.                  GIFT CERTIFICATES
  756.                </a>
  757.                
  758.              </li>
  759.              
  760.            </ul>
  761.              
  762.          </li>
  763.          <li
  764.            class=" ">
  765.            <a href="#">
  766.              SERVICES
  767.            </a>
  768.            
  769.            <ul class="submenu header-menu-split"><li class="">
  770.                <a href="/pages/hair-cutting-and-styling">
  771.                  Hair Cutting and Styling
  772.                </a>
  773.                
  774.              </li>
  775.              <li class="">
  776.                <a href="/pages/hair-colour">
  777.                  Hair Colour
  778.                </a>
  779.                
  780.              </li>
  781.              <li class="">
  782.                <a href="/pages/other-hair-services">
  783.                  Other Hair Services
  784.                </a>
  785.                
  786.              </li>
  787.              <li class="">
  788.                <a href="/pages/special-occasion-services">
  789.                  Special Occasion Services
  790.                </a>
  791.                
  792.              </li>
  793.              <li class="">
  794.                <a href="/pages/contour-tighten">
  795.                  Contour, Tighten & Body Sculping
  796.                </a>
  797.                
  798.              </li>
  799.              <li class="">
  800.                <a href="/pages/laser-hair-reduction">
  801.                  Laser Hair Removal
  802.                </a>
  803.                
  804.              </li>
  805.              <li class="">
  806.                <a href="/pages/manicures">
  807.                  Manicures & Nail Enhancements
  808.                </a>
  809.                
  810.              </li>
  811.              <li class="">
  812.                <a href="/pages/hair-removal-waxing">
  813.                  Hair Removal/Waxing
  814.                </a>
  815.                
  816.              </li>
  817.              <li class="">
  818.                <a href="/pages/facial-threading">
  819.                  Facial Threading
  820.                </a>
  821.                
  822.              </li>
  823.              <li class="">
  824.                <a href="/pages/tinting">
  825.                  Tinting
  826.                </a>
  827.                
  828.              </li>
  829.              <li class="">
  830.                <a href="/pages/pedicures">
  831.                  Pedicures
  832.                </a>
  833.                
  834.              </li>
  835.              <li class="">
  836.                <a href="/pages/facials">
  837.                  Facials/Facial Rejuvenation
  838.                </a>
  839.                
  840.              </li>
  841.              <li class="">
  842.                <a href="/pages/make-up-artistry">
  843.                  Make Up Artistry
  844.                </a>
  845.                
  846.              </li>
  847.              <li class="">
  848.                <a href="/pages/spray-tanning">
  849.                  Spray Tanning
  850.                </a>
  851.                
  852.              </li>
  853.              <li class="">
  854.                <a href="/pages/promotional-packages">
  855.                  Packages
  856.                </a>
  857.                
  858.              </li>
  859.              <li class="">
  860.                <a href="/pages/misencil-eyelash-extensions">
  861.                  Misencil Eyelash Extensions
  862.                </a>
  863.                
  864.              </li>
  865.              <li class="">
  866.                <a href="/pages/hair-botox-smoothing-straightening-treatment">
  867.                  Hair Smoothing Treatments
  868.                </a>
  869.                
  870.              </li>
  871.              
  872.            </ul>
  873.              
  874.          </li>
  875.          <li
  876.            class=" ">
  877.            <a href="#">
  878.              TEAM
  879.            </a>
  880.            
  881.            <ul class="submenu "><li class="">
  882.                <a href="/pages/sharon-bates-elite-hair-designer-owner">
  883.                  Sharon (Owner/Elite Designer)
  884.                </a>
  885.                
  886.              </li>
  887.              <li class="">
  888.                <a href="/pages/krystal-palermo-elite-hair-designer-manager">
  889.                  Krystal (Elite Designer/Manager)
  890.                </a>
  891.                
  892.              </li>
  893.              <li class="">
  894.                <a href="/pages/nica-elite-hair-designer">
  895.                  Nica (Elite Hair Designer)
  896.                </a>
  897.                
  898.              </li>
  899.              <li class="">
  900.                <a href="/pages/caitlyn-lead-hair-designer">
  901.                  Caitlyn (Lead Hair Designer)
  902.                </a>
  903.                
  904.              </li>
  905.              <li class="">
  906.                <a href="/pages/emily-jr-hairdresser">
  907.                  Emily (Hair Designer)
  908.                </a>
  909.                
  910.              </li>
  911.              <li class="">
  912.                <a href="/pages/megan-bourne-esthetician">
  913.                  Megan (Esthetician)
  914.                </a>
  915.                
  916.              </li>
  917.              <li class="">
  918.                <a href="/pages/ria-esthetician">
  919.                  Ria (Esthetician)
  920.                </a>
  921.                
  922.              </li>
  923.              <li class="">
  924.                <a href="/pages/jenn-shantry-elite-hair-designer">
  925.                  Jenn (Elite Hair Designer)
  926.                </a>
  927.                
  928.              </li>
  929.              <li class="">
  930.                <a href="/pages/ashton-jr-hair-stylist">
  931.                  Ashton (Jr Hair Designer)
  932.                </a>
  933.                
  934.              </li>
  935.              
  936.            </ul>
  937.              
  938.          </li>
  939.          <li
  940.            class=" ">
  941.            <a href="https://ca0.meevo.com/OnlineBookingApp/login?tenantId=300031">
  942.              BOOK NOW
  943.            </a>
  944.            
  945.          </li>
  946.          <li
  947.            class=" ">
  948.            <a href="https://t.e2ma.net/webview/ljv1gk/a19790e76eb14c125540a5a6b93b6e01">
  949.              MONTHLY FEATURES
  950.            </a>
  951.            
  952.          </li>
  953.          <li
  954.            class=" ">
  955.            <a href="/pages/reviews">
  956.              REVIEWS
  957.            </a>
  958.            
  959.          </li>
  960.          <li
  961.            class=" ">
  962.            <a href="https://cdn.shopify.com/s/files/1/0431/5381/7764/files/BRIDAL_REGISTRY.docx?v=1721151347">
  963.              BRIDAL
  964.            </a>
  965.            
  966.          </li>
  967.          <li
  968.            class=" ">
  969.            <a href="/blogs/news">
  970.              TANGLES BLOG
  971.            </a>
  972.            
  973.          </li>
  974.          <li
  975.            class=" ">
  976.            <a href="/pages/contact-us">
  977.              CONTACT US
  978.            </a>
  979.            
  980.          </li></ul>
  981.      </nav>
  982. </div>
  983.  </header>
  984. </div>
  985.  
  986.  
  987.  
  988.  
  989.  
  990. <script type="application/ld+json">
  991. {
  992.  "@context": "http://schema.org",
  993.  "@type": "Organization",
  994.  "name": " Tangles Hair Salon",
  995.  
  996.  "sameAs": [
  997.    "",
  998.    "https:\/\/www.facebook.com\/tanglessalonhollandlanding\/",
  999.    "",
  1000.    "https:\/\/www.instagram.com\/tangleshollandlanding\/",
  1001.    "",
  1002.    "",
  1003.    "https:\/\/www.youtube.com\/channel\/UCNO3u5xLulgD5K2tss9vg2w\/videos",
  1004.    ""
  1005.  ],
  1006.  "url": "https:\/\/tanglessalon.ca"
  1007. }
  1008. </script>
  1009.  
  1010.  
  1011.  
  1012. </div>
  1013.  
  1014.  <div class="page-container drawer-page-content" id="PageContainer">
  1015.  
  1016.    <main class="main-content js-focus-hidden" id="MainContent" role="main" tabindex="-1">
  1017.      <!-- BEGIN content_for_index --><div id="shopify-section-home_slider_gzGbdt" class="shopify-section"><div class="home_slider"><div class="home_slide">
  1018.      <div class="home_slide_in" style="background-image:url('//tanglessalon.ca/cdn/shop/files/banner-bg-2.jpg?v=1712549594')">
  1019.        <div class="bnr_img1 ">
  1020.          <img src="//tanglessalon.ca/cdn/shop/files/bnr-3.png?v=1712549692" alt="">
  1021.        </div>
  1022.        <div class="bnr_txt banner_text0">
  1023.          
  1024.            <div class="bnr_lg">Welcome</div>
  1025.          
  1026.          
  1027.            <div class="bnr_sm">Tangles Salon & Spa</div>
  1028.            
  1029.          <a href="https://ca0.meevo.com/CustomerPortal/login?tenantId=300031&locationId=301064" class="cta">BOOK ONLINE</a>
  1030.        </div>
  1031.        <div class="bnr_img2">
  1032.          <img src="//tanglessalon.ca/cdn/shop/files/bnr-2.jpg?v=1712549732" alt="" width="545" height="auto">
  1033.        </div>
  1034.      </div>
  1035.    </div>
  1036.  <div class="home_slide">
  1037.      <div class="home_slide_in" style="background-image:url('//tanglessalon.ca/cdn/shop/files/banner-bg-2.jpg?v=1712549594')">
  1038.        <div class="bnr_img1 ">
  1039.          <img src="//tanglessalon.ca/cdn/shop/files/banner-2-1.png?v=1712550343" alt="">
  1040.        </div>
  1041.        <div class="bnr_txt banner_text1">
  1042.          
  1043.            <div class="bnr_lg">Book</div>
  1044.          
  1045.          
  1046.            <div class="bnr_sm">Online</div>
  1047.            
  1048.          <a href="https://ca0.meevo.com/CustomerPortal/login?tenantId=300031&locationId=301064" class="cta">Online Booking</a>
  1049.        </div>
  1050.        <div class="bnr_img2">
  1051.          <img src="//tanglessalon.ca/cdn/shop/files/banner-2-2.jpg?v=1712550381" alt="" width="545" height="auto">
  1052.        </div>
  1053.      </div>
  1054.    </div>
  1055.  <div class="home_slide">
  1056.      <div class="home_slide_in" style="background-image:url('//tanglessalon.ca/cdn/shop/files/banner-bg-2.jpg?v=1712549594')">
  1057.        <div class="bnr_img1 ">
  1058.          <img src="//tanglessalon.ca/cdn/shop/files/new-three.png?v=1712550659" alt="">
  1059.        </div>
  1060.        <div class="bnr_txt banner_text2">
  1061.          
  1062.            <div class="bnr_lg">Shop</div>
  1063.          
  1064.          
  1065.            <div class="bnr_sm">Online</div>
  1066.            
  1067.          <a href="/collections/all" class="cta">VIEW PRODUCTS</a>
  1068.        </div>
  1069.        <div class="bnr_img2">
  1070.          <img src="//tanglessalon.ca/cdn/shop/files/banner3-2.jpg?v=1712550699" alt="" width="545" height="auto">
  1071.        </div>
  1072.      </div>
  1073.    </div>
  1074.  <div class="home_slide">
  1075.      <div class="home_slide_in" style="background-image:url('//tanglessalon.ca/cdn/shop/files/banner-bg-2.jpg?v=1712549594')">
  1076.        <div class="bnr_img1 ">
  1077.          <img src="//tanglessalon.ca/cdn/shop/files/new-four2.png?v=1712551914" alt="">
  1078.        </div>
  1079.        <div class="bnr_txt banner_text3">
  1080.          
  1081.            <div class="bnr_lg">Buy Gift</div>
  1082.          
  1083.          
  1084.            <div class="bnr_sm">Certificates</div>
  1085.            
  1086.          <a href="https://ca0.meevo.com/EgiftApp/home?tenantId=300031" class="cta">SHOP CERTIFICATES</a>
  1087.        </div>
  1088.        <div class="bnr_img2">
  1089.          <img src="//tanglessalon.ca/cdn/shop/files/banner-4-2.jpg?v=1712551081" alt="" width="545" height="auto">
  1090.        </div>
  1091.      </div>
  1092.    </div>
  1093.  <div class="home_slide">
  1094.      <div class="home_slide_in" style="background-image:url('//tanglessalon.ca/cdn/shop/files/banner-bg-2.jpg?v=1712549594')">
  1095.        <div class="bnr_img1 ">
  1096.          <img src="//tanglessalon.ca/cdn/shop/files/new-fifth2.png?v=1712551843" alt="">
  1097.        </div>
  1098.        <div class="bnr_txt banner_text4">
  1099.          
  1100.            <div class="bnr_lg">Monthly</div>
  1101.          
  1102.          
  1103.            <div class="bnr_sm">Features</div>
  1104.            
  1105.          <a href="/pages/monthly-features" class="cta">Monthly features</a>
  1106.        </div>
  1107.        <div class="bnr_img2">
  1108.          <img src="//tanglessalon.ca/cdn/shop/files/bnr5-2.jpg?v=1712551679" alt="" width="545" height="auto">
  1109.        </div>
  1110.      </div>
  1111.    </div>
  1112.  
  1113. </div>
  1114.  
  1115. <script type="text/javascript">
  1116.  $(document).ready(function () {
  1117.        $('.home_slider').slick({
  1118.            dots: true,
  1119.            slidesToShow: 1,
  1120.            infinite: true,
  1121.            speed: 500,
  1122.            fade: true,
  1123.            cssEase: 'linear',
  1124.            arrows: false,
  1125.            autoplay:true,
  1126.            rows:0,
  1127.            responsive: [
  1128.            {
  1129.                breakpoint: 1200,
  1130.                settings: {
  1131.                    dots: false
  1132.                }
  1133.            }
  1134.            ]
  1135.        });
  1136.    });
  1137. </script>
  1138.  
  1139. </div><div id="shopify-section-services_home_TyFHn9" class="shopify-section"><section class="ser_sec common_sec">
  1140.  <div class="container">
  1141.    
  1142.      <h1>Tangles Hair Salon & Spa</h1>
  1143.    
  1144.    <h2 class="sec_title"><a href="/pages/services">Our Services</a></h2>
  1145.    </div>
  1146.    <div class="ser_slider"><div class="ser_slide">
  1147.          <div class="ser_slide_i" style="background-image:url('//tanglessalon.ca/cdn/shop/files/105.jpg?v=1712552423')">
  1148.            <div class="ser_txt">
  1149.              <h3><a href="/pages/laser-hair-reduction">Laser Hair Removal</a></h3>
  1150.              <p>Laser Hair Removal is a safe, reliable, and pain-free solution of removing unwanted hair while achieving maximum results in all areas of the face and body.</p>
  1151.              <a class="cta_alt cta_white cta_sm" href="/pages/laser-hair-reduction">Learn More</a>
  1152.              </div>
  1153.            </div>
  1154.        </div>
  1155.      <div class="ser_slide">
  1156.          <div class="ser_slide_i" style="background-image:url('//tanglessalon.ca/cdn/shop/files/eyes.jpg?v=1712552748')">
  1157.            <div class="ser_txt">
  1158.              <h3><a href="/pages/misencil-eyelash-extensions">Misencil Eyelash Extensions</a></h3>
  1159.              <p>Misencil eyelash extensions are permanent, longer, thicker and more beautiful lashes, any time of the day!</p>
  1160.              <a class="cta_alt cta_white cta_sm" href="/pages/misencil-eyelash-extensions">Learn More</a>
  1161.              </div>
  1162.            </div>
  1163.        </div>
  1164.      <div class="ser_slide">
  1165.          <div class="ser_slide_i" style="background-image:url('//tanglessalon.ca/cdn/shop/files/hair-colour.jpg?v=1712552964')">
  1166.            <div class="ser_txt">
  1167.              <h3><a href="/pages/hair-colour">HAIR COLOUR</a></h3>
  1168.              <p>At Tangles, we have a passion for hair & beauty. We are at the forefront of current fashion trends and timeless styles.</p>
  1169.              <a class="cta_alt cta_white cta_sm" href="/pages/hair-colour">Learn More</a>
  1170.              </div>
  1171.            </div>
  1172.        </div>
  1173.      <div class="ser_slide">
  1174.          <div class="ser_slide_i" style="background-image:url('//tanglessalon.ca/cdn/shop/files/nail-enhansment.jpg?v=1712553122')">
  1175.            <div class="ser_txt">
  1176.              <h3><a href="/pages/manicures">Nail Enhancements</a></h3>
  1177.              <p>Our Aesthetician Megan, and our Nail Technician Ria are both certified in CND. Creative Nail Design, Inc. (CND) is the global leader in professional nail, hand and foot beauty.</p>
  1178.              <a class="cta_alt cta_white cta_sm" href="/pages/manicures">Learn More</a>
  1179.              </div>
  1180.            </div>
  1181.        </div>
  1182.      
  1183.    </div>
  1184.    <div class="slide_nav" id="slide_nav1">
  1185.      <button class="slick_prev slick-arrow" style=""><svg><use xlink:href="#prev"></use></svg></button>
  1186.      <button class="slick_next slick-arrow" style=""><svg><use xlink:href="#next"></use></svg></button>
  1187.    </div>
  1188. </section>
  1189.  
  1190. <script type="text/javascript">
  1191.  $(document).ready(function () {
  1192.    $('.ser_slider').slick({
  1193.  slidesToShow: 3,
  1194.  slidesToScroll: 1,
  1195.  arrows: true,
  1196.  dots: false,
  1197.  centerMode: true,
  1198.  centerPadding: "150px",
  1199.  //variableWidth: true,
  1200.  infinite: true,
  1201.  focusOnSelect: true,
  1202.  //cssEase: 'linear',
  1203.  touchMove: true,
  1204.      autoplay:true,
  1205.      prevArrow: $('#slide_nav1 .slick_prev'),
  1206.    nextArrow: $('#slide_nav1 .slick_next'),
  1207.  
  1208.        responsive: [                        
  1209.            {
  1210.              breakpoint: 1200,
  1211.              settings: {
  1212.                centerMode: false,
  1213.                variableWidth: false,
  1214.              }
  1215.            },{
  1216.              breakpoint: 1023,
  1217.              settings: {
  1218.                centerMode: false,
  1219.                variableWidth: false,
  1220.                slidesToShow:2
  1221.              }
  1222.            },{
  1223.              breakpoint: 767,
  1224.              settings: {
  1225.                centerMode: false,
  1226.                variableWidth: false,
  1227.                slidesToShow:1
  1228.              }
  1229.            }
  1230.         ]
  1231. });
  1232.    });
  1233. </script>
  1234.  
  1235. </div><div id="shopify-section-collection" class="shopify-section"><section class="featured_sec common_sec">
  1236. <div class="container">
  1237.  
  1238.    <div class="text-center">
  1239.      <h2 class="sec_title center">FEATURED PRODUCTS</h2>
  1240.    </div>
  1241.  
  1242.  
  1243. <div class="pro_list">
  1244.    
  1245.      <div class="grid__item grid__item--collection small--one-half medium-up--one-quarter">
  1246.        
  1247. <div class="card-wrapper product-card-wrapper underline-links-hover">
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.    <style>#ProductCardImage-collection-7498076782756 {
  1254.    max-width: 200.0px;
  1255.    max-height: 250px;
  1256.  }
  1257.  
  1258.  #ProductCardImageWrapper-collection-7498076782756 {
  1259.    max-width: 200.0px;
  1260.  }
  1261. </style>
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  <div class="card__media">
  1267.    <!-- Swym Wishlist Plus EPI Button with default first variant -->
  1268.  
  1269.   <div class="media media--transparent media--hover-effect">
  1270.      <img id="ProductCardImage-collection-7498076782756"
  1271.              class="grid-view-item__image lazyload coll-img"
  1272.              alt=""
  1273.              src="//tanglessalon.ca/cdn/shop/files/Original_size_Green_Simple_Christmas_Party_Document_A4_Instagram_Post_45.png?v=1750520953"
  1274.              data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
  1275.              data-aspectratio="0.8"
  1276.              data-sizes="auto"
  1277.              data-image>
  1278.      
  1279.    </div>
  1280.    <div class="cta_bx">
  1281.      
  1282.        <a class="cta cta_sm radius_0" href="/collections/featured-products/products/tangles-christmas-open-house">BUY NOW</a>
  1283.        
  1284.    </div>
  1285.    <div class="card_abs_icons">
  1286.      <div class="add_wishlist">
  1287.      <button aria-label="Add to Wishlist" data-with-epi="true" class="button-wishlist" data-swaction="addToWishlist" data-product-id="7498076782756" data-variant-id="42980473798820" data-product-url="https://tanglessalon.ca/products/tangles-christmas-open-house">
  1288.        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26.2 23.3">
  1289.  <path d="M24.8 2.3C23.7.9 22 0 19.7 0c-2.9 0-5 1.5-6.6 3-1.6-1.5-3.7-3-6.6-3-2.3 0-4 .9-5.1 2.3C.4 3.6 0 5.3 0 6.9c0 2.9 1.8 5.7 4.2 8.4s5.5 5.4 8.5 7.8c.1.1.3.2.5.2s.3-.1.5-.2c2.9-2.4 6-5 8.5-7.8 2.4-2.7 4.2-5.6 4.2-8.4-.2-1.6-.6-3.3-1.6-4.6zm-3.9 12.1c-2.2 2.5-5.1 5-7.8 7.2-2.8-2.3-5.6-4.7-7.8-7.2C3 11.8 1.5 9.2 1.5 6.9c0-1.3.3-2.7 1.1-3.7s2-1.7 4-1.7c2.6 0 4.5 1.5 6 3.1.1.1.3.2.5.2s.4-.1.5-.2c1.6-1.6 3.4-3.1 6-3.1 2 0 3.2.7 4 1.7s1.1 2.4 1.1 3.7c.1 2.3-1.5 4.9-3.8 7.5z"></path>
  1290. </svg>
  1291.      </button>
  1292.      </div>
  1293.    </div>
  1294.  </div>
  1295.  <div class="card__content2">
  1296.      <div class="card__information">
  1297.        <h2 class="card__heading h5"><a class="full-unstyled-link" href="/collections/featured-products/products/tangles-christmas-open-house">
  1298.        Tangles Turns 22!
  1299.      </a></h2>
  1300.        <div class="card-information_in">
  1301.          
  1302. <dl class="price price--listing price--on-sale "
  1303. >
  1304.  
  1305. <div class="price__regular">
  1306.    <dt>
  1307.      <span class="visually-hidden visually-hidden--inline">Regular price</span>
  1308.    </dt>
  1309.    <dd>
  1310.      <span class="price-item price-item--regular">$30.00
  1311. </span>
  1312.    </dd>
  1313.  </div>
  1314.  <div class="price__sale">
  1315.    <dt>
  1316.      <span class="visually-hidden visually-hidden--inline">Sale price</span>
  1317.    </dt>
  1318.    <dd>
  1319.      <span class="price-item price-item--sale">$30.00
  1320. </span>
  1321.    </dd>
  1322.    <div class="price__compare">
  1323.      <dt>
  1324.        <span class="visually-hidden visually-hidden--inline">Regular price</span>
  1325.      </dt>
  1326.      <dd>
  1327.        <s class="price-item price-item--regular">
  1328.          $60.00
  1329.        </s>
  1330.      </dd>
  1331.    </div>
  1332.  </div>
  1333.  <div class="price__unit">
  1334.    <dt>
  1335.      <span class="visually-hidden visually-hidden--inline">Unit price</span>
  1336.    </dt>
  1337.    <dd class="price-unit-price"><span></span><span aria-hidden="true">/</span><span class="visually-hidden">per&nbsp;</span><span></span></dd>
  1338.  </div>
  1339.  <div class="price__badges price__badges--listing">
  1340.    <span class="price__badge price__badge--sale" aria-hidden="true">
  1341.      <span>Sale</span>
  1342.    </span>
  1343.    <span class="price__badge price__badge--sold-out">
  1344.      <span>Sold out</span>
  1345.    </span>
  1346.  </div>
  1347. </dl>
  1348.  
  1349.        </div>
  1350.      </div>
  1351.    
  1352.  </div>
  1353. </div>
  1354.  
  1355.      </div>
  1356.    
  1357.      <div class="grid__item grid__item--collection small--one-half medium-up--one-quarter">
  1358.        
  1359. <div class="card-wrapper product-card-wrapper underline-links-hover">
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.    <style>#ProductCardImage-collection-8269686374564 {
  1366.    max-width: 250.0px;
  1367.    max-height: 250px;
  1368.  }
  1369.  
  1370.  #ProductCardImageWrapper-collection-8269686374564 {
  1371.    max-width: 250.0px;
  1372.  }
  1373. </style>
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  <div class="card__media">
  1379.    <!-- Swym Wishlist Plus EPI Button with default first variant -->
  1380.  
  1381.   <div class="media media--transparent media--hover-effect">
  1382.      <img id="ProductCardImage-collection-8269686374564"
  1383.              class="grid-view-item__image lazyload coll-img"
  1384.              alt=""
  1385.              src="//tanglessalon.ca/cdn/shop/files/eminence-organics-bakuchiol-niacinamide-moisturizer-pdp-2.png?v=1697829426"
  1386.              data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]"
  1387.              data-aspectratio="1.0"
  1388.              data-sizes="auto"
  1389.              data-image>
  1390.      
  1391.    </div>
  1392.    <div class="cta_bx">
  1393.      
  1394.        <a class="cta cta_sm radius_0" href="/collections/featured-products/products/bakuchiol-niacinamide-moisturizer">BUY NOW</a>
  1395.        
  1396.    </div>
  1397.    <div class="card_abs_icons">
  1398.      <div class="add_wishlist">
  1399.      <button aria-label="Add to Wishlist" data-with-epi="true" class="button-wishlist" data-swaction="addToWishlist" data-product-id="8269686374564" data-variant-id="44669629661348" data-product-url="https://tanglessalon.ca/products/bakuchiol-niacinamide-moisturizer">
  1400.        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26.2 23.3">
  1401.  <path d="M24.8 2.3C23.7.9 22 0 19.7 0c-2.9 0-5 1.5-6.6 3-1.6-1.5-3.7-3-6.6-3-2.3 0-4 .9-5.1 2.3C.4 3.6 0 5.3 0 6.9c0 2.9 1.8 5.7 4.2 8.4s5.5 5.4 8.5 7.8c.1.1.3.2.5.2s.3-.1.5-.2c2.9-2.4 6-5 8.5-7.8 2.4-2.7 4.2-5.6 4.2-8.4-.2-1.6-.6-3.3-1.6-4.6zm-3.9 12.1c-2.2 2.5-5.1 5-7.8 7.2-2.8-2.3-5.6-4.7-7.8-7.2C3 11.8 1.5 9.2 1.5 6.9c0-1.3.3-2.7 1.1-3.7s2-1.7 4-1.7c2.6 0 4.5 1.5 6 3.1.1.1.3.2.5.2s.4-.1.5-.2c1.6-1.6 3.4-3.1 6-3.1 2 0 3.2.7 4 1.7s1.1 2.4 1.1 3.7c.1 2.3-1.5 4.9-3.8 7.5z"></path>
  1402. </svg>
  1403.      </button>
  1404.      </div>
  1405.    </div>
  1406.  </div>
  1407.  <div class="card__content2">
  1408.      <div class="card__information">
  1409.        <h2 class="card__heading h5"><a class="full-unstyled-link" href="/collections/featured-products/products/bakuchiol-niacinamide-moisturizer">
  1410.        Bakuchiol + Niacinamide Moisturizer
  1411.      </a></h2>
  1412.        <div class="card-information_in">
  1413.          
  1414. <dl class="price price--listing"
  1415. >
  1416.  
  1417. <div class="price__regular">
  1418.    <dt>
  1419.      <span class="visually-hidden visually-hidden--inline">Regular price</span>
  1420.    </dt>
  1421.    <dd>
  1422.      <span class="price-item price-item--regular">$79.00
  1423. </span>
  1424.    </dd>
  1425.  </div>
  1426.  <div class="price__sale">
  1427.    <dt>
  1428.      <span class="visually-hidden visually-hidden--inline">Sale price</span>
  1429.    </dt>
  1430.    <dd>
  1431.      <span class="price-item price-item--sale">$79.00
  1432. </span>
  1433.    </dd>
  1434.    <div class="price__compare">
  1435.      <dt>
  1436.        <span class="visually-hidden visually-hidden--inline">Regular price</span>
  1437.      </dt>
  1438.      <dd>
  1439.        <s class="price-item price-item--regular">
  1440.          
  1441.        </s>
  1442.      </dd>
  1443.    </div>
  1444.  </div>
  1445.  <div class="price__unit">
  1446.    <dt>
  1447.      <span class="visually-hidden visually-hidden--inline">Unit price</span>
  1448.    </dt>
  1449.    <dd class="price-unit-price"><span></span><span aria-hidden="true">/</span><span class="visually-hidden">per&nbsp;</span><span></span></dd>
  1450.  </div>
  1451.  <div class="price__badges price__badges--listing">
  1452.    <span class="price__badge price__badge--sale" aria-hidden="true">
  1453.      <span>Sale</span>
  1454.    </span>
  1455.    <span class="price__badge price__badge--sold-out">
  1456.      <span>Sold out</span>
  1457.    </span>
  1458.  </div>
  1459. </dl>
  1460.  
  1461.        </div>
  1462.      </div>
  1463.    
  1464.  </div>
  1465. </div>
  1466.  
  1467.      </div>
  1468.    
  1469.  </div>
  1470.  
  1471.  
  1472.  
  1473. </div>
  1474. </section>
  1475.  
  1476.  
  1477.  
  1478. </div><div id="shopify-section-about_home_xeKLPn" class="shopify-section"><section class="about_sec common_sec">
  1479. <div class="container">
  1480. <div class="about_row flex_bx">
  1481. <div class="about_L">
  1482. <img src="//tanglessalon.ca/cdn/shop/files/about3.jpg?v=1712553413" alt="" width="658" height="auto">
  1483. </div>
  1484. <div class="about_R">
  1485. <h2 class="about_title">ABOUT</h2>
  1486.                <img src="https://cdn.shopify.com/s/files/1/0862/7201/6695/t/2/assets/tangles-hair-salon-spa2-min.png?v=1709874108" alt="" width="747" height="145">
  1487. <p class="sub_title">At Tangles Hair Salon we have a passion for hair and beauty.</p>
  1488. <p>We take pride in our work. We are up to date with current fashion trends and classic styles. Our professional staff regularly attends training seminars, learning new skills and techniques. Each service is tailored to suit our valuable clients. You can expect high quality service at a reasonable cost.</p>
  1489. <a href="https://ca0.meevo.com/CustomerPortal/login?tenantId=300031&locationId=301064" class="cta">BOOK ONLINE</a>
  1490. </div>
  1491. </div>
  1492. </div>
  1493. </section>
  1494.  
  1495. </div><div id="shopify-section-team_home_TUnX7Q" class="shopify-section"><section class="team_sec common_sec" style="background-image: url(//tanglessalon.ca/cdn/shop/files/team-bg2.jpg?v=1712826884);">
  1496. <div class="container">
  1497. <h2 class="sec_title">MEET OUR TEAM</h2>
  1498. <div class="row team_wrap"><div class="team_i">
  1499.                    <a href="/pages/sharon-bates-elite-hair-designer-owner" class="team_i_in">
  1500.                        <figure>
  1501.                            <img src="//tanglessalon.ca/cdn/shop/files/sharon.jpg?v=1712554598" alt="" width="364px" height="auto">
  1502.                        </figure>
  1503.                        <div class="tem-auth">
  1504.                        <div class="team_name">Sharon</div>
  1505.                        <div class="team_desi">Owner</div>
  1506.                    </div>
  1507.                    </a>
  1508.                </div>
  1509.            <div class="team_i">
  1510.                    <a href="/pages/krystal-palermo-elite-hair-designer-manager" class="team_i_in">
  1511.                        <figure>
  1512.                            <img src="//tanglessalon.ca/cdn/shop/files/krystal.jpg?v=1712554638" alt="" width="364px" height="auto">
  1513.                        </figure>
  1514.                        <div class="tem-auth">
  1515.                        <div class="team_name">Krystal</div>
  1516.                        <div class="team_desi">Manager</div>
  1517.                    </div>
  1518.                    </a>
  1519.                </div>
  1520.            <div class="team_i">
  1521.                    <a href="/pages/jenn-shantry-elite-hair-designer" class="team_i_in">
  1522.                        <figure>
  1523.                            <img src="//tanglessalon.ca/cdn/shop/files/jenn.jpg?v=1712554681" alt="" width="364px" height="auto">
  1524.                        </figure>
  1525.                        <div class="tem-auth">
  1526.                        <div class="team_name">Jenn</div>
  1527.                        <div class="team_desi">Elite Hair Designer</div>
  1528.                    </div>
  1529.                    </a>
  1530.                </div>
  1531.            <div class="team_i">
  1532.                    <a href="/pages/caitlyn-lead-stylist" class="team_i_in">
  1533.                        <figure>
  1534.                            <img src="//tanglessalon.ca/cdn/shop/files/caityln.jpg?v=1712554723" alt="" width="364px" height="auto">
  1535.                        </figure>
  1536.                        <div class="tem-auth">
  1537.                        <div class="team_name">Caitlyn</div>
  1538.                        <div class="team_desi">lead Stylist</div>
  1539.                    </div>
  1540.                    </a>
  1541.                </div>
  1542.            <div class="team_i">
  1543.                    <a href="/pages/megan-bourne-esthetician" class="team_i_in">
  1544.                        <figure>
  1545.                            <img src="//tanglessalon.ca/cdn/shop/files/megan_3072a7cf-d955-43ca-b3c4-6d0b66f5d919.jpg?v=1712554773" alt="" width="364px" height="auto">
  1546.                        </figure>
  1547.                        <div class="tem-auth">
  1548.                        <div class="team_name">Megan</div>
  1549.                        <div class="team_desi">Esthetician</div>
  1550.                    </div>
  1551.                    </a>
  1552.                </div>
  1553.            <div class="team_i">
  1554.                    <a href="/pages/nica-elite-hair-designer" class="team_i_in">
  1555.                        <figure>
  1556.                            <img src="//tanglessalon.ca/cdn/shop/files/nica.jpg?v=1712554807" alt="" width="364px" height="auto">
  1557.                        </figure>
  1558.                        <div class="tem-auth">
  1559.                        <div class="team_name">Nica</div>
  1560.                        <div class="team_desi">Elite Hair Designer</div>
  1561.                    </div>
  1562.                    </a>
  1563.                </div>
  1564.            <div class="team_i">
  1565.                    <a href="/pages/ria-esthetician" class="team_i_in">
  1566.                        <figure>
  1567.                            <img src="//tanglessalon.ca/cdn/shop/files/ria.jpg?v=1712554849" alt="" width="364px" height="auto">
  1568.                        </figure>
  1569.                        <div class="tem-auth">
  1570.                        <div class="team_name">Ria</div>
  1571.                        <div class="team_desi">Esthetician</div>
  1572.                    </div>
  1573.                    </a>
  1574.                </div>
  1575.            <div class="team_i">
  1576.                    <a href="/pages/emily-jr-hairdresser" class="team_i_in">
  1577.                        <figure>
  1578.                            <img src="//tanglessalon.ca/cdn/shop/files/emily.jpg?v=1712554880" alt="" width="364px" height="auto">
  1579.                        </figure>
  1580.                        <div class="tem-auth">
  1581.                        <div class="team_name">Emily</div>
  1582.                        <div class="team_desi">Hair designer</div>
  1583.                    </div>
  1584.                    </a>
  1585.                </div>
  1586.            <div class="team_i">
  1587.                    <a href="/pages/ashton-jr-hair-stylist" class="team_i_in">
  1588.                        <figure>
  1589.                            <img src="//tanglessalon.ca/cdn/shop/files/R57A0139_4a6f8628-725d-4e04-96a6-4aef268a7297.jpg?v=1739295530" alt="" width="364px" height="auto">
  1590.                        </figure>
  1591.                        <div class="tem-auth">
  1592.                        <div class="team_name">Ashton</div>
  1593.                        <div class="team_desi">Jr. Hair Designer</div>
  1594.                    </div>
  1595.                    </a>
  1596.                </div>
  1597.            
  1598. </div>
  1599. </div>
  1600. </section>
  1601.  
  1602. </div><div id="shopify-section-ad_banner_home_tKbw8N" class="shopify-section"><section class="ad_sec_home common_sec" style="background-image:url(//tanglessalon.ca/cdn/shop/files/ad-bg.jpg?v=1712555045);">
  1603. <div class="container">
  1604. <h2 class="sec_title">Want to win a laser hair removal session?</h2>
  1605. <p class="sub_title">Book your complementary laser hair removal consult for your chance to win your session for FREE!</p>
  1606. <a href="/pages/services" class="cta ad_cta">CHECK OUT ALL OUR NEW SERVICES AND PACKAGES</a>
  1607. </div>
  1608. </section>
  1609. </div><div id="shopify-section-video_slider_home_M8G36Y" class="shopify-section"><section class="video_sec common_sec space_100">
  1610.  <div class="container">
  1611.    <div class="video_slider"><div class="video_slide">
  1612.          <iframe loading="lazy" width="1586" height="829" src="https://www.youtube.com/embed/Xb_EgTasezc?si=GJC_IDqMYJaI9XTj&rel=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
  1613.        </div>
  1614.      
  1615.    </div>
  1616.    <div class="slide_nav" id="slide_nav2">
  1617.      <button class="slick_prev slick-arrow" style=""><svg><use xlink:href="#prev"></use></svg></button>
  1618.      <button class="slick_next slick-arrow" style=""><svg><use xlink:href="#next"></use></svg></button>
  1619.    </div>
  1620.  </div>
  1621. </section>
  1622.  
  1623. <script type="text/javascript">
  1624.  $(document).ready(function () {
  1625.    $('.video_slider').slick({
  1626.      slidesToShow: 1,
  1627.      slidesToScroll: 1,
  1628.      arrows: true,
  1629.      dots: false,
  1630.      infinite: true,
  1631.      prevArrow: $('#slide_nav2 .slick_prev'),
  1632.      nextArrow: $('#slide_nav2 .slick_next')
  1633.    });
  1634.  });
  1635. </script>
  1636.  
  1637. </div><div id="shopify-section-google_reviews_plus_yP8rjE" class="shopify-section"><script shopify_url="tanglessalon.myshopify.com" defer="defer" src="https://shopify-qode.s3.us-east-2.amazonaws.com/google-review-assets/gr-extension.min.js"></script>
  1638. <link href="https://shopify-qode.s3.us-east-2.amazonaws.com/google-review-assets/gr-extension.min.css" rel="stylesheet" type="text/css">
  1639. <section class="g_review common_sec">
  1640.  <div class="container">
  1641.    <div id="grp-entangle--root" class="grp-entangle--root"></div>
  1642.  </div>
  1643. </section>
  1644. </div><div id="shopify-section-map_section_qM9iCB" class="shopify-section">
  1645.  <section class="map_sec">
  1646.    <iframe loading="lazy" src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2865.2831585104395!2d-79.47535104912056!3d44.098148979006!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x882ace7f201e4143%3A0x8896839082757c35!2s45%20Grist%20Mill%20Rd%2C%20Holland%20Landing%2C%20ON%20L9N%201M7!5e0!3m2!1sen!2sca!4v1594754700092!5m2!1sen!2sca" width="2000" height="450" frameborder="0" allowfullscreen="" aria-hidden="false" tabindex="0" style="border: 0; width: 100%;"></iframe>
  1647.  </section>
  1648.  
  1649. </div><div id="shopify-section-instafeed_NkDwzQ" class="shopify-section"><style>#insta-feed{width:100%;}#insta-feed h2{font-size:20px;font-family: Helvetica;}@font-face {
  1650.  font-family: Helvetica;
  1651.  font-weight: 400;
  1652.  font-style: normal;
  1653.  src: url("//tanglessalon.ca/cdn/fonts/helvetica/helvetica_n4.fe093fe9ca22a15354813c912484945a36b79146.woff2?h1=dGFuZ2xlc3NhbG9uLmNh&h2=dGFuZ2xlc3NhbG9uc3BhLmNh&h3=dGFuZ2xlc3NhbG9uLmFjY291bnQubXlzaG9waWZ5LmNvbQ&hmac=c252b85381a5f1db4bee539e0f7480412724d75fbd3eec9935b9dfaff9fd537a") format("woff2"),
  1654.       url("//tanglessalon.ca/cdn/fonts/helvetica/helvetica_n4.8bddb85c18a0094c427a9bf65dee963ad88de4e8.woff?h1=dGFuZ2xlc3NhbG9uLmNh&h2=dGFuZ2xlc3NhbG9uc3BhLmNh&h3=dGFuZ2xlc3NhbG9uLmFjY291bnQubXlzaG9waWZ5LmNvbQ&hmac=18ca07b586d40bb8aa6a70be4a6b15d1ca01c122d8a22de5fd43b0567b25d729") format("woff");
  1655. }
  1656. </style><!-- -->
  1657.  <section class="common_sec">
  1658.    <div class="container">
  1659.  <div id="insta-feed"></div>
  1660.    </div>
  1661.  </section>
  1662.  
  1663.  </div><!-- END content_for_index -->
  1664.  
  1665.    </main>
  1666.    
  1667.    
  1668.    <div id="shopify-section-footer" class="shopify-section">
  1669.  
  1670.  <section class="form_sec"><div class="form_pic" style="background-image: url(//tanglessalon.ca/cdn/shop/files/tangle-beauty.jpg?v=1712555511);"></div><div class="contact-form form-vertical custom_form">
  1671.  <h2 class="sec_title">Request more information</h2><form method="post" action="/contact#HomeContactForm" id="HomeContactForm" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="✓" />
  1672.          
  1673.  
  1674.  
  1675.  
  1676.  
  1677.          <div class="form_row">
  1678.            <div class="form_col">
  1679.              <div class="input-holder">
  1680.                <input type="text" id="HomeContactForm-name" name="contact[Name]" class="required" title="Name" value="" placeholder="Name*">
  1681.              </div>
  1682.            </div>
  1683.            <div class="form_col">
  1684.              <div class="input-holder">
  1685.              <input placeholder="Email*"
  1686.                type="email"
  1687.                id="HomeContactForm-email"
  1688.                name="contact[email]"
  1689.                class="required email"
  1690.                title="Email"
  1691.                autocorrect="off"
  1692.                autocapitalize="off"
  1693.                value=""
  1694.                aria-required="true"></div>
  1695.          </div>
  1696.          </div>
  1697.          <div class="input-holder">
  1698.          <input type="tel" id="HomeContactForm-phone" name="contact[Phone Number]" class="required tel" title="Phone Number" pattern="[0-9\-]*" value="" placeholder="Phone Number*">
  1699.        </div>
  1700.        <div class="form_row">
  1701.            <div class="form_col_lg">
  1702.              <div class="input-holder">
  1703.                <textarea rows="10" id="HomeContactForm-message" name="contact[Message]" placeholder="Message"></textarea>
  1704.              </div>
  1705.            </div>
  1706.            <div class="form_col_sm">
  1707.              <input type="submit" class="cta contact-form-button" value="SEND">
  1708.            </div>
  1709.        </div>
  1710.  
  1711.        </form>
  1712.      </div>
  1713. </section>
  1714.  
  1715. <script>
  1716.    jQuery('.contact-form-button').click(function(e){
  1717.        var $formId = $(this).parents("form");
  1718.        var formAction = $formId.attr("action");
  1719.        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  1720.        var phoneReg = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
  1721.        var $error = $("<span class=\"error\"></span>");
  1722.        $("span.error").remove();
  1723.        $(".input-holder").removeClass("error");
  1724.        $(".required",$formId).each(function(){
  1725.            var inputVal = $.trim($(this).val());
  1726.            var fieldtitle = $(this).attr("title");
  1727.            var fieldname=$(this).attr("name");
  1728.            var $parentTag = $(this).parent();
  1729.            if(inputVal == "" || inputVal=="-1"){
  1730.                if($(this).hasClass("sel") == true){
  1731.                    $parentTag.addClass("error").append($error.clone().text("Please select your "+fieldtitle+"."));
  1732.                }
  1733.                else{
  1734.                    $parentTag.addClass("error").append($error.clone().text("Please enter your "+fieldtitle+"."));
  1735.                }
  1736.                $(this).focus();
  1737.                return false;
  1738.            }
  1739.            if($(this).hasClass("email") == true){
  1740.                if(!emailReg.test(inputVal)){
  1741.                    $parentTag.addClass("error").append($error.clone().text("Sorry, you have entered an invalid Email Address."));
  1742.                    $(this).focus();
  1743.                    return false;
  1744.                }
  1745.            }
  1746.            if($(this).hasClass("tel") == true){
  1747.                if(!phoneReg.test(inputVal)){
  1748.                    $parentTag.addClass("error").append($error.clone().text("Phone number seems invalid."));
  1749.                    $(this).focus();
  1750.                    return false;
  1751.                }
  1752.            }
  1753.          
  1754.        });
  1755.  
  1756.      
  1757.        if ($("span.error").length > 0) {
  1758.            $("span.error").each(function(){
  1759.                var distance = 5;
  1760.                var width = $(this).outerWidth();
  1761.                var start = width + distance;
  1762.                $(this).show().css({
  1763.                display: "block",
  1764.                opacity: 0
  1765.                }).animate({
  1766.                opacity: 1
  1767.                }, "slow");
  1768.            });
  1769.        } else {
  1770.            var fname        = jQuery('#HomeContactForm-name').val();
  1771.            var email         = jQuery('#HomeContactForm-email').val();
  1772.            var phone         = jQuery('#HomeContactForm-phone').val();
  1773.            var comments     = jQuery('#HomeContactForm-message').val();
  1774.            var result='{"fname":"'+fname+'", "email":"'+email+'", "phone":"'+phone+'", "message":"'+comments+'"}';
  1775.            sessionStorage.setItem('submitted_data', result);
  1776.            $formId.submit();
  1777.        }
  1778.        e.preventDefault();
  1779.    });
  1780.  // Fade out error message when input field gains focus
  1781.  jQuery('.required').keypress(function(){
  1782.      var $parent = jQuery(this).closest('.input-holder');
  1783.      $parent.removeClass('error');
  1784.      jQuery('span.error',$parent).fadeOut();
  1785.  });
  1786.  jQuery('input[type="tel"]').keypress(function(){
  1787.      var $parent = jQuery(this).closest('.input-holder');
  1788.      $parent.removeClass('error');
  1789.      jQuery('span.error',$parent).fadeOut();
  1790.  });
  1791.  
  1792.  
  1793.  jQuery('.required').change(function(){
  1794.      var $parent = jQuery(this).closest('.input-holder');
  1795.      $parent.removeClass('error');
  1796.      jQuery('span.error',$parent).fadeOut();
  1797.  });
  1798.  jQuery('input[type="tel"]').change(function(){
  1799.      var $parent = jQuery(this).closest('.input-holder');
  1800.      $parent.removeClass('error');
  1801.      jQuery('span.error',$parent).fadeOut();
  1802.  });
  1803. </script>
  1804. <footer class="site_footer">
  1805.  
  1806.    <div class="container">
  1807.      <div class="foot_top">
  1808.        <div class="foot_top_L">
  1809.          <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 120.1 114.6"><path d="M32.7 13.6a2.69 2.69 0 0 0-2.7 2.7 2.69 2.69 0 0 0 2.7 2.7h54.6a2.69 2.69 0 0 0 2.7-2.7 2.69 2.69 0 0 0-2.7-2.7H32.7zm0 46.4h54.6a2.7 2.7 0 1 0 0-5.4H32.7a2.7 2.7 0 1 0 0 5.4zm30.5-30a2.69 2.69 0 0 0-2.7-2.7H32.7a2.7 2.7 0 1 0 0 5.4h27.7c1.5 0 2.8-1.2 2.8-2.7zM32.7 40.9a2.7 2.7 0 1 0 0 5.4h20.4a2.7 2.7 0 1 0 0-5.4H32.7zm83.7-3.5l-12.7-6.7V6.8c0-1.8-.7-3.5-2-4.8s-3-2-4.8-2h-4.1a2.69 2.69 0 0 0-2.7 2.7 2.69 2.69 0 0 0 2.7 2.7h4.1c.4 0 .7.1 1 .4s.4.6.4 1v59.1L60.6 82.8c-.4.2-.8.2-1.1 0L21.8 65.9V6.8c0-.4.1-.7.4-1s.6-.4 1-.4h61.4a2.69 2.69 0 0 0 2.7-2.7A2.69 2.69 0 0 0 84.6 0H23.2c-1.8 0-3.5.7-4.8 2s-2 3-2 4.8v23.9L3.7 37.4c-2.2 1.2-3.7 3.5-3.7 6v43.9A2.69 2.69 0 0 0 2.7 90a2.69 2.69 0 0 0 2.7-2.7V64.5l51.8 23.3a6.83 6.83 0 0 0 5.6 0l51.8-23.3v43.3c0 .4-.1.7-.4 1s-.6.4-1 .4H6.8c-.4 0-.7-.1-1-.4s-.4-.6-.4-1v-4.1a2.69 2.69 0 0 0-2.7-2.7 2.69 2.69 0 0 0-2.7 2.7v4.1c0 1.8.7 3.5 2 4.8s3 2 4.8 2h106.4c1.8 0 3.5-.7 4.8-2s2-3 2-4.8V43.4c.1-2.5-1.3-4.9-3.6-6zm-100 26L5.5 58.5V43.4c0-.5.3-1 .7-1.2l10.2-5.3v26.5zm98.2-4.9l-10.9 4.9V36.9l10.2 5.3c.5.2.7.7.7 1.2v15.1zM5.5 95.5a2.69 2.69 0 0 0-2.7-2.7C1.2 92.8 0 94 0 95.5a2.69 2.69 0 0 0 2.7 2.7c1.5 0 2.8-1.2 2.8-2.7z"></path></svg>
  1810.          <h2 class="nl_title"><span>FOLLOW OUR WORK</span> NEWSLETTER</h2>
  1811.        </div>
  1812.        <span class="divider"></span>
  1813.        <div class="foot_top_R">
  1814.          <p class="nl_des">Sign up for our newsletter today to stay in the loop!</p>
  1815.          <div class="site-footer__newsletter
  1816.                          "><form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="contact-form" novalidate="novalidate"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
  1817. <input type="hidden" name="contact[tags]" value="newsletter">
  1818.                    <div class="input-group ">
  1819.                      <input type="email"
  1820.                        name="contact[email]"
  1821.                        id="ContactFooter-email"
  1822.                        class="input-group__field newsletter__input required email"
  1823.                        title="Email"
  1824.                        value=""
  1825.                        placeholder="EMAIL"
  1826.                        aria-label="Email address"
  1827.                        aria-required="true"
  1828.                        required
  1829.                        autocorrect="off"
  1830.                        autocapitalize="off"
  1831.                        >
  1832.                      <span class="input-group__btn">
  1833.                        <button type="submit" class="btn newsletter__submit" name="commit" >
  1834.                          <span class="newsletter__submit-text--large">Subscribe</span>
  1835.                        </button>
  1836.                      </span>
  1837.                    </div>
  1838.                    
  1839.                  </form>
  1840.                </div>
  1841.        
  1842.        </div>
  1843.      </div>
  1844.      <div class="foot_row flex_bx">
  1845.        <div class="foot_col foot_col_1">
  1846.          <div class="foot_des">
  1847.            <img src="//tanglessalon.ca/cdn/shop/files/foot-logo.png?v=1712555663" alt="">
  1848.            <p>At Tangles, we take pride in our work and our staff is constantly updating their education. We are up to date with the latest beauty trends and techniques. Each service includes a thorough consultation to ensure we not only achieve but exceed your expectations.</p>
  1849.          </div>
  1850.          <div class="foot_des2">
  1851.          <ul class="foot_info_ul">
  1852.            <li class="adrs_li"><svg><use xlink:href="#location"></use></svg>45 Gristmill Plaza Holland Landing, ON L9N1M7, Canada</li>
  1853.            <li class="mail_li">
  1854.              <svg><use xlink:href="#message"></use></svg>
  1855.              <a href="mailto:icuthair@tanglessalon.ca">icuthair@tanglessalon.ca</a>
  1856.            </li>
  1857.            <li class="call_li">
  1858.              <svg><use xlink:href="#call2"></use></svg>
  1859.              <a href="tel:905 953 8980">905 953 8980</a>
  1860.            </li>
  1861.          </ul>
  1862.            <div class="foot_social">
  1863.              
  1864.              
  1865.              
  1866.              
  1867.                  <a href="https://www.facebook.com/tanglessalonhollandlanding/" target="_blank" rel="nofollow" title="Facebook"><svg><use xlink:href="#facebook"></use></svg></a>
  1868.                
  1869.              
  1870.                  <a href="https://www.instagram.com/tangleshollandlanding/" target="_blank" rel="nofollow" title="Instagram"><svg><use xlink:href="#insta"></use></svg></a>
  1871.                
  1872.              
  1873.                  <a href="https://www.youtube.com/channel/UCNO3u5xLulgD5K2tss9vg2w/videos" target="_blank" rel="nofollow" title="Youtube"><svg><use xlink:href="#youtube"></use></svg></a>
  1874.                
  1875.              
  1876.            </div>
  1877.        </div>
  1878.        </div>
  1879.  
  1880.        <div class="foot_col foot_col_2">
  1881.          <ul class="foot_nav">
  1882.            
  1883.              <li
  1884.                class=" current-menu-item "
  1885.              >
  1886.                <a href="/">
  1887.                  <strong>Home</strong>
  1888.                </a>
  1889.              </li>
  1890.              <li
  1891.                class=" "
  1892.              >
  1893.                <a href="https://ca0.meevo.com/OnlineBookingApp/login?tenantId=300031">
  1894.                  Book Now
  1895.                </a>
  1896.              </li>
  1897.              <li
  1898.                class=" "
  1899.              >
  1900.                <a href="/pages/monthly-features">
  1901.                  Monthly features
  1902.                </a>
  1903.              </li>
  1904.              <li
  1905.                class=" "
  1906.              >
  1907.                <a href="/pages/reviews">
  1908.                  Reviews
  1909.                </a>
  1910.              </li>
  1911.              <li
  1912.                class=" "
  1913.              >
  1914.                <a href="/pages/bridal-hair-styling">
  1915.                  Bridal
  1916.                </a>
  1917.              </li>
  1918.              <li
  1919.                class=" "
  1920.              >
  1921.                <a href="/blogs/news">
  1922.                  TANGLES BLOG
  1923.                </a>
  1924.              </li>
  1925.              <li
  1926.                class=" "
  1927.              >
  1928.                <a href="/pages/contact-us">
  1929.                  CONTACT US
  1930.                </a>
  1931.              </li>
  1932.              <li
  1933.                class=" "
  1934.              >
  1935.                <a href="/pages/site-map">
  1936.                  Site Map
  1937.                </a>
  1938.              </li>
  1939.              <li
  1940.                class=" "
  1941.              >
  1942.                <a href="/pages/terms-of-service">
  1943.                  Terms Of Service
  1944.                </a>
  1945.              </li>
  1946.              <li
  1947.                class=" "
  1948.              >
  1949.                <a href="/pages/privacy-policy">
  1950.                  Privacy Policy
  1951.                </a>
  1952.              </li>
  1953.              <li
  1954.                class=" "
  1955.              >
  1956.                <a href="/pages/return-policy">
  1957.                  RETURN POLICY
  1958.                </a>
  1959.              </li></ul>
  1960.        </div>
  1961.  
  1962.        <div class="foot_col foot_col_3">
  1963.          <ul class="foot_nav">
  1964.            
  1965.              <li
  1966.                class=" "
  1967.              >
  1968.                <a href="/collections/all">
  1969.                  <strong>Shop</strong>
  1970.                </a>
  1971.                <ul class="submenu"><li class="">
  1972.                      <a href="/collections/laser-hair-removal-packages-for-women">
  1973.                        Laser Hair Removal Packages for Women
  1974.                      </a>
  1975.                    </li>
  1976.                  <li class="">
  1977.                      <a href="/collections/laser-hair-removal-packages-for-men">
  1978.                        Laser Hair Removal Packages for Men
  1979.                      </a>
  1980.                    </li>
  1981.                  <li class="">
  1982.                      <a href="/collections/body-facial-contouring-packages">
  1983.                        Body Contouring Packages
  1984.                      </a>
  1985.                    </li>
  1986.                  <li class="">
  1987.                      <a href="/collections/skin-rejuvenation-packages">
  1988.                        Skin Rejuvenation Packages
  1989.                      </a>
  1990.                    </li>
  1991.                  <li class="">
  1992.                      <a href="/collections/moroccanoil">
  1993.                        Moroccanoil
  1994.                      </a>
  1995.                    </li>
  1996.                  <li class="">
  1997.                      <a href="/collections/eminence-organic-skin-care">
  1998.                        Eminence Organic Skin Care
  1999.                      </a>
  2000.                    </li>
  2001.                  <li class="">
  2002.                      <a href="/collections/olaplex">
  2003.                        OLAPLEX
  2004.                      </a>
  2005.                    </li>
  2006.                  <li class="">
  2007.                      <a href="/collections/colorwow">
  2008.                        ColorWow
  2009.                      </a>
  2010.                    </li>
  2011.                  <li class="">
  2012.                      <a href="/collections/misencil-lashes">
  2013.                        Lashes
  2014.                      </a>
  2015.                    </li>
  2016.                  <li class="">
  2017.                      <a href="/collections/tangles-staff-picks">
  2018.                        Tangles Staff Picks
  2019.                      </a>
  2020.                    </li>
  2021.                  <li class="">
  2022.                      <a href="https://ca0.meevo.com/EgiftApp/home?tenantId=300031">
  2023.                        Gift Certificates
  2024.                      </a>
  2025.                    </li>
  2026.                  
  2027.                </ul>
  2028.              </li></ul>
  2029.        </div>
  2030.  
  2031.        <div class="foot_col foot_col_4">
  2032.          <ul class="foot_nav">
  2033.            
  2034.              <li
  2035.                class=" "
  2036.              >
  2037.                <a href="#">
  2038.                  <strong>SERVICES</strong>
  2039.                </a>
  2040.                <ul class="submenu"><li class="">
  2041.                      <a href="/pages/hair-cutting-and-styling">
  2042.                        Hair Cutting and Styling
  2043.                      </a>
  2044.                    </li>
  2045.                  <li class="">
  2046.                      <a href="/pages/hair-colour">
  2047.                        Hair Colour
  2048.                      </a>
  2049.                    </li>
  2050.                  <li class="">
  2051.                      <a href="/pages/other-hair-services">
  2052.                        Other Hair Services
  2053.                      </a>
  2054.                    </li>
  2055.                  <li class="">
  2056.                      <a href="/pages/special-occasion-services">
  2057.                        Special Occasion Services
  2058.                      </a>
  2059.                    </li>
  2060.                  <li class="">
  2061.                      <a href="/pages/contour-tighten">
  2062.                        Contour & Tighten
  2063.                      </a>
  2064.                    </li>
  2065.                  <li class="">
  2066.                      <a href="/pages/laser-hair-reduction">
  2067.                        Laser Hair Removal
  2068.                      </a>
  2069.                    </li>
  2070.                  <li class="">
  2071.                      <a href="/pages/manicures">
  2072.                        Manicures & Nail Enhancements
  2073.                      </a>
  2074.                    </li>
  2075.                  <li class="">
  2076.                      <a href="/pages/hair-removal-waxing">
  2077.                        Hair Removal/Waxing
  2078.                      </a>
  2079.                    </li>
  2080.                  <li class="">
  2081.                      <a href="/pages/facial-threading">
  2082.                        Facial Threading
  2083.                      </a>
  2084.                    </li>
  2085.                  <li class="">
  2086.                      <a href="/pages/tinting">
  2087.                        Tinting
  2088.                      </a>
  2089.                    </li>
  2090.                  <li class="">
  2091.                      <a href="/pages/pedicures">
  2092.                        Pedicures
  2093.                      </a>
  2094.                    </li>
  2095.                  <li class="">
  2096.                      <a href="/pages/facials">
  2097.                        Facials/Facial Rejuvenation
  2098.                      </a>
  2099.                    </li>
  2100.                  <li class="">
  2101.                      <a href="/pages/make-up-artistry">
  2102.                        Make Up Artistry
  2103.                      </a>
  2104.                    </li>
  2105.                  <li class="">
  2106.                      <a href="/pages/spray-tanning">
  2107.                        Spray Tanning
  2108.                      </a>
  2109.                    </li>
  2110.                  <li class="">
  2111.                      <a href="/pages/promotional-packages">
  2112.                        Packages
  2113.                      </a>
  2114.                    </li>
  2115.                  <li class="">
  2116.                      <a href="/pages/misencil-eyelash-extensions">
  2117.                        Misencil Eyelash Extensions
  2118.                      </a>
  2119.                    </li>
  2120.                  <li class="">
  2121.                      <a href="/pages/hair-botox-smoothing-straightening-treatment">
  2122.                        Hair Smoothing Treatments
  2123.                      </a>
  2124.                    </li>
  2125.                  
  2126.                </ul>
  2127.              </li></ul>
  2128.        </div>
  2129.  
  2130.        <div class="foot_col foot_col_5">
  2131.          <ul class="foot_nav">
  2132.            
  2133.              <li
  2134.                class=" "
  2135.              >
  2136.                <a href="#">
  2137.                  <strong>Team</strong>
  2138.                </a>
  2139.                <ul class="submenu"><li class="">
  2140.                      <a href="/pages/sharon-bates-elite-hair-designer-owner">
  2141.                        Sharon (Owner/Elite Designer)
  2142.                      </a>
  2143.                    </li>
  2144.                  <li class="">
  2145.                      <a href="/pages/krystal-palermo-elite-hair-designer-manager">
  2146.                        Krystal (Elite Designer/Manager)
  2147.                      </a>
  2148.                    </li>
  2149.                  <li class="">
  2150.                      <a href="/pages/emily-jr-hairdresser">
  2151.                        Emily (Jr Hairdresser)
  2152.                      </a>
  2153.                    </li>
  2154.                  <li class="">
  2155.                      <a href="/pages/ria-esthetician">
  2156.                        Ria (Esthetician)
  2157.                      </a>
  2158.                    </li>
  2159.                  <li class="">
  2160.                      <a href="/pages/megan-bourne-esthetician">
  2161.                        Megan (Esthetician)
  2162.                      </a>
  2163.                    </li>
  2164.                  <li class="">
  2165.                      <a href="/pages/jenn-shantry-elite-hair-designer">
  2166.                        Jenn (Elite Hair Designer)
  2167.                      </a>
  2168.                    </li>
  2169.                  
  2170.                </ul>
  2171.              </li></ul>
  2172.          <ul class="store_hours">
  2173.            <li><strong>Store Hours</strong></li>
  2174.            <ul>       <li>MONDAY CLOSED</li>
  2175.            <li>TUESDAY 10 - 8</li>
  2176.            <li>WEDNESDAY 10 - 8</li>
  2177.            <li>THURSDAY 10 - 8</li>
  2178.            <li>FRIDAY 9 - 5</li>
  2179.            <li>SATURDAY 9 - 4</li>
  2180.            <li>SUNDAY CLOSED</li>
  2181.          </ul>
  2182.          </ul>
  2183.          <img src="//tanglessalon.ca/cdn/shop/files/payment-logos.png?v=1712555763" alt="">
  2184.        </div>
  2185.  
  2186.  
  2187.      </div>
  2188.  </div>
  2189.  <div class="foot_btm">
  2190.    <div class="container">
  2191.      <div class="copyright">&copy; 2025 Tangles Hair Salon & Spa - tanglessalon.ca. All Rights Reserved.</div>
  2192.      
  2193.      <div class="poweredby">
  2194.        <a href="https://techwyse.com/" target="_blank" title="Powered by TechWyse">Powered by TechWyse</a>
  2195.      </div>
  2196.      <div class="powered_ico">
  2197.        <a href="https://techwyse.com/" target="_blank" title="TechWyse">
  2198.          <svg><use xlink:href="#tw"></use></svg>
  2199.        </a>
  2200.      </div>
  2201.      
  2202.    </div>
  2203.  </div>
  2204. </footer>
  2205.  
  2206. <svg width="0" height="0" style="display:none;">
  2207.  <symbol id="closeBtn" viewBox="0 0 47.971 47.971" xmlns="http://www.w3.org/2000/svg"><path d="M28.228,23.986L47.092,5.122c1.172-1.171,1.172-3.071,0-4.242c-1.172-1.172-3.07-1.172-4.242,0L23.986,19.744L5.121,0.88   c-1.172-1.172-3.07-1.172-4.242,0c-1.172,1.171-1.172,3.071,0,4.242l18.865,18.864L0.879,42.85c-1.172,1.171-1.172,3.071,0,4.242   C1.465,47.677,2.233,47.97,3,47.97s1.535-0.293,2.121-0.879l18.865-18.864L42.85,47.091c0.586,0.586,1.354,0.879,2.121,0.879   s1.535-0.293,2.121-0.879c1.172-1.171,1.172-3.071,0-4.242L28.228,23.986z"/></symbol>
  2208.  <symbol xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  viewBox="0 0 21 14" id="message">
  2209.    <defs>
  2210.      <path id="A" d="M0 0h21v14H0z"></path>
  2211.    </defs>
  2212.    <clipPath id="B">
  2213.      <use xlink:href="#A"></use>
  2214.    </clipPath>
  2215.    <g clip-path="url(#B)">
  2216.      <path d="M13.6 7.7L20.9.9c.1.1.1.3.1.5v11.2c0 .2 0 .4-.1.5l-7.3-5.4zM11 8.9L20.4.2c-.3-.1-.5-.2-.8-.2H1.4C1.2 0 .9.1.7.2L10 8.9c.3.3.7.3 1 0zm9.3 4.9l-7.4-5.5-1.4 1.3c-.6.6-1.5.6-2.1 0L8.1 8.3.7 13.8c.2.1.5.2.7.2h18.1c.3 0 .6-.1.8-.2zM7.4 7.7L.1.8c-.1.2-.1.4-.1.6v11.2c0 .2 0 .4.1.5l7.3-5.4z"></path>
  2217.    </g>
  2218.  </symbol>
  2219.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 29.9 12.9" id="next">
  2220.    <path d="M22.9 11.6c-.3.3-.3.7 0 1s.7.3 1 0L29.7 7c.3-.3.3-.7 0-1L24 .2c-.3-.3-.7-.3-1 0s-.3.7 0 1l4.5 4.5H.7a.68.68 0 0 0-.7.7.68.68 0 0 0 .7.7h26.7l-4.5 4.5z"></path>
  2221.  </symbol>
  2222.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 29.9 12.9" id="prev">
  2223.    <path d="M7 11.6c.3.3.3.7 0 1s-.7.3-1 0L.2 7c-.3-.3-.3-.7 0-1L5.9.3c.3-.3.7-.3 1 0s.3.7 0 1L2.5 5.7h26.7a.68.68 0 0 1 .7.7.68.68 0 0 1-.7.7H2.5L7 11.6z"></path>
  2224.  </symbol>
  2225.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 24 23.9" id="search">
  2226.    <path d="M23.7 22.5l-5.6-5.6c1.5-1.8 2.5-4.1 2.5-6.6C20.7 4.6 16 0 10.4 0 4.7 0 0 4.5 0 10.2s4.6 10.3 10.3 10.3c2.6 0 4.8-.9 6.6-2.5l5.7 5.7c.7.7 2-.5 1.1-1.2zm-22-12.3c0-4.7 3.9-8.6 8.6-8.6s8.6 3.9 8.6 8.6-3.9 8.6-8.6 8.6-8.6-3.9-8.6-8.6z"></path>
  2227.  </symbol>
  2228.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 32.7 32.7" id="tw">
  2229.    <path d="M16.4 32.7C7.3 32.7 0 25.4 0 16.4S7.3 0 16.4 0s16.4 7.3 16.4 16.4-7.4 16.3-16.4 16.3zm0-30.7A14.34 14.34 0 0 0 2 16.4c0 7.9 6.4 14.4 14.4 14.4 7.9 0 14.4-6.4 14.4-14.4C30.7 8.4 24.3 2 16.4 2zm0 2.3C9.7 4.3 4.2 9.7 4.2 16.4a12.08 12.08 0 0 0 12.1 12.1 12.08 12.08 0 0 0 12.1-12.1c0-6.7-5.3-12.1-12-12.1zm0 17.6c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zm8.1-2c-.4.4-1 .4-1.3 0l-6.8-6.8-6.8 6.8c-.4.4-1 .4-1.3 0-.4-.4-.4-1 0-1.3l7.5-7.5c.2-.2.4-.3.7-.3a1.08 1.08 0 0 1 .7.3l7.5 7.5c.2.3.2.9-.2 1.3z"></path>
  2230.  </symbol>
  2231.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 23.8 16.7" id="youtube">
  2232.    <path d="M11.7 16.7l-6.2-.2a10.9 10.9 0 0 1-2.6-.3C1.6 16 .7 15.1.4 13.8c-.2-1-.3-2-.3-3L0 6.6.4 2.8C.7 1.5 1.7.6 3 .4L6.2.1l7.6-.1 5.4.2c.6 0 1.3.1 1.9.2 1.3.3 2 1.2 2.3 2.4.2 1 .3 1.9.3 2.9.1 1.4.1 2.8 0 4.2-.1 1.3-.1 2.7-.4 3.9-.3 1.3-1.2 2.1-2.5 2.3l-3.2.3c-1.9.2-3.8.2-5.9.3zm-2.2-4.8l6.2-3.6-6.2-3.6v7.2z"></path>
  2233.  </symbol>
  2234.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 11.6 12.1" id="call">
  2235.    <path d="M8.8 12.1c-.4 0-.9-.2-1.3-.3-1.2-.5-2.3-1.2-3.3-2.1C2.8 8.6 1.7 7.1.8 5.5.4 4.8.2 4 0 3.2v-.4c0-.1.1-.2.1-.3C.6 1.7 1.2 1 1.9.3c.1-.1.2-.2.3-.2 0-.1.1-.1.2-.1s.1 0 .2.1l.2.2 1.4 2.4c.2.5.2.6-.2 1-.2.2-.5.4-.7.6v.1.1c.3 1.2 1 2.3 2 3.1.6.5 1.3.9 2 1.1h.1s.1 0 .1-.1c.1-.1.3-.4.5-.6.4-.5.4-.5 1-.2.8.4 1.5.9 2.2 1.4.1.1.2.1.2.2l.1.1v.1.1s0 .1-.1.1c-.1.2-.3.4-.4.5A16.32 16.32 0 0 1 9 12c0 .1-.1.1-.2.1z"></path>
  2236.    <path d="M6.2.4V.1c0-.1 0-.1.1-.1 1.3 0 2.6.6 3.5 1.5s1.5 2 1.7 3.3c0 .2.1.5.1.7 0 .1 0 .1-.1.1h-.6c-.1 0-.1 0-.1-.1-.1-1.9-.9-3.3-2.6-4.2C7.6 1 6.9.9 6.3.9c-.1 0-.1 0-.1-.1V.4zm2.9 5.2h-.4c-.1-.1 0-.2-.1-.4 0-.5-.3-1-.7-1.4s-.9-.7-1.4-.7L6.4 3c-.2 0-.2 0-.2-.2v-.5c0-.1 0-.1.1-.1.5 0 1 .2 1.5.4.5.3.9.7 1.1 1.1.3.5.5 1.1.5 1.7 0 .1 0 .2-.1.2h-.2 0z"></path>
  2237.  </symbol>
  2238.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 23.5 23.1" id="call2">
  2239.    <path d="M19.5 18l-3-2.3c-.6-.5-1.5-.4-2 .2l-1 1.1c-.9.9-2.8-.4-4.8-2.4s-3.3-3.8-2.4-4.7l1.1-1c.6-.5.7-1.4.2-2l-2.4-3c-.5-.5-1.2-.7-1.8-.4-.8.3-2.2 1.5-2.6 1.9-2.2 2.1.5 7.1 5.2 11.8s9.8 7.4 11.9 5.2c.4-.4 1.6-1.8 2-2.6.3-.7.1-1.3-.4-1.8zM12.1 7.6c-.6-.1-1.3.3-1.2 1 0 .4.3.8.7.9.5.1 1 .4 1.4.8s.7.9.8 1.4c.1.4.4.7.9.7.7 0 1.2-.6 1-1.2-.2-.8-.6-1.6-1.3-2.3-.6-.7-1.4-1.1-2.3-1.3zm6.5 5.1c.6 0 1.1-.5 1-1-.2-1.9-1-3.9-2.5-5.4S13.6 4 11.7 3.8c-.6 0-1.1.4-1.1 1 0 .5.4.9.9.9a6.55 6.55 0 0 1 4.2 1.9c1.2 1.2 1.8 2.7 2 4.2 0 .5.4.8.9.9zm1.2-9.1C17.5 1.3 14.4.1 11.3 0c-.6 0-1 .5-1 1s.4.9.9.9C13.9 2 16.5 3 18.4 5c2 1.9 3 4.5 3.1 7 0 .5.4.9.9.9.6 0 1.1-.4 1-1 0-3-1.3-6-3.6-8.3z"></path>
  2240.  </symbol>
  2241.  <symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23.6 24.6" id="cart"><path d="M23.4 4.6c-.2-.3-.7-.6-1-.6H5.3l-.6-2.9C4.6.5 4 0 3.3 0H.7C.3 0 0 .3 0 .8a.68.68 0 0 0 .7.7h2.4l2 9.4 1.3 5.9v.7c0 1.5 1.2 2.8 2.6 2.8h.4 0c-1 .4-1.6 1.5-1.3 2.6.2.6.6 1.1 1.1 1.4s1 .3 1.5.2c1.1-.3 1.8-1.5 1.6-2.7-.2-.7-.6-1.2-1.3-1.5v-.1h4.9 0c-1 .4-1.6 1.5-1.3 2.6.2.6.6 1.1 1.1 1.4a1.69 1.69 0 0 0 1 .3c.2 0 .3 0 .5-.1 1.1-.3 1.8-1.5 1.6-2.7-.2-.7-.6-1.2-1.3-1.5v-.1h2.4c.4 0 .7-.3.7-.8a.68.68 0 0 0-.7-.7H9.1c-.7 0-1.1-.5-1.1-1.2v-.2h12a1.3 1.3 0 0 0 1.3-1.1l2.2-10.6c.2-.3 0-.7-.1-.9zM6.8 7.3a.68.68 0 0 0 .7.7h14l-1.6 7.8H7.8L5.6 5.5h16.5l-.2 1H7.5c-.4 0-.7.3-.7.8zM16 22.4c0-.4.3-.6.6-.6s.6.2.6.6-.3.6-.6.6-.6-.2-.6-.6zm-6.4 0c0-.4.3-.6.6-.6s.7.2.7.6-.3.6-.7.6c-.3.1-.6-.2-.6-.6z"/></symbol>
  2242.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 21.8 21.7" id="facebook">
  2243.    <path d="M8.3 21.5v-7.2H6V11h2.2V9.5C8.3 5.8 9.9 4 13.6 4c.7 0 1.9.1 2.4.3v3h-1.3c-1.8 0-2.5.7-2.5 2.4v1.2h3.6l-.6 3.3h-2.9v7.5c5.4-.7 9.6-5.2 9.6-10.8A10.93 10.93 0 0 0 11 0C4.9 0 0 4.9 0 10.9c0 5.1 3.5 9.4 8.3 10.6z" fill-rule="evenodd"></path>
  2244.  </symbol>
  2245.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 20 21" id="insta">
  2246.    <path d="M5.8.8C2.6.8 0 3.4 0 6.6v8.1c0 3.2 2.6 5.8 5.8 5.8h8.1c3.2 0 5.8-2.6 5.8-5.8V6.6c0-3.2-2.6-5.8-5.8-5.8H5.8zm0 1.8h8.1c2.2 0 4 1.8 4 4v8.1c0 2.2-1.8 4-4 4H5.8c-2.2 0-4-1.8-4-4V6.6c0-2.2 1.8-4 4-4zm9.3 2c-.5 0-.8.4-.8.8 0 .5.4.8.8.8s.8-.4.8-.8c0-.5-.3-.8-.8-.8zm-5.3.7c-2.9 0-5.4 2.4-5.4 5.4S6.9 16 9.8 16s5.4-2.4 5.4-5.4-2.4-5.3-5.4-5.3zm0 1.8c2 0 3.6 1.6 3.6 3.6s-1.6 3.6-3.6 3.6-3.6-1.6-3.6-3.6 1.6-3.6 3.6-3.6z"></path>
  2247.  </symbol>
  2248.  <symbol xmlns="http://www.w3.org/2000/svg"  viewBox="0 0 19 26" id="location">
  2249.    <path d="M9.5 0c2.5 0 4.9 1 6.7 2.7s2.8 4 2.8 6.5C19 15.7 9.5 26 9.5 26S0 15.7 0 9.2c0-2.4 1-4.8 2.8-6.5S7 0 9.5 0zm0 12.4c.7 0 1.3-.2 1.9-.6s1-.9 1.2-1.5c.3-.6.3-1.3.2-1.9s-.5-1.2-.9-1.7c-.5-.5-1.1-.8-1.7-.9-.7-.1-1.3-.1-2 .2-.6.4-1.1.8-1.5 1.4-.4.5-.6 1.1-.6 1.8 0 .9.4 1.7 1 2.3s1.5.9 2.4.9z"></path>
  2250.  </symbol>
  2251. </svg>
  2252.  
  2253. <script>
  2254.    jQuery('.newsletter__submit').click(function(e){
  2255.        var $formId = $(this).parents("form");
  2256.        var formAction = $formId.attr("action");
  2257.        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  2258.        var phoneReg = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
  2259.        var $error = $("<span class=\"error\"></span>");
  2260.        $("span.error").remove();
  2261.        $(".input-holder").removeClass("error");
  2262.        $(".required",$formId).each(function(){
  2263.            var inputVal = $.trim($(this).val());
  2264.            var fieldtitle = $(this).attr("title");
  2265.            var fieldname=$(this).attr("name");
  2266.            var $parentTag = $(this).parent();
  2267.            if(inputVal == "" || inputVal=="-1"){
  2268.                if($(this).hasClass("sel") == true){
  2269.                    $parentTag.addClass("error").append($error.clone().text("Please select your "+fieldtitle+"."));
  2270.                }
  2271.                else{
  2272.                    $parentTag.addClass("error").append($error.clone().text("Please enter your "+fieldtitle+"."));
  2273.                }
  2274.                $(this).focus();
  2275.                return false;
  2276.            }
  2277.            if($(this).hasClass("email") == true){
  2278.                if(!emailReg.test(inputVal)){
  2279.                    $parentTag.addClass("error").append($error.clone().text("Sorry, you have entered an invalid Email Address."));
  2280.                    $(this).focus();
  2281.                    return false;
  2282.                }
  2283.            }
  2284.            if($(this).hasClass("tel") == true){
  2285.                if(!phoneReg.test(inputVal)){
  2286.                    $parentTag.addClass("error").append($error.clone().text("Phone number seems invalid."));
  2287.                    $(this).focus();
  2288.                    return false;
  2289.                }
  2290.            }
  2291.        });
  2292.        if ($("span.error").length > 0) {
  2293.            $("span.error").each(function(){
  2294.                var distance = 5;
  2295.                var width = $(this).outerWidth();
  2296.                var start = width + distance;
  2297.                $(this).show().css({
  2298.                display: "block",
  2299.                opacity: 0
  2300.                }).animate({
  2301.                opacity: 1
  2302.                }, "slow");
  2303.            });
  2304.        } else {
  2305.            
  2306.            var email         = jQuery('#ContactFooter-email').val();
  2307.            var result='{"email":"'+email+'"}';
  2308.            sessionStorage.setItem('submitted_data', result);
  2309.            $formId.submit();
  2310.        }
  2311.        e.preventDefault();
  2312.    });
  2313. </script>
  2314.    
  2315.      <script type="application/ld+json">
  2316. {
  2317.  "@context": "https://schema.org/",
  2318.  "@type": "Service",
  2319.  "serviceType": "Beauty Salon Services",
  2320.  "provider": {
  2321.    "@type": "BeautySalon",
  2322.    "name": "Tangles Hair Salon & Spa"
  2323.  },
  2324.  "hasOfferCatalog": {
  2325.    "@type": "OfferCatalog",
  2326.    "name": "Service",
  2327.    "itemListElement": [
  2328.       {
  2329.        "@type": "Offer",
  2330.        "itemOffered": {
  2331.          "@type": "Service",
  2332.          "name": "Hair Cutting and Styling"
  2333.        }
  2334.      },{
  2335.        "@type": "Offer",
  2336.        "itemOffered": {
  2337.          "@type": "Service",
  2338.          "name": "Hair Colour"
  2339.        }
  2340.      },
  2341.      {
  2342.        "@type": "Offer",
  2343.        "itemOffered": {
  2344.          "@type": "Service",
  2345.          "name": "Other Hair Services"
  2346.        }
  2347.      },
  2348.      {
  2349.        "@type": "Offer",
  2350.        "itemOffered": {
  2351.          "@type": "Service",
  2352.          "name": "Special Occasion Services"
  2353.        }
  2354.      },
  2355.      {
  2356.        "@type": "Offer",
  2357.        "itemOffered": {
  2358.          "@type": "Service",
  2359.          "name": "Body & Facial Contouring"
  2360.        }
  2361.      },
  2362.       {
  2363.        "@type": "Offer",
  2364.        "itemOffered": {
  2365.          "@type": "Service",
  2366.          "name": "Laser Hair Removal"
  2367.        }
  2368.      },
  2369.       {
  2370.        "@type": "Offer",
  2371.        "itemOffered": {
  2372.          "@type": "Service",
  2373.          "name": "Manicures & Nail Enhancements"
  2374.        }
  2375.      },
  2376.       {
  2377.        "@type": "Offer",
  2378.        "itemOffered": {
  2379.          "@type": "Service",
  2380.          "name": "Hair Removal/Waxing"
  2381.        }
  2382.      },
  2383.       {
  2384.        "@type": "Offer",
  2385.        "itemOffered": {
  2386.          "@type": "Service",
  2387.          "name": "Facial Threading"
  2388.        }
  2389.      },
  2390.       {
  2391.        "@type": "Offer",
  2392.        "itemOffered": {
  2393.          "@type": "Service",
  2394.          "name": "Tinting"
  2395.        }
  2396.      },
  2397.      {
  2398.        "@type": "Offer",
  2399.        "itemOffered": {
  2400.          "@type": "Service",
  2401.          "name": "Pedicures"
  2402.        }
  2403.      },
  2404.      {
  2405.        "@type": "Offer",
  2406.        "itemOffered": {
  2407.          "@type": "Service",
  2408.          "name": "Facials/Facial Rejuvenation"
  2409.        }
  2410.      },
  2411.      {
  2412.        "@type": "Offer",
  2413.        "itemOffered": {
  2414.          "@type": "Service",
  2415.          "name": "Makeup Artistry"
  2416.        }
  2417.      },
  2418.      {
  2419.        "@type": "Offer",
  2420.        "itemOffered": {
  2421.          "@type": "Service",
  2422.          "name": "Spray Tanning"
  2423.        }
  2424.      },
  2425.      {
  2426.        "@type": "Offer",
  2427.        "itemOffered": {
  2428.          "@type": "Service",
  2429.          "name": "Packages"
  2430.        }
  2431.      },
  2432.      {
  2433.        "@type": "Offer",
  2434.        "itemOffered": {
  2435.          "@type": "Service",
  2436.          "name": "Misencil Eyelash Extensions"
  2437.        }
  2438.      },
  2439.      {
  2440.        "@type": "Offer",
  2441.        "itemOffered": {
  2442.          "@type": "Service",
  2443.          "name": "Hair Smoothing Treatments"
  2444.        }
  2445.      }
  2446.    ]
  2447.  }
  2448. }
  2449. </script>
  2450.  
  2451.      
  2452.      
  2453.    
  2454.    
  2455.      <script type="application/ld+json">
  2456. {
  2457.    "@context": "http://schema.org",
  2458.    "@type": "BeautySalon",
  2459.    "description": "At Tangles Hair Salon & Spa, affordable glamour meets personalized style. Our skilled team tailors up-to-the-minute looks just for you, ensuring your beauty journey is uniquely yours.",
  2460.    "logo": {
  2461.        "@type": "ImageObject",
  2462.        "url": "https://tanglessalon.ca/cdn/shop/files/tangles.logo.large.size_300x300.jpg?v=1614309498"
  2463.    },
  2464.    "address": {
  2465.        "@type": "PostalAddress",
  2466.        "streetAddress": "45 Gristmill Plaza",
  2467.        "addressLocality": "Holland Landing",
  2468.        "addressRegion": "Ontario",
  2469.        "postalCode": "L9N1M7",
  2470.        "telephone": "(905) 953-8980"
  2471.    },
  2472.    "areaServed": [
  2473.        {
  2474.            "@type": "Place",
  2475.            "name": ["Sharon", "Holland Landing", "Mount Albert", "East Gwillimbury", "Keswick", "Sutton", "Jackson Point", "Udora", "York Region", "Newmarket"]
  2476.        }
  2477.    ],
  2478.    "openingHours": [
  2479.        "Sun & Mon Closed",
  2480.        "Tuesday-Wednesday 10:00-20:00",
  2481.        "Friday 09:00-17:00",
  2482.        "Saturday 09:00-16:00"
  2483.    ],
  2484.    "hasMap": "https://www.google.ca/maps/place/Tangles+Hair+Salon+%26+Spa/@44.098149,-79.473157,15z/data=!4m6!3m5!1s0x882ace7f18b0ac7f:0x85d1389ffaa7b5b1!8m2!3d44.098149!4d-79.473157!16s%2Fg%2F1v940pl6?entry=ttu",
  2485.    "geo": {
  2486.        "@type": "GeoCoordinates",
  2487.        "latitude": "44.0987807",
  2488.        "longitude": "-79.4732857"
  2489.    },
  2490.    "review": {
  2491.        "@type": "Review",
  2492.        "author": "Julie McRobert",
  2493.        "datePublished": "2023-12-20",
  2494.        "reviewBody": "Today Emily gave me the best hair cut of my life. I don’t get my hair cut often because it gives me a lot of anxiety. I have often ended up not happy with the results. But not today! Emily did such a great job! I have fine, thin hair  she took the time to do layers that really made a difference with the volume and shaping around my face. The first time I have ever looked in the mirror after a hair cut and been genuinely happy. I also got a fantastic manicure with Ria! She did the best job giving me a holiday manicure with little snowflake accents. She is very gentle, detail orientated and takes her time. I didn’t feel rushed and could have sat and chatted with her all evening. Such a nice experience and I can’t wait to treat myself again. Thank you",
  2495.        "reviewRating": {
  2496.            "@type": "Rating",
  2497.            "ratingValue": 5,
  2498.            "worstRating": 1,
  2499.            "bestRating": 5,
  2500.            "reviewAspect": "Experience"
  2501.        }
  2502.    },
  2503.    "name": "Tangles Hair Salon & Spa",
  2504.    "url": "https://tanglessalon.ca/",
  2505.    "image": "https://cdn.shopify.com/s/files/1/0431/5381/7764/files/Tangles-store_front-1_1024x1024.jpg?v=1596723306",
  2506.    "sameAs": [
  2507.        "https://www.facebook.com/tanglessalonhollandlanding/",
  2508.        "https://www.instagram.com/tangleshollandlanding/",
  2509.        "https://www.youtube.com/channel/UCNO3u5xLulgD5K2tss9vg2w/videos"
  2510.    ]
  2511. }
  2512. </script>
  2513.  
  2514.    
  2515.  
  2516. </div>
  2517.  
  2518.    <div id="slideshow-info" class="visually-hidden" aria-hidden="true">Use left/right arrows to navigate the slideshow or swipe left/right if using a mobile device</div>
  2519.  
  2520.  </div>
  2521.  
  2522.  <ul hidden>
  2523.    <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li>
  2524.    <li id="a11y-selection-message">Press the space key then arrow keys to make a selection.</li>
  2525.  </ul>
  2526. <ul hidden>
  2527.      <li id="a11y-refresh-page-message">Translation missing: en.accessibility.refresh_page</li>
  2528.      <li id="a11y-new-window-message">Translation missing: en.accessibility.link_messages.new_window</li>
  2529.    </ul>
  2530.  <script defer="defer">
  2531.      /*sticky head*/
  2532.    $(window).on("load scroll", function (e) {
  2533.        var sticky = $('.site_header'),
  2534.                scroll = $(window).scrollTop();
  2535.        if (scroll >= 100)
  2536.            sticky.addClass('stick_head');
  2537.        else
  2538.            sticky.removeClass('stick_head');
  2539.    });
  2540.    /*end sticky head*/
  2541.                $(document).ready(function () {
  2542.                
  2543.            /*mobile menu*/
  2544.                  $('.menu_trigger').click(function () {
  2545.                    $('.site_nav').toggleClass('open_nav');
  2546.                  $('.close_nav').addClass('nav_expand');
  2547.                });
  2548.                  $('.close_nav, .close_menu').click(function () {
  2549.                    $('.close_nav').removeClass('nav_expand');
  2550.                  $('.site_nav').removeClass('open_nav');
  2551.                });
  2552.  
  2553.                  $('.mainMenu li:has(ul)').addClass('submenu');
  2554.                  //$('.mainMenu .submenu').empty().remove();
  2555.                  $('.mainMenu .sub-menu li:has(ul)').addClass('submenu');
  2556.                  $('.mainMenu li:has(ul)').append('<i><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53 28.2"><path d="M26.8 28.2c-.9 0-1.7-.3-2.3-.9L.7 4.1c-1.1-1-.9-2.6.4-3.5s3.2-.8 4.2.3l21.5 21L47.7.9C48.3.3 49.1 0 50 0c.7 0 1.3.2 1.9.6 1.3.9 1.5 2.4.4 3.5L29.1 27.3c-.5.6-1.4.9-2.3.9z" /></svg></i>');
  2557.                $('.mainMenu > li > i').click(function () {
  2558.                    if ($(this).parent("li").hasClass("opened")) {
  2559.                    $(this).parent("li").removeClass("opened");
  2560.                    } else {
  2561.                    $(".mainMenu li").removeClass("opened");
  2562.                  $(this).parent("li").addClass("opened");
  2563.                    }
  2564.                  $(".mainMenu li").children("ul").slideUp();
  2565.                  $(".mainMenu li.opened").children("ul").slideDown();
  2566.                });
  2567.                  $('.mainMenu ul i').click(function () {
  2568.                    if ($(this).parent("li").hasClass("opened2")) {
  2569.                    $(this).parent("li").removeClass("opened2");
  2570.                    } else
  2571.                  {
  2572.                    $(".mainMenu li li").removeClass("opened2");
  2573.                  $(this).parent("li").addClass("opened2");
  2574.                    }
  2575.                  $(".mainMenu li li").children("ul").slideUp();
  2576.                  $(".mainMenu li.opened2").children("ul").slideDown();
  2577.                });
  2578.                  $(".secondary_nav").clone().appendTo(".top_nav");
  2579.                  $('.top_nav .secondary_nav li:has(ul)').append('<i><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53 28.2"><path d="M26.8 28.2c-.9 0-1.7-.3-2.3-.9L.7 4.1c-1.1-1-.9-2.6.4-3.5s3.2-.8 4.2.3l21.5 21L47.7.9C48.3.3 49.1 0 50 0c.7 0 1.3.2 1.9.6 1.3.9 1.5 2.4.4 3.5L29.1 27.3c-.5.6-1.4.9-2.3.9z" /></svg></i>');
  2580.                  $(".top_nav").on("click", ".secondary_nav i", function (e) {
  2581.                    //alert("secondary Menu Clicked");
  2582.                    if($(this).parent("li").hasClass("opened")) {
  2583.                    $(this).parent("li").removeClass("opened");
  2584.                    } else {
  2585.                    $(".secondary_nav li").removeClass("opened");
  2586.                  $(this).parent("li").addClass("opened");
  2587.                    }
  2588.                  $(".secondary_nav li").children("ul").slideUp();
  2589.                  $(".secondary_nav li.opened").children('ul').slideDown();
  2590.                });
  2591.                /*end top nav*/
  2592.  
  2593.                  // Goto Top of the Page
  2594.    $(window).scroll(function () {
  2595.        if ($(this).scrollTop() > 150) {
  2596.            $("#back-to-top").addClass("visible");
  2597.        } else {
  2598.            $("#back-to-top").removeClass("visible");
  2599.        }
  2600.    });
  2601.    $("#back-to-top").click(function () {
  2602.        $("body,html").animate({
  2603.            scrollTop: 0
  2604.        }, 800);
  2605.        return false;
  2606.    });
  2607.    //end back to top
  2608.  
  2609.                  
  2610.                    });
  2611.    </script>
  2612.  
  2613.  
  2614.  
  2615. <script type="text/javascript" defer="defer">
  2616. function setCookie(cname, cvalue){
  2617. var d = new Date();
  2618. var minutes = 480;
  2619. d.setTime(d.getTime() + (minutes * 60 * 1000));
  2620. var expires = "expires="+ d.toUTCString();
  2621. document.cookie = cname + "=" + cvalue + ";"+ expires +";path=/";
  2622. }
  2623.  
  2624. var vars = [], hash, gclid;
  2625. var hashes = window.location.href;
  2626. var decodedurl = decodeURIComponent(hashes);
  2627. var newurl = decodedurl.slice(window.location.href.indexOf('?') + 1).split('&');
  2628. for(var i = 0; i < newurl.length; i++)
  2629. {
  2630.  hash = newurl[i].split('=');
  2631.  vars.push(hash[0]);
  2632.  vars[hash[0]] = hash[1];
  2633. }
  2634. if(vars['gclid']){                  //checking if gclid parameter exists in URL
  2635. gclid = vars['gclid'];           //storing GCLID value into a variable
  2636. setCookie("gclid",gclid);    //setting cookie using the GCLID value
  2637. }
  2638. </script>
  2639. <!-- AdLuge visitor tracking code starts here -->  
  2640. <!--<script type="text/javascript">  
  2641. var _aaq = _aaq || [];  
  2642. _aaq.push(['trackPageView']);  
  2643. _aaq.push(['enableLinkTracking']);  
  2644. (function() {
  2645.  var u="//track.adluge.com/";
  2646.  _aaq.push(['setTrackerUrl', u+'t/']);
  2647.  _aaq.push(['setSiteId', 'AL_2167']);
  2648.  var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];  g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'javascripts/tracker.js'; s.parentNode.insertBefore(g,s);  
  2649. })();  
  2650. </script>  
  2651. <noscript><p><img src="//track.adluge.com/noscript/?idsite=AL_2167" style="border:0;" alt="" /></p></noscript> -->
  2652. <!-- AdLuge visitor tracking code ends here -->
  2653. <!--<script type="text/javascript" defer="defer"> unq_id = "CLU_660";</script><script type="text/javascript" src="https://app.callluge.com/cctsp/calltrack.js" defer="defer"></script>-->
  2654. <script type="text/javascript" defer="defer">
  2655.    $(".add_wishlist button").click(function(){
  2656.       if ( $('.add_wishlist button').is('.swym-removing') ) {
  2657.       $(this).removeClass('swym-added');
  2658.       }
  2659.    });
  2660.  
  2661.  $('.sca-qv-cartbtn').click(function(){
  2662.      $('.sca-qv-product-options').on('DOMSubtreeModified', function(){
  2663.        setTimeout(function(){
  2664.          $('#CartCount').removeClass("hide");
  2665.        }, 1000);
  2666.      });
  2667.  });
  2668. </script>
  2669.  
  2670.  <script type="text/javascript" defer="defer">
  2671.    setTimeout(function(){
  2672.      jQuery(document).on('click', '.sca-qv-button', function(){
  2673.        setTimeout(function(){
  2674.          jQuery('body').find('#sca-brankmark a').removeAttr('onclick');
  2675.          jQuery('body').find('#sca-brankmark a').removeAttr('href');
  2676.        }, 400);
  2677.      });
  2678.    }, 1000);
  2679. </script>
  2680. <script type="text/javascript">
  2681.       jQuery(document).on('click', '.button-wishlist', function(){
  2682.  
  2683. console.log($(this).attr('class'))
  2684.        if (jQuery(this).hasClass('swym-removing')) {
  2685.            jQuery(this).removeClass("disabled swym-added swym-adding swym-removing");
  2686.        }
  2687.  
  2688.  
  2689.    });
  2690. </script>
  2691.  
  2692. <script type="text/javascript">
  2693.  setTimeout(function(){
  2694.        $('body .swym-add-to-cart-btn').click(function(){
  2695.          console.log("clicked");
  2696.          setTimeout(function(){  
  2697.            $.getJSON('/cart.js', function(cart) {
  2698.              $('#CartCount span').text(cart.item_count);
  2699.              $('#CartCount').removeClass("hide");
  2700.            });    
  2701.          }, 1000);
  2702.     });
  2703. }, 2000);
  2704. </script>
  2705. <script src='https://truelark.com/chat-widget-v1/js/config.js'></script>
  2706. <script src='https://truelark.com/chat-widget-v1/js/loader.js'></script>
  2707.  <script>fdchat({clientId: '83190'});</script>
  2708. <div id="shopify-block-ANEZ6YUIrWjB2bzZUU__11068332061543699368" class="shopify-block shopify-app-block">
  2709. </div><div id="shopify-block-ASXJCWWEvMUE5L1VWd__5946647744298494267" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: swymVersion --><script>var __SWYM__VERSION__ = '3.152.0';</script><!-- END app snippet -->
  2710.    
  2711.  
  2712. <script>
  2713.  (function () {
  2714.    // Put metafields in window variable
  2715.    const commonCustomizationSettings = '';
  2716.    try {
  2717.      const parsedSettings = JSON.parse(commonCustomizationSettings);
  2718.      if (parsedSettings) {
  2719.        window.SwymWishlistCommonCustomizationSettings = parsedSettings[window.Shopify.theme.schema_name] || parsedSettings['global-settings'];
  2720.      } else {
  2721.        window.SwymWishlistCommonCustomizationSettings = {};
  2722.      }
  2723.    } catch (e) {
  2724.      window.SwymWishlistCommonCustomizationSettings = {};
  2725.    }
  2726.  
  2727.    let enabledCommonFeatures = '{"multiple-wishlist":false}';
  2728.    try {
  2729.      enabledCommonFeatures = JSON.parse(enabledCommonFeatures) || {};
  2730.    } catch (e) {
  2731.      enabledCommonFeatures = {};
  2732.    }
  2733.    // Storing COMMON FEATURES data in the window object for potential use in the storefront JS code.      
  2734.    window.SwymEnabledCommonFeatures = enabledCommonFeatures;
  2735.  })();
  2736. </script>
  2737.  
  2738. <script  id="wishlist-embed-init" defer async>
  2739.  (function () {
  2740.    window.swymWishlistEmbedLoaded = true;
  2741.    var fullAssetUrl = "https://cdn.shopify.com/extensions/bdffb790-f05d-4499-9625-99635f7cc450/wishlist-plus-477/assets/apps.bundle.js";
  2742.    var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1);
  2743.    var swymJsPath = '//freecdn.swymrelay.com/code/swym-shopify.js';
  2744.    var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1);
  2745.    window.SwymCurrentJSPath = baseJsPath;
  2746.    window.SwymAssetBaseUrl = assetBaseUrl;
  2747.    
  2748.      window.SwymCurrentStorePath = "//swymstore-v3free-01.swymrelay.com";
  2749.    
  2750.    function loadSwymShopifyScript() {
  2751.      var element = "";
  2752.      var scriptSrc = "";
  2753.  
  2754.      
  2755.        element = "swym-ext-shopify-script";
  2756.        window.SwymShopifyCdnInUse = true;
  2757.        scriptSrc = "https://cdn.shopify.com/extensions/bdffb790-f05d-4499-9625-99635f7cc450/wishlist-plus-477/assets/swym-ext-shopify.js";
  2758.      
  2759.  
  2760.      if (document.getElementById(element)) {
  2761.        return;
  2762.      }
  2763.  
  2764.      var s = document.createElement("script");
  2765.      s.id = element;
  2766.      s.type = "text/javascript";
  2767.      s.async = true;
  2768.      s.defer = true;
  2769.      s.src = scriptSrc;
  2770.  
  2771.      s.onerror = function() {
  2772.        console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default");
  2773.        // Fallback logic here
  2774.        element = `swym-ext-shopify-script-${__SWYM__VERSION__}`;
  2775.        var fallbackJsPathVal = "\/\/freecdn.swymrelay.com\/code\/swym-shopify.js";
  2776.        var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify");
  2777.        scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__;
  2778.  
  2779.        var fallbackScript = document.createElement("script");
  2780.        fallbackScript.id = element;
  2781.        fallbackScript.type = "text/javascript";
  2782.        fallbackScript.async = true;
  2783.        fallbackScript.defer = true;
  2784.        fallbackScript.src = scriptSrc;
  2785.        var y = document.getElementsByTagName("script")[0];
  2786.        y.parentNode.insertBefore(fallbackScript, y);
  2787.      };
  2788.  
  2789.      var x = document.getElementsByTagName("script")[0];
  2790.      x.parentNode.insertBefore(s, x);
  2791.    }
  2792.    
  2793.      var consentAPICallbackInvoked = false;
  2794.      function checkConsentAndLoad() {
  2795.        var isCookieBannerVisible = window.Shopify?.customerPrivacy?.shouldShowBanner?.();
  2796.        if(!isCookieBannerVisible) {
  2797.          loadSwymShopifyScript();
  2798.          return;
  2799.        }
  2800.        var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.();
  2801.        if (shouldLoadSwymScript) {
  2802.          loadSwymShopifyScript();
  2803.        } else {
  2804.          console.warn("No customer consent to load Swym Wishlist Plus");
  2805.        }
  2806.      }
  2807.      function initialiseConsentCheck() {
  2808.        document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); });
  2809.        window.Shopify?.loadFeatures?.(
  2810.          [{name: 'consent-tracking-api', version: '0.1'}],
  2811.          error => {
  2812.            consentAPICallbackInvoked = true;
  2813.            if (error) {
  2814.              if(!window.Shopify?.customerPrivacy) {
  2815.                loadSwymShopifyScript();
  2816.                return;
  2817.              }
  2818.            }
  2819.            checkConsentAndLoad();
  2820.          }
  2821.        );
  2822.      }
  2823.      function consentCheckFallback(retryCount) {
  2824.        if(!consentAPICallbackInvoked) {
  2825.          if (window.Shopify?.customerPrivacy) {
  2826.            checkConsentAndLoad();
  2827.          } else if (retryCount >= 1) {
  2828.            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");
  2829.            loadSwymShopifyScript();
  2830.          } else {
  2831.            setTimeout(() => consentCheckFallback(retryCount + 1), 1000);
  2832.          }
  2833.        }
  2834.      }
  2835.      if (document.readyState === "loading") {
  2836.        document.addEventListener("DOMContentLoaded", initialiseConsentCheck);
  2837.        window.addEventListener("load", () => consentCheckFallback(0));
  2838.      } else {
  2839.        initialiseConsentCheck();
  2840.      }
  2841.    
  2842.  })();
  2843. </script>
  2844.  
  2845. <!-- BEGIN app snippet: swymSnippet --><script defer>
  2846.  (function () {
  2847.    const currentSwymJSPath = '//freecdn.swymrelay.com/code/swym-shopify.js';
  2848.    const currentSwymStorePath = '';
  2849.    const dnsPrefetchLink = `<link rel="dns-prefetch" href="https://${currentSwymStorePath}" crossorigin>`;
  2850.    const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`;
  2851.    const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`;
  2852.    const swymSnippet = document.getElementById('wishlist-embed-init');        
  2853.    if(dnsPrefetchLink) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink);}
  2854.    if(dnsPrefetchLink2) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2);}
  2855.    if(preConnectLink) {swymSnippet.insertAdjacentHTML('afterend', preConnectLink);}
  2856.  })()
  2857. </script>
  2858. <script id="swym-snippet" type="text">
  2859.  window.swymLandingURL = document.URL;
  2860.  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":"CAD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0};
  2861.  window.swymPageLoad = function() {
  2862.    window.SwymProductVariants = window.SwymProductVariants || {};
  2863.    window.SwymHasCartItems = 0 > 0;
  2864.    window.SwymPageData = {}, window.SwymProductInfo = {};
  2865.      var unknown = {et: 0};
  2866.      window.SwymPageData = unknown;
  2867.    
  2868.    window.SwymPageData.uri = window.swymLandingURL;
  2869.  };
  2870.  if(window.selectCallback){
  2871.    (function(){
  2872.      var originalSelectCallback = window.selectCallback;
  2873.      window.selectCallback = function(variant){
  2874.        originalSelectCallback.apply(this, arguments);
  2875.        try{
  2876.          if(window.triggerSwymVariantEvent){
  2877.            window.triggerSwymVariantEvent(variant.id);
  2878.          }
  2879.        }catch(err){
  2880.          console.warn("Swym selectCallback", err);
  2881.        }
  2882.      };})();}
  2883.  window.swymCustomerId =null;
  2884.  window.swymCustomerExtraCheck =
  2885.    null;
  2886.  var swappName = ("Wishlist" || "Wishlist");
  2887.  var swymJSObject = {
  2888.    pid: "YOL6T2M8WR7DowPjDvIwo5+Q0SjPX9uPef74zxuTyqg=",
  2889.    interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName
  2890.  };
  2891.  window.swymJSShopifyLoad = function(){
  2892.    if(window.swymPageLoad) swymPageLoad();
  2893.    if(!window._swat) {
  2894.      (function (s, w, r, e, l, a, y) {
  2895.        r['SwymRetailerConfig'] = s;
  2896.        r[s] = r[s] || function (k, v) {
  2897.          r[s][k] = v;
  2898.        };
  2899.      })('_swrc', '', window);
  2900.      _swrc('RetailerId', swymJSObject.pid);
  2901.      _swrc('Callback', function(){initSwymShopify();});
  2902.    }else if(window._swat.postLoader){
  2903.      _swrc = window._swat.postLoader;
  2904.      _swrc('RetailerId', swymJSObject.pid);
  2905.      _swrc('Callback', function(){initSwymShopify();});
  2906.    }else{
  2907.      initSwymShopify();}
  2908.  }
  2909.  if(!window._SwymPreventAutoLoad) {
  2910.    swymJSShopifyLoad();
  2911.  }
  2912. </script>
  2913.  
  2914. <style id="safari-flasher-pre"></style>
  2915. <script>
  2916.  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
  2917.    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;}' + '';
  2918.    window.SwymCallbacks = window.SwymCallbacks || [];
  2919.    window.SwymCallbacks.push(function(tracker) {
  2920.      tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() {
  2921.        var x = function() {
  2922.          SwymUtils.onDOMReady(function() {
  2923.            var d = document.createElement("div");
  2924.            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>";
  2925.            document.head.appendChild(d);
  2926.          });};
  2927.        setTimeout(x, 10);
  2928.      });});}
  2929.  window.SwymOverrideMoneyFormat = "${{amount}}";
  2930. </script>
  2931. <style id="swym-product-view-defaults"> .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded) { display: none; } </style><!-- END app snippet -->
  2932.  
  2933. <script  id="swymSnippetCheckAndActivate">
  2934.  (function() {
  2935.    function postDomLoad() {
  2936.      var element = document.querySelector('script#swym-snippet:not([type="text"])');                            
  2937.      if (!element) {
  2938.        var script = document.querySelector('script#swym-snippet[type="text"]');
  2939.        if (script) {
  2940.          script.type = 'text/javascript';
  2941.          new Function(script.textContent)();
  2942.        }
  2943.      }
  2944.    }
  2945.    if (document.readyState === "loading") {
  2946.      document.addEventListener("DOMContentLoaded", postDomLoad);
  2947.    } else {
  2948.      postDomLoad();
  2949.    }
  2950.  })();
  2951. </script>
  2952.  
  2953.  
  2954.  
  2955. <script>
  2956.  (function() {
  2957.    // HEARTBEAT
  2958.    let wishlistAppHeartbeatData = '{"global":"2025-02-11T04:52:59.103Z","142641266852":"2025-07-07T03:45:19.171Z"}';
  2959.    try {
  2960.      wishlistAppHeartbeatData = JSON.parse(wishlistAppHeartbeatData) || {};
  2961.    } catch (e) {
  2962.      wishlistAppHeartbeatData = {};
  2963.    }
  2964.    const ShopifyTheme = window.Shopify.theme;
  2965.    const themeId = ShopifyTheme.id;
  2966.    const heartbeatMetadata = {
  2967.      schema_name: ShopifyTheme?.schema_name,
  2968.      schema_version: ShopifyTheme?.schema_version,
  2969.      theme_store_id: ShopifyTheme?.theme_store_id,
  2970.      role: ShopifyTheme?.role
  2971.    };
  2972.    const themeSchemaName = window.Shopify.theme.schema_name;
  2973.    const isDesignMode = !!window.swymDesignMode;
  2974.  
  2975.    if (!window.SwymCallbacks) {
  2976.      window.SwymCallbacks = [];
  2977.    }
  2978.    window.SwymCallbacks.push((swat) => {
  2979.      if (!swat || !themeId) {
  2980.        return;
  2981.      }
  2982.  
  2983.      const triggerHeartbeat = swat?.ExtensionHealth?.triggerExtensionHeartbeat;
  2984.      if (typeof triggerHeartbeat !== "function") return;
  2985.  
  2986.      const lastHeartbeat = isDesignMode ? wishlistAppHeartbeatData?.editor : wishlistAppHeartbeatData?.[themeId];
  2987.      const themeContext = isDesignMode ? 'editor' : themeId;
  2988.      
  2989.      const extensionData = {
  2990.        extensionName: "wishlist-app",
  2991.        extensionType: "app-embed",
  2992.        metadata: heartbeatMetadata,
  2993.        themeId: themeContext,
  2994.        extensionSource: "default"
  2995.      };
  2996.  
  2997.      triggerHeartbeat(extensionData, lastHeartbeat);
  2998.  
  2999.      // ENABLE COMMON FEATURES
  3000.      let swymEnabledCommonFeatures = window.SwymEnabledCommonFeatures;
  3001.      Object.keys(swymEnabledCommonFeatures).forEach((key) => {
  3002.        if (!swymEnabledCommonFeatures[key])
  3003.          return;
  3004.  
  3005.        switch (key) {
  3006.          case "add-to-wishlist-collections-button":
  3007.            swat?.collectionsApi?.setDefaultCustomizationOptions();
  3008.            swat?.collectionsApi?.initializeCollections(swat, false, themeSchemaName);
  3009.  
  3010.            // Send basic collections heartbeat
  3011.            let basicCollectionsHeartbeat = '';
  3012.            try {
  3013.              basicCollectionsHeartbeat = JSON.parse(basicCollectionsHeartbeat) || {};
  3014.            } catch (e) {
  3015.              basicCollectionsHeartbeat = {};
  3016.            }
  3017.  
  3018.            const lastBasicCollectionsHeartbeat = isDesignMode ? basicCollectionsHeartbeat?.editor : basicCollectionsHeartbeat?.[themeId];
  3019.  
  3020.            /** Stop heartbeat
  3021.            triggerHeartbeat({
  3022.              extensionName: "basic-add-to-wishlist-collections-button",
  3023.              extensionType: "app-embed",
  3024.              metadata: {},
  3025.              themeId: themeContext,
  3026.              extensionSource: "default"    
  3027.            }, lastBasicCollectionsHeartbeat);
  3028.            */
  3029.  
  3030.            break;
  3031.          case "add-to-wishlist-pdp-button":
  3032.            if (!(window.SwymPageData && window.SwymPageData.et === 1)) {
  3033.              // Not initiating pdp button as it is not a product page
  3034.              return
  3035.            }
  3036.  
  3037.            // Inject addtowishlist.css into the document's <head>
  3038.            var head = document.head;
  3039.            var pdpButtonStylesheet = "https://cdn.shopify.com/extensions/bdffb790-f05d-4499-9625-99635f7cc450/wishlist-plus-477/assets/addtowishlistbutton.css";
  3040.            var pdpButtonStylesheetTag = document.createElement("link");
  3041.            pdpButtonStylesheetTag.id = `swym-pdp-button-stylesheet`;
  3042.            pdpButtonStylesheetTag.rel = "stylesheet";
  3043.            pdpButtonStylesheetTag.href = pdpButtonStylesheet;
  3044.            
  3045.            if (!document.getElementById("swym-pdp-button-stylesheet")) {
  3046.              head.appendChild(pdpButtonStylesheetTag);
  3047.            }
  3048.  
  3049.            var x = document.getElementsByTagName("script")[0];
  3050.            function createAndInsertScript(id, src, onLoadCallback) {
  3051.              var scriptTag = document.createElement("script");
  3052.              scriptTag.id = id;
  3053.              scriptTag.type = "text/javascript";
  3054.              scriptTag.src = src;
  3055.              scriptTag.onload = onLoadCallback;
  3056.              x.parentNode.insertBefore(scriptTag, x);
  3057.            }
  3058.  
  3059.            var pdpButtonScript = "https://cdn.shopify.com/extensions/bdffb790-f05d-4499-9625-99635f7cc450/wishlist-plus-477/assets/addtowishlistbutton.js";
  3060.            createAndInsertScript(
  3061.              `swym-pdp-button-script`,
  3062.              pdpButtonScript,
  3063.              function () {
  3064.                const pdpBtnApi = window.WishlistPlusPDPButtonAPI;
  3065.                if (pdpBtnApi) {
  3066.                  pdpBtnApi.setDefaultCustomizationOptions(swat);
  3067.                  pdpBtnApi.initializePDPButton(swat, true);
  3068.                }
  3069.              }
  3070.            );
  3071.            break;
  3072.          default:
  3073.            return;
  3074.        }
  3075.      })
  3076.    });
  3077.  })(); // IIFE to prevent polluting global scope
  3078. </script>
  3079.  
  3080.  
  3081.  
  3082.  
  3083. <script>
  3084.  (function () {
  3085.    // Get the settings from Shopify's Liquid variables and create the styles
  3086.    const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"];
  3087.    const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings &&
  3088.      Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0;
  3089.    const isControlCentreEnabledFromBlockSettings = false;
  3090.    
  3091.    if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) {
  3092.      // Don't enable control centre if this is disabled and block settings are not enabled
  3093.      return;
  3094.    }
  3095.    
  3096.    let borderRadius = 6;
  3097.    let drawerWidth = 400;
  3098.    
  3099.    // Check if block settings exist, use them, otherwise fall back to common settings
  3100.    let primaryBgColor = isControlCentreEnabledFromBlockSettings ?
  3101.      "#000000" :
  3102.      window.SwymWishlistCommonCustomizationSettings.primaryColor;
  3103.    
  3104.    let primaryTextColor = isControlCentreEnabledFromBlockSettings ?
  3105.      "#ffffff" :
  3106.      window.SwymWishlistCommonCustomizationSettings.secondaryColor;
  3107.    
  3108.    let secondaryBgColor = isControlCentreEnabledFromBlockSettings ?
  3109.      "#F4F8FE" : null;
  3110.    let secondaryTextColor = isControlCentreEnabledFromBlockSettings ?
  3111.      "#333333" : null;
  3112.  
  3113.    // Only use color adjustment functions if we're using common settings
  3114.    if (!secondaryBgColor || !secondaryTextColor) {
  3115.      function adjustOpacity(color, opacity) {
  3116.        if (color[0] === '#') {
  3117.          color = color.slice(1);
  3118.        }
  3119.  
  3120.        if (color.length === 3) {
  3121.          color = color.split('').map(char => char + char).join('');
  3122.        }
  3123.  
  3124.        const r = parseInt(color.slice(0, 2), 16);
  3125.        const g = parseInt(color.slice(2, 4), 16);
  3126.        const b = parseInt(color.slice(4, 6), 16);
  3127.  
  3128.        return `rgba(${r}, ${g}, ${b}, ${opacity})`;
  3129.      }
  3130.  
  3131.      function hexToRgb(color) {
  3132.        if (color[0] === '#') {
  3133.          color = color.slice(1);
  3134.        }
  3135.        if (color.length === 3) {
  3136.          color = color.split('').map(c => c + c).join('');
  3137.        }
  3138.  
  3139.        return {
  3140.          r: parseInt(color.slice(0, 2), 16),
  3141.          g: parseInt(color.slice(2, 4), 16),
  3142.          b: parseInt(color.slice(4, 6), 16)
  3143.        };
  3144.      }
  3145.  
  3146.      function getLuminance({ r, g, b }) {
  3147.        return 0.299 * r + 0.587 * g + 0.114 * b;
  3148.      }
  3149.  
  3150.      function generateSecondaryColors(primaryBgColor, primaryTextColor) {
  3151.        const secondaryBgOpacity = 0.2;
  3152.        const secondaryTextOpacity = 0.8;
  3153.  
  3154.        const secondaryBgColor = adjustOpacity(primaryBgColor, secondaryBgOpacity);
  3155.  
  3156.        const bgRgb = hexToRgb(primaryBgColor);
  3157.        const bgLuminance = getLuminance(bgRgb);
  3158.  
  3159.        // Determine whether to use dark or light text for contrast
  3160.        const lightText = adjustOpacity(primaryTextColor, secondaryTextOpacity);
  3161.        const darkText = adjustOpacity(primaryBgColor, secondaryTextOpacity);
  3162.  
  3163.        const secondaryTextColor = bgLuminance > 186 ? darkText : lightText;
  3164.  
  3165.        return {
  3166.          secondaryBgColor,
  3167.          secondaryTextColor
  3168.        };
  3169.      }
  3170.  
  3171.      const generatedColors = generateSecondaryColors(primaryBgColor, primaryTextColor);
  3172.      secondaryBgColor = secondaryBgColor || generatedColors.secondaryBgColor;
  3173.      secondaryTextColor = secondaryTextColor || generatedColors.secondaryTextColor;
  3174.    }
  3175.  
  3176.    // Create the CSS rule
  3177.    let styles = `
  3178.      .swym-storefront-layout-root-component {
  3179.        --swym-storefront-layout-ui-border-radius: ${borderRadius}px;
  3180.        --swym-storefront-layout-button-border-radius: ${borderRadius}px;
  3181.        --swym-storefront-layout-side-drawer-width: ${drawerWidth}px;
  3182.        --swym-storefront-layout-button-color-bg-primary: ${primaryBgColor};
  3183.        --swym-storefront-layout-button-color-text-primary: ${primaryTextColor};
  3184.        --swym-storefront-layout-button-color-bg-secondary: ${secondaryBgColor};
  3185.        --swym-storefront-layout-button-color-text-secondary: ${secondaryTextColor};
  3186.      }
  3187.    `;
  3188.  
  3189.    // Create a <style> element and append the styles
  3190.    let styleSheet = document.createElement("style");
  3191.    styleSheet.type = "text/css";
  3192.    styleSheet.innerText = styles;
  3193.    document.head.appendChild(styleSheet);
  3194.  
  3195.    if (typeof window.SwymStorefrontLayoutContext === 'undefined') {
  3196.        window.SwymStorefrontLayoutContext = {};
  3197.    }
  3198.    if (typeof window.SwymStorefrontLayoutExtensions === 'undefined'){
  3199.        window.SwymStorefrontLayoutExtensions = {};
  3200.    }
  3201.    
  3202.    if (isControlCentreEnabledFromBlockSettings) {
  3203.      // If block settings are enabled, use them
  3204.      SwymStorefrontLayoutContext.Settings = {
  3205.        EnableStorefrontLayoutOnLauncher: true,
  3206.        EnableStorefrontLayoutNotification: true,
  3207.        StorefrontLayoutType: window.SwymWishlistCommonCustomizationSettings.storefrontLayoutType || "as-drawer",
  3208.        StorefrontLayoutDrawerPosition: "left",
  3209.        StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container",
  3210.        StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist",
  3211.        EnableStorefrontLayoutVariantSelector: true,
  3212.        StorefrontLayoutNotificationPosition: "left",
  3213.        StorefrontLayoutActionPopupPosition: "left",
  3214.        StorefrontLayoutNotificationDuration: 5000
  3215.      };
  3216.    } else {
  3217.      // If only metafield is enabled but no block settings, use common settings
  3218.      SwymStorefrontLayoutContext.Settings = {
  3219.        EnableStorefrontLayoutOnLauncher: true,
  3220.        EnableStorefrontLayoutNotification: true,
  3221.        StorefrontLayoutType: window.SwymWishlistCommonCustomizationSettings.storefrontLayoutType || "as-drawer",
  3222.        StorefrontLayoutDrawerPosition: "left",
  3223.        StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container",
  3224.        StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist",
  3225.        EnableStorefrontLayoutVariantSelector: true,
  3226.        StorefrontLayoutNotificationPosition: "left",
  3227.        StorefrontLayoutActionPopupPosition: "left",
  3228.        StorefrontLayoutNotificationDuration: 5000
  3229.      };
  3230.    }
  3231.    const storefrontLayoutCallback = (swat) =>{
  3232.      SwymStorefrontLayoutContext.swat = swat;
  3233.      let isStoreOnPaidPlan = swat.getApp('Wishlist')?.['is-paid'];
  3234.      let isWishlistEnabled = swat.getApp('Wishlist')?.['enabled'];
  3235.      SwymStorefrontLayoutContext.Settings = {
  3236.        ...SwymStorefrontLayoutContext?.Settings,
  3237.        EnableStorefrontLayoutCollection: false,
  3238.        EnableStorefrontLayout: isWishlistEnabled && (isControlCentreEnabledFromBlockSettings || isControlCentreEnabledFromMetafield),
  3239.      }
  3240.  
  3241.      if(SwymStorefrontLayoutContext?.Settings?.EnableStorefrontLayout){
  3242.        if(SwymStorefrontLayoutContext?.CustomEvents?.LayoutInitialized){
  3243.          var event = new CustomEvent(SwymStorefrontLayoutContext.CustomEvents.LayoutInitialized, {
  3244.            detail: { settings: SwymStorefrontLayoutContext?.Settings }
  3245.          });
  3246.          document.dispatchEvent(event);
  3247.        }else{
  3248.          swat.utils.warn(`LayoutInitialized event is not defined.`);
  3249.        }
  3250.      }else{
  3251.        swat.utils.warn(`Storefront Layout is disabled.`);
  3252.        document.getElementById("swym-storefront-layout-container")?.remove();
  3253.        document.getElementById("swym-storefront-extention-render-container")?.remove();
  3254.      }
  3255.    }
  3256.  
  3257.    if (!window.SwymCallbacks) {
  3258.      window.SwymCallbacks = [];
  3259.    }
  3260.    window.SwymCallbacks.push(storefrontLayoutCallback);
  3261.  
  3262.    SwymStorefrontLayoutContext.SwymCustomerData = {
  3263.      
  3264.        name: null,
  3265.        email: null
  3266.      
  3267.    };
  3268.    SwymStorefrontLayoutContext.isShopperLoggedIn = !!SwymStorefrontLayoutContext?.SwymCustomerData?.email;
  3269.  })();
  3270. </script>
  3271. <div id="swym-storefront-extention-render-container">
  3272.  <!-- BEGIN app snippet: swymStorefrontLayout --><script>
  3273.    (function () {
  3274.        const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"];
  3275.        const isControlCentreEnabledFromBlockSettings = false;
  3276.        const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings &&
  3277.            Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0;
  3278.        
  3279.        if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) {
  3280.            return;
  3281.        }
  3282.        if (typeof window.SwymStorefrontLayoutContext === 'undefined') {
  3283.            window.SwymStorefrontLayoutContext = {};
  3284.        }
  3285.        
  3286.        SwymStorefrontLayoutContext.Strings = {
  3287.            title: "My Wishlist",
  3288.            addToCart: "Add To Cart + ",
  3289.            addedToCart: "Added To Cart",
  3290.            soldOut:"Sold Out",
  3291.            addingToCart: "Adding...",
  3292.            viewCartCta: "View Cart",
  3293.            moveToCartCta: "Move to Cart + ",
  3294.            movingToCartCta: "Moving...",
  3295.            removeSflItemCta: "Remove from Saved for Later",
  3296.  
  3297.            loginHeading: "Don&#39;t lose your Lists!",
  3298.            loginText: "Login to save your favorites and access them whenever, wherever!",
  3299.            loginButtonText: "Login to Save",
  3300.            loggedUserWelcomeMessage: "Welcome!",
  3301.            VariantSelectorBtnText: "Translation missing: en.storefrontLayout.VariantSelectorBtnText",
  3302.            wishlistTitle:"Other items in my Wishlist",
  3303.            wishlistInfo:"Add to lists &amp; organise",
  3304.            emptyWishlistTitle: "Your wishlist is empty",
  3305.            emptyWishlistDescription: "Add more items to this wishlist and see them here",
  3306.            
  3307.            collectionTitle: "My Lists",
  3308.            emptyCarouselCollectionText: "Your lists are empty!",
  3309.            emptyCollectionText: "This List is empty",
  3310.            emptyCollectionDescription: "Add more items to this list and see them here",
  3311.            
  3312.            addToCollectionTitle: "Add this item to list",
  3313.            removeItemCta: "Remove from List",
  3314.            addToCollectionCta: "Add to List",
  3315.            createCollectionCta:"Create new List",
  3316.            saveNewCollectionCta: "Save",
  3317.            renameCollectionCta: "Rename",
  3318.            deleteCollectionCta: "Delete List",
  3319.            shareCollectionCta: "Share Wishlist",
  3320.            saveCollectionCta: "Save List",
  3321.            editCollectionCta: "Edit",
  3322.            shareCollectionTitle: "Check This Out!",
  3323.            shareCollectionMessage: "View my List",
  3324.            sharedCollectionMessage: "This list was shared by {{email}} You can save it to edit",
  3325.            updateCollectionTitle: "Update List",
  3326.  
  3327.            errorMessageListNameRequired: "Name Required",
  3328.            errorMessageListNameRequire3Char: "Name must be at least 3 characters long",
  3329.            errorMessageListNameAlreadyExist: "Name already exist",
  3330.  
  3331.            notificationMessageItemSaved: "Item Saved",
  3332.            notificationMessageItemRemoved: "Item Removed",
  3333.            notificationMessageAddedToCart: "Added To Cart",
  3334.            notificationMessageAddedToCollection: "Item added to your list",
  3335.            notificationMessageCollectionSaved: "List Saved",
  3336.            notificationMessageCollectionDeleted: "List Deleted",
  3337.            notificationMessageCollectionUpdated: "Your lists have been updated",
  3338.            notificationMessageCollectionUnavailable: "List unavailable or removed",
  3339.            notificationMessageSFLItemSaved: "Saved for later",
  3340.            notificationMessageSFLItemRemoved: "Removed from Saved for later",
  3341.            notificationMessageMovedToCart: "Moved to Cart",
  3342.  
  3343.            notificationActionAddToCollection: "Add To List +",
  3344.            notificationActionView: "View",
  3345.            notificationActionViewCollection: "View List",
  3346.            notificationActionGoToCart: "Go To Cart",
  3347.  
  3348.            item: "item",
  3349.            items: "items",
  3350.  
  3351.            tabWishlist: "Wishlist",
  3352.            tabSavedForLater: "Saved for later",
  3353.            
  3354.            savedForLaterTitle: "Saved for Later",
  3355.            emptySavedForLaterTitle: "No items saved for later",
  3356.            emptySavedForLaterDescription: "Save items from your cart here until you&#39;re ready",
  3357.        }
  3358.  
  3359.        /**
  3360.        * Function to override Swym's default UI behavior.
  3361.        **/
  3362.        const overrideSwymDefaultUI = (swat) => {
  3363.            try{
  3364.                swat.ui.open = function(){
  3365.                    window.location.hash = SwymStorefrontLayoutContext?.StorefrontLayoutUrls?.List;
  3366.                }
  3367.  
  3368.                swat.ui.uiRef.settings.UI.NotificationDisabled = true;    
  3369.            }catch(e){
  3370.                swat.utils?.warn('Error overriding Swym default UI:', e);
  3371.            }
  3372.        }
  3373.  
  3374.        /**
  3375.        * Callback function to override Swym's default UI behavior based on Storefront Layout settings.
  3376.        *
  3377.        * - Overrides `swat.ui.open` to redirect to a custom Storefront Layout URL if enabled.
  3378.        * - Overrides Swym's default notifications to log notifications instead of displaying them.
  3379.        * - Ensures the callback is pushed to `window.SwymCallbacks` for execution when Swym is initialized.
  3380.        *
  3381.        * @param {Object} swat - Swym's UI object used for overriding UI behaviors.
  3382.        */
  3383.        const swymStorefrontLayoutCallback = (swat) =>{
  3384.            SwymStorefrontLayoutContext.swat = swat;
  3385.            
  3386.            overrideSwymDefaultUI(swat);
  3387.  
  3388.  
  3389.            let triggerHeartbeat = swat?.ExtensionHealth?.triggerExtensionHeartbeat;
  3390.            if (typeof triggerHeartbeat !== "function") return;
  3391.  
  3392.            let wishlistNewUiHeartbeatData = '';
  3393.            try {
  3394.                wishlistNewUiHeartbeatData = JSON.parse(wishlistNewUiHeartbeatData) || {};
  3395.            } catch (e) {
  3396.                wishlistNewUiHeartbeatData = {};
  3397.            }
  3398.  
  3399.            let themeId = window.Shopify.theme.id;
  3400.            let isDesignMode = !!window.swymDesignMode;
  3401.            let lastHeartbeat = isDesignMode ? wishlistNewUiHeartbeatData?.editor : wishlistNewUiHeartbeatData?.[themeId];
  3402.            let themeContext = isDesignMode ? 'editor' : themeId;
  3403.            let extensionData = {
  3404.                extensionName: "wishlist-new-ui",
  3405.                extensionType: "app-embed",
  3406.                metadata: {},
  3407.                themeId: themeContext,
  3408.                extensionSource: "default"
  3409.            };
  3410.            /** Stop heartbeat
  3411.            triggerHeartbeat(extensionData, lastHeartbeat);
  3412.            */
  3413.        }
  3414.        
  3415.        if (!window.SwymCallbacks) {
  3416.            window.SwymCallbacks = [];
  3417.        }
  3418.        window.SwymCallbacks.push(swymStorefrontLayoutCallback);
  3419.    })();
  3420. </script>
  3421. <link rel="stylesheet" href="https://cdn.shopify.com/extensions/bdffb790-f05d-4499-9625-99635f7cc450/wishlist-plus-477/assets/storefront-layout.css">
  3422. <script src="https://cdn.shopify.com/extensions/bdffb790-f05d-4499-9625-99635f7cc450/wishlist-plus-477/assets/async-wishlist-apis.js" defer="defer"></script>
  3423. <script src="https://cdn.shopify.com/extensions/bdffb790-f05d-4499-9625-99635f7cc450/wishlist-plus-477/assets/storefront-layout.js" defer="defer"></script>
  3424. <script src="https://cdn.shopify.com/extensions/bdffb790-f05d-4499-9625-99635f7cc450/wishlist-plus-477/assets/storefront-layout-components.js" defer="defer"></script>
  3425. <swym-storefront-layout class="swym-storefront-layout-root-component"></swym-storefront-layout><!-- END app snippet -->
  3426. </div>
  3427. </div><div id="shopify-block-AQjhsaFFDeVJBdGc0M__4912811683585195618" class="shopify-block shopify-app-block">
  3428.    <script defer>let ppData = {"tabs":"{\"status\":true,\"must_click_to_open\":true,\"tab_title\":\"Big Gift Card Sale!\",\"tab_text_color\":\"#FFFFFF\",\"background_color\":\"#61ccef\",\"tab_position\":\"bottom_center\"}","popups":[{"id":8717,"shop_id":16464,"title":"Big Gift Card Sale!","start_time":"2024-11-27 20:35:33","end_time":"2024-12-31 17:00:00","show_on_mobile":1,"priority":1,"who_can_see_popup":{"type":"all","customer_tags":[]},"where_popup_show":{"type_page":"all_page","specific_pages":[],"specific_urls":[],"include_specific_urls":true},"when_popup_show":{"type":"open_page","delay_before_show":0,"time_show_again":5,"cart_condition":{"status":false,"min_quantity_to_show":0,"min_order_total":0,"product_id":[]}},"when_popup_close":{"type":"handle_close","time_to_close":30},"popup_design":{"id":9,"template_name":"Blank Template","code_html":"<div id=\"squirai-popup-temp\"><style>\n          #squirai-popup-container td {\n            position: relative;\n          }\n        #squirai-close-button {\n            position: absolute;\n            right: -8px;\n            top: -8px;\n            color: #fff;\n            background-color: #000;\n            border-radius: 50%;\n            width: 20px;\n            min-width: auto !important;\n            max-width: unset !important;\n            height: 20px;\n            min-height: auto !important;\n            max-height: unset !important;\n            padding: 0;\n            cursor: pointer;\n            border: none;\n            outline: none;\n            letter-spacing: 0;\n            text-align: center !important;\n            font-size: 10px;\n        }\n\n          #squirai-popup-container p {\n            font-size: 17px;\n            margin: 0px;\n            text-align: center;\n            color: #000000\n          }\n\n          #squirai-background-img{\n            width: 100%;\n          }\n          @media (max-width :580px) {\n            #squirai-popup-container {\n              margin: auto;\n              width: 330px !important;\n              border-radius: 5px;\n              height: unset !important;\n            }\n            #squirai-popup-container td, #squirai-popup-container tr {\n                height: unset !important;\n            }\n          }\n        </style><table id=\"squirai-popup-container\" style=\"width: 700px;\" data-mce-style=\"width: 700px;\" class=\"mce-item-table\"><tbody><tr><td><button id=\"squirai-close-button\">✕</button> <img id=\"squirai-background-img\" src=\"https://pp.squirai.com/assets/photos/1732739779_tanglessalon.jpg\"></td></tr></tbody></table></div>","data_design":{"background_img":"https://pp.squirai.com/assets/photos/1732739779_tanglessalon.jpg","start_by_date":"2024-11-27 15:35:33","end_by_date":"2024-12-31 12:00:00"}},"status":1,"created_at":"2024-11-27T20:36:24.000000Z","updated_at":"2024-11-27T20:36:24.000000Z"}],"hidden_brandmark":true}</script>
  3429.  
  3430.    <script type="text/javascript" defer>window.SQUIRAI = {customer_tags: {tags: null}};</script>
  3431.  
  3432.    <div id="sca-p-popup-main-popup-container" class="sca-p-popup-main-container sca-modal-pu" data-animation="slideInOutTop">
  3433.        <div id="sca-p-popup-modal" class="slide-container sca-modal-dialog-pu"></div>
  3434.    </div>
  3435.    <div id="sca-p-popup-tab" class="sca-p-popup-main-container sca-modal-pu" style="display: none;">
  3436.        <span class="sca-p-popup-warp-btn p-popup-tab-btn-custom">
  3437.            <button id="squirai-tab-close-button">✕</button>
  3438.            <span id="sca-p-popup-text" class="sca-p-popup-tab-click"></span>
  3439.        </span>
  3440.    </div>
  3441.    <script src="https://cdn.shopify.com/extensions/b11c5f90-fa83-4a7d-9fa5-204781e76f96/smartpopup-promotion-popup-21/assets/squirai-theme-app-extension.js" defer ></script>
  3442.  
  3443.  
  3444.  
  3445.  
  3446. </div></body>
  3447. </html>
  3448.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda