DELETE FROM KEYWORDS WHERE ID_DOMAINE=36100073DoneDoneDone
URL:www.byrna.co.za
Connection: keep-alive
Date: Sat, 02 Nov 2024 12:21:06 GMT
Content-Length: 0
Content-Type: text/html; charset=utf-8
Location: https://byrna.co.za/
Server: cloudflare
Vary: Accept
x-sorting-hat-podid: 131
x-sorting-hat-shopid: 59576090756
x-storefront-renderer-rendered: 1
x-redirect-reason: https_required
x-frame-options: DENY
content-security-policy: frame-ancestors 'none';
x-shopid: 59576090756
x-shardid: 131
powered-by: Shopify
server-timing: processing;dur=19, db;dur=9, asn;desc="12322", edge;desc="CDG", country;desc="FR", pageType;desc="index", servedBy;desc="bsrd", requestID;desc="a9a542a1-e50f-409c-8a39-38c226d70f04-1730550065"
x-dc: gcp-europe-west1,gcp-europe-west1,gcp-europe-west1
x-request-id: a9a542a1-e50f-409c-8a39-38c226d70f04-1730550065
Alt-Svc: h3=":443"; ma=86400
CF-Cache-Status: DYNAMIC
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=%2FuLMkW0dJFS3l3OTXhnGZ4GCP0JjKlYAiOLDIvni9z%2F7MYGdHj2jlibgHuTT9fMrcEr9NV1zRVhp%2BE89wnK3m9E5mkc2Pg%2BKVKk0APpR5fXMUioD4MRQeVkiEzazoKlD2g%3D%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
Server-Timing: cfRequestDuration;dur=95.000029
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
X-Download-Options: noopen
CF-RAY: 8dc41518699c792a-CDG
Location => https://byrna.co.za/
Status => 301
(vide) Tentative en https
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#ff671d">
<link rel="canonical" href="https://byrna.co.za/">
<!-- ######## -->
<!-- GA4 TAGS -->
<!-- ######## -->
<!-- INCLUDED -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-0BKRR7ZK3M"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-0BKRR7ZK3M');
</script>
<!-- ########### -->
<!-- END GA4 TAG -->
<!-- ########### --><link rel="shortcut icon" href="//byrna.co.za/cdn/shop/files/byrna_icon_200x200_2292a372-94fb-4d44-aeba-dc7d4e5be701_32x32.png?v=1656542114" type="image/png"><title>Byrna South Africa - Less Lethal Products</title><meta name="description" content="Discover the ultimate less-lethal self-defense solution with Byrna South Africa. Explore our range of less-lethal self-defense weapons designed to empower and protect. From pepper sprays to chemical pepper and teargas projectiles, equip yourself with the tools you need for safety and confidence in any situation. Shop n"><!-- /snippets/social-meta-tags.liquid -->
<meta property="og:site_name" content="Byrna South Africa">
<meta property="og:url" content="https://byrna.co.za/">
<meta property="og:title" content="Byrna South Africa - Less Lethal Products">
<meta property="og:type" content="website">
<meta property="og:description" content="Discover the ultimate less-lethal self-defense solution with Byrna South Africa. Explore our range of less-lethal self-defense weapons designed to empower and protect. From pepper sprays to chemical pepper and teargas projectiles, equip yourself with the tools you need for safety and confidence in any situation. Shop n">
<meta property="og:image" content="http://byrna.co.za/cdn/shop/files/byrna_5c0a3416-e6e4-49c3-a60d-559c1cc643a8_1200x1200.png?v=1656542054">
<meta property="og:image:secure_url" content="https://byrna.co.za/cdn/shop/files/byrna_5c0a3416-e6e4-49c3-a60d-559c1cc643a8_1200x1200.png?v=1656542054">
<meta name="twitter:site" content="@byrnanation?lang=en">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Byrna South Africa - Less Lethal Products">
<meta name="twitter:description" content="Discover the ultimate less-lethal self-defense solution with Byrna South Africa. Explore our range of less-lethal self-defense weapons designed to empower and protect. From pepper sprays to chemical pepper and teargas projectiles, equip yourself with the tools you need for safety and confidence in any situation. Shop n">
<link rel="stylesheet" href="https://use.typekit.net/mfx8ibs.css">
<link rel="stylesheet" href="https://use.typekit.net/kki7jmy.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://use.typekit.net/djr0uwb.css">
<link href="//byrna.co.za/cdn/shop/t/4/assets/theme.scss.css?v=97748916553918098071699379285" rel="stylesheet" type="text/css" media="all" />
<script>
var theme = {
breakpoints: {
narrowscreen: 500,
medium: 750,
large: 990,
widescreen: 1400
},
strings: {
addToCart: "Add to cart",
soldOut: "Sold out",
unavailable: "Unavailable",
regularPrice: "Regular price",
salePrice: "Sale price",
sale: "Sale Price - Limited Inventory",
showMore: "Show More",
showLess: "Show Less",
addressError: "Error looking up that address",
addressNoResults: "No results for that address",
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.",
authError: "There was a problem authenticating your Google Maps account.",
newWindow: "Opens in a new window.",
external: "Opens external website.",
newWindowExternal: "Opens external website in a new window.",
removeLabel: "Remove [product]",
update: "Update",
quantity: "Quantity",
discountedTotal: "Discounted total",
regularTotal: "Regular total",
priceColumn: "See Price column for discount details.",
quantityMinimumMessage: "Quantity must be 1 or more",
cartError: "There was an error while updating your cart. Please try again.",
removedItemMessage: "Removed \u003cspan class=\"cart__removed-product-details\"\u003e([quantity]) [link]\u003c\/span\u003e from your cart.",
unitPrice: "Unit price",
unitPriceSeparator: "per",
oneCartCount: "1 item",
otherCartCount: "[count] items",
quantityLabel: "Quantity: [count]"
},
moneyFormat: "R {{amount}}",
moneyFormatWithCurrency: "R {{amount}} ZAR"
}
document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
</script>
<script src="//byrna.co.za/cdn/shop/t/4/assets/lazysizes.js?v=94224023136283657951662486093" async="async"></script>
<script src="//byrna.co.za/cdn/shop/t/4/assets/vendor.js?v=12001839194546984181662486093" defer="defer"></script>
<script src="//byrna.co.za/cdn/shop/t/4/assets/theme.js?v=114035234536280618361662486093" defer="defer"></script>
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/59576090756/digital_wallets/dialog">
<meta name="shopify-checkout-api-token" content="3695a6980dedcec9053de3012c8ec75a">
<meta id="in-context-paypal-metadata" data-shop-id="59576090756" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="ZAR">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-ZA"></script>
<script id="shopify-features" type="application/json">{"accessToken":"3695a6980dedcec9053de3012c8ec75a","betas":["rich-media-storefront-analytics"],"domain":"byrna.co.za","predictiveSearch":true,"shopId":59576090756,"smart_payment_buttons_url":"https:\/\/byrna.co.za\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/byrna.co.za\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "byrna-south-africa.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"ZAR","rate":"1.0"};
Shopify.country = "ZA";
Shopify.theme = {"name":"9.6.22 | Byrna South Africa (W\/ BUY BUTTONS)","id":127227953284,"schema_name":"Debut","schema_version":"13.1.0","theme_store_id":null,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "byrna.co.za/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
<script id="__st">var __st={"a":59576090756,"offset":7200,"reqid":"3f471771-bb4d-4f98-a60c-b4d3081ca178-1730550066","pageurl":"byrna.co.za\/","u":"870f3905584d","p":"home"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');function s(t,e,n=!1){try{const o=window.sessionStorage;for(const[n,c]of Object.entries(JSON.parse(o.getItem(e))))t.elements[n]&&(t.elements[n].value=c);n&&o.removeItem(e)}catch{}}const a='form_key',i=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response','password'],u=()=>{try{return window.sessionStorage}catch{return}},m=t=>t.elements[a],f='form_type',d='cptcha';function p(t){t.dataset[d]=!0}const l=window,h=l.document,_='Shopify',y='ce_forms',E='captcha';let v=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe','https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js',T={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=l[_][y],c=o.bindForm;if(c)return c(t,g,e,T).then(n);o.q.push([[t,g,e,T],n]),v||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js'})),v=!0)});var g,T;l[_]=l[_]||{},l[_][y]=l[_][y]||{},l[_][y].q=[],l[_][E]=l[_][E]||{},l[_][E].protect=function(t,e){n(t,void 0,e),p(t)},Object.freeze(l[_][E]),function(t,e,n,l,h,_){const[y,E,v,g]=function(t,e,n){const s=e?o:[],a=t?c:[],i=[...s,...a],u=[...o],m=r(i),f=r(s),d=n&&r(i.filter((([t,e])=>n.includes(e)))),p=r(u),l=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];return[l(m),l(f),l(d),l(p)]}(l,h,_),T=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},S=t=>y().includes(t);t.addEventListener('submit',(t=>{const e=T(t);if(!e)return;const n=S(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=m(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!u())return;!function(t){const e=u();if(!e)return;const n=m(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){m(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:a})),t.elements[a].value=e}(t,e),function(t,e){const n=u();if(!n)return;const o=[...t.querySelectorAll('input[type="password"]')].map((({name:t})=>t)),c=[...i,...o],r={};for(const[s,a]of new FormData(t).entries())c.includes(s)||(r[s]=a);n.setItem(e,JSON.stringify(r))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const w=(t,e)=>{t&&!t.dataset[d]&&(n(t,e.some((e=>e===t))),p(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=T(t);S(e)&&w(e,E())}));const A=e.get('form_key'),b=e.get(f),I=A&&b;t.addEventListener('DOMContentLoaded',(()=>{const t=E();if(I)for(const e of t)e.elements[f].value===b&&s(e,A);[...new Set([...v(),...y().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>w(e,t)))}))}(h,new URLSearchParams(l.location.search),n,!0,!0,['guest_login'])})()}();</script>
<script integrity="sha256-EGCDRYTvIEOXsReXgqGwkAR+5Dl8tickSrieA/ZcQwc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//byrna.co.za/cdn/shopifycloud/shopify/assets/storefront/load_feature-1060834584ef204397b1179782a1b090047ee4397cb627244ab89e03f65c4307.js" crossorigin="anonymous"></script>
<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://byrna.co.za/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
</script>
<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("#dynamic-checkout-cart")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
</script>
<style id="shopify-accelerated-checkout-cart">
#dynamic-checkout-cart {
container-type: inline-size;
container-name: dcc;
width: 100%;
}
.wallet-cart-grid {
--wallet-button-height-horizontal: clamp(
25px,
var(
--shopify-accelerated-checkout-button-inline-size,
42px
),
55px
);
--wallet-button-height-vertical: clamp(
25px,
var(
--shopify-accelerated-checkout-button-block-size,
54px
),
55px
);
--wallet-button-width-horizontal: 150px;
--wallet-button-width-vertical: 100%;
--wallet-button-border-radius: var(
--shopify-accelerated-checkout-button-border-radius,
4px
);
--wallet-grid-margin-horizontal: 0 -5px -5px -5px;
--wallet-button-container-margin-horizontal: 0 5px 5px;
--wallet-button-container-margin-vertical: var(--shopify-accelerated-checkout-row-gap, 8px) 0 0;
}
@keyframes acceleratedCheckoutLoadingSkeleton {
50% {opacity: var(--shopify-accelerated-checkout-skeleton-animation-opacity-start, 1);}
75% {opacity: var(--shopify-accelerated-checkout-skeleton-animation-opacity-end, 0.5);}
100% {opacity: var(--shopify-accelerated-checkout-skeleton-animation-opacity-start, 1);}
}
.wallet-cart-button__skeleton {
animation: acceleratedCheckoutLoadingSkeleton var(--shopify-accelerated-checkout-skeleton-animation-duration, 4s) var(--shopify-accelerated-checkout-skeleton-animation-timing-function, ease) infinite;
animation-delay: -0.168s;
background-color: var(--shopify-accelerated-checkout-skeleton-background-color, #dedede);
box-sizing: border-box;
text-decoration: none !important;
}
.wallet-cart-grid {
margin: var(--wallet-grid-margin-horizontal);
padding: 0;
display: flex;
flex-direction: row;
justify-content: var(--shopify-accelerated-checkout-inline-alignment, start);
gap: 0 !important;
}
.wallet-cart-grid--skeleton {
justify-content: var(--shopify-accelerated-checkout-inline-alignment, inherit);
}
.wallet-cart-button-container {
position: relative;
margin: var(--wallet-button-container-margin-horizontal);
}
.wallet-cart-button-container,
.wallet-cart-button {
width: var(--wallet-button-width-horizontal);
height: var(--wallet-button-height-horizontal);
border-radius: var(--wallet-button-border-radius);
list-style-type: none !important;
text-align: center;
flex-shrink: 0;
flex-grow: 0;
}
.additional-checkout-buttons--vertical .wallet-cart-grid {
justify-content: start;
flex-direction: column;
margin: 0;
}
.additional-checkout-buttons--vertical .wallet-cart-grid .wallet-cart-button-container {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
margin: var(--wallet-button-container-margin-vertical);
}
.additional-checkout-buttons--vertical .wallet-cart-grid .wallet-cart-button-container:first-child {
margin-top: 0;
}
.additional-checkout-buttons--vertical .wallet-cart-grid .wallet-cart-button {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
}
.additional-checkout-buttons--horizontal .wallet-cart-grid .wallet-cart-button-container,
.additional-checkout-buttons--horizontal .wallet-cart-grid .wallet-cart-button {
width: var(--wallet-button-width-horizontal) !important;
height: var(--wallet-button-height-horizontal) !important;
border-radius: var(--wallet-button-border-radius) !important;
}
@container dcc (width >= 150px) and (width <= 500px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(1)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(2))) {
justify-content: start;
flex-direction: column;
margin: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(1)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(2))) .wallet-cart-button-container {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
margin: var(--wallet-button-container-margin-vertical);
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(1)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(2))) .wallet-cart-button-container:first-child {
margin-top: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(1)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(2))) .wallet-cart-button {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
}
}
@container dcc (width <= 310px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(2)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(3))) {
justify-content: start;
flex-direction: column;
margin: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(2)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(3))) .wallet-cart-button-container {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
margin: var(--wallet-button-container-margin-vertical);
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(2)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(3))) .wallet-cart-button-container:first-child {
margin-top: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(2)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(3))) .wallet-cart-button {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
}
}
@container dcc (width <= 470px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(3)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(4))) {
justify-content: start;
flex-direction: column;
margin: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(3)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(4))) .wallet-cart-button-container {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
margin: var(--wallet-button-container-margin-vertical);
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(3)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(4))) .wallet-cart-button-container:first-child {
margin-top: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(3)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(4))) .wallet-cart-button {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
}
}
@container dcc (width <= 630px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(4)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(5))) {
justify-content: start;
flex-direction: column;
margin: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(4)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(5))) .wallet-cart-button-container {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
margin: var(--wallet-button-container-margin-vertical);
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(4)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(5))) .wallet-cart-button-container:first-child {
margin-top: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(4)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(5))) .wallet-cart-button {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
}
}
@container dcc (width <= 790px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(5)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(6))) {
justify-content: start;
flex-direction: column;
margin: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(5)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(6))) .wallet-cart-button-container {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
margin: var(--wallet-button-container-margin-vertical);
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(5)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(6))) .wallet-cart-button-container:first-child {
margin-top: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(5)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(6))) .wallet-cart-button {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
}
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(6)) {
justify-content: start;
flex-direction: column;
margin: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(6)) .wallet-cart-button-container {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
margin: var(--wallet-button-container-margin-vertical);
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(6)) .wallet-cart-button-container:first-child {
margin-top: 0;
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(6)) .wallet-cart-button {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
}
@media screen and (max-width: 750px) {
.wallet-cart-grid {
justify-content: start;
flex-direction: column;
max-width: none;
margin: 0;
}
.wallet-cart-grid .wallet-cart-button-container {
max-width: none;
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
margin: var(--wallet-button-container-margin-vertical);
}
.wallet-cart-grid .wallet-cart-button-container:first-child {
margin-top: 0;
}
.wallet-cart-grid .wallet-cart-button {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
}
}
@supports (not (container-type: inline-size)) or (not (selector(:has(*)))) {
.wallet-cart-grid {
justify-content: start;
flex-direction: column;
margin: 0;
}
.wallet-cart-button-container {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
margin: var(--wallet-button-container-margin-vertical);
}
.wallet-cart-button-container:first-child {
margin-top: 0;
}
.wallet-cart-grid .wallet-cart-button {
width: var(--wallet-button-width-vertical);
height: var(--wallet-button-height-vertical);
}
}
#shopify-buyer-consent {
margin-top: 1em;
display: inline-block;
width: 100%;
}
#shopify-buyer-consent.hidden {
display: none;
}
#shopify-subscription-policy-button {
background: none;
border: none;
padding: 0;
text-decoration: underline;
font-size: inherit;
cursor: pointer;
}
#shopify-subscription-policy-button::before {
box-shadow: none;
}
</style>
<style id="shopify-accelerated-checkout-cart-grid-with-margin-top">.additional-checkout-buttons--vertical .wallet-cart-grid .wallet-cart-button-container:first-child {
margin-top: 8px;
}
@container dcc (width >= 150px) and (width <= 500px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(1)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(2))) .wallet-cart-button-container:first-child {
margin-top: 8px;
}
}
@container dcc (width <= 310px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(2)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(3))) .wallet-cart-button-container:first-child {
margin-top: 8px;
}
}
@container dcc (width <= 470px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(3)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(4))) .wallet-cart-button-container:first-child {
margin-top: 8px;
}
}
@container dcc (width <= 630px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(4)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(5))) .wallet-cart-button-container:first-child {
margin-top: 8px;
}
}
@container dcc (width <= 790px) {
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(5)).wallet-cart-grid:not(:has(>.wallet-cart-button-container:nth-of-type(6))) .wallet-cart-button-container:first-child {
margin-top: 8px;
}
}
.wallet-cart-grid:has(>.wallet-cart-button-container:nth-of-type(6)) .wallet-cart-button-container:first-child {
margin-top: 8px;
}
@media screen and (max-width: 750px) {
.wallet-cart-grid .wallet-cart-button-container:first-child {
margin-top: 8px;
}
}
@supports (not (container-type: inline-size)) or (not (selector(:has(*)))) {
.wallet-cart-button-container:first-child {
margin-top: 8px;
}
}
</style>
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-698361414"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-698361414');
</script>
<!-- Global site tag (gtag.js) - Google Ads: 658388293 BS 5.11.22-->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-658388293"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-658388293');
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-404461504"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-404461504');
</script>
<script>
gtag('event', 'conversion', {'send_to': 'AW-404461504/pJh6CMby2PcCEMCv7sAB'});
</script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
<script type="text/javascript">(function e(){var e=document.createElement("script");e.type="text/javascript",e.async=true,e.src="//staticw2.yotpo.com/V5xoPQMeh5cvpsyL2jyG4zvDBeba9miDaKEUGrAE/widget.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})();</script>
<script src="https://cdn-widgetsrepository.yotpo.com/v1/loader/XZLiwDB0s6XG99gPaVFSMA" async></script>
<script type="text/javascript" id="redirector">
var m4u_redirects = {};
var m4u_debug = null;
</script>
<script src="//www.modules4u.biz/shopify/redirector/js/ip.js.php?shop=byrna-defense.myshopify.com" type="text/javascript"></script>
<style redirector>
.white {
color: #FFFFFF;
}
.black {
color: #000000;
}
.overlay_screen {
top: 0;
left: 0;
position: fixed;
z-index: 500000;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
#close {
cursor: pointer;
}
.tbar {
width: 100%;
display: inline-block;
padding: 0px;
}
.right {
float: right;
display: inline-block;
}
.m4u_popup {
position: absolute;
z-index: 500000000;
padding: 20px;
top: 0;
left: 50%;
margin-top: 100px;
margin-left: -150px;
background: #FFFFFF;
border-radius: 8px;
}
#close_float {
position: absolute;
z-index: 500000001;
margin-left: 120px;
margin-top: 85px;
width: 0px;
top: 0;
left: 50%;
border: 0px;
}
.fa-stack {}
.fa-lg {}
.fa-circle-thin {}
.fa-stack-2x {}
.fa-close {}
.fa-stack-1x {}
@media screen and (min-width: 680px) {
.m4u_popup {
position: absolute;
z-index: 500000000;
padding: 20px;
top: 0;
left: 50%;
margin-top: 100px;
margin-left: -350px;
background: #FFFFFF;
}
#close_float {
position: absolute;
z-index: 500000001;
margin-left: 325px;
margin-top: 85px;
width: 0px;
top: 0;
left: 50%;
border: 0px;
}
}
</style>
<!-- "snippets/shogun-head.liquid" was not rendered, the associated app was uninstalled -->
<script>let transcy_appEmbed = true;let transcy_apiURI = "https://api.transcy.io/api";let transcy_productId = "";let transcy_shopName = "Byrna South Africa";let transcy_currenciesPaymentPublish = [];let transcy_curencyDefault = "ZAR";transcy_currenciesPaymentPublish.push("ZAR");let transcy_shopifyLocales = [{"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}}];</script>
<link rel="stylesheet" href="https://tc.cdnhub.co/store/assets/css/main.css?v=4.2_1654561672">
<script src="https://tc.cdnhub.co/store/assets/js/main.js?v=4.2_1654561672" defer></script>
<script id="sca_fg_cart_ShowGiftAsProductTemplate" type="text/template">
<div class="item not-sca-qv" id="sca-freegift-{{productID}}">
<a class="close_box" style="display: none;position: absolute;top:5px;right: 10px;font-size: 22px;font-weight: bold;cursor: pointer;text-decoration:none;color: #aaa;">×</a>
<a href="/products/{{productHandle}}" target="_blank"><img style="margin-left: auto; margin-right: auto; width: 50%;" class="lazyOwl" data-src="{{productImageURL}}"></a>
<div class="sca-product-shop">
<div class="review-summary3">
<div class="yotpo bottomLine" style="text-align:center"
data-product-id="{{productID}}"
data-product-models="{{productID}}"
data-name="{{productTitle}}"
data-url="/products/{{productHandle}}">
</div>
</div>
<div class="f-fix"><span class="sca-product-title" style="white-space: nowrap;color:#000;{{showfgTitle}}">{{productTitle}}</span>
<div id="product-variants-{{productID}}">
<div class="sca-price" id="price-field-{{productID}}">
<span class="sca-old-price">{{variant_compare_at_price}}</span><br>
<span class="sca-special-price">{{variant_price}}</span>
</div>
<div id="stay-content-sca-freegift-{{productID}}" class="sca-fg-cart-item">
<a class="close_box" style="display: none;position: absolute;top:5px;right: 10px;font-size: 22px;font-weight: bold;cursor: pointer;text-decoration:none;color: #aaa;">×</a>
<select id="product-select-{{productID}}" name="id" style="display: none">
{{optionVariantData}}
</select>
</div>
</div>
<button type='button' id="sca-btn-select-{{productID}}" class="sca-button" onclick="onclickSelect_{{productID}}();"><span>{{SelectButton}}</span></button>
<button type='button' id="sca-btn-{{productID}}" class="sca-button" style="display: none"><span>{{AddToCartButton}}</span></button>
</div>
</div>
</div>
</script>
<script id = "sca_fg_cart_ShowGiftAsProductScriptTemplate" type="text/template">
var selectCallback_{{productID}}=function(t,a){if(t?(t.available?(SECOMAPP.jQuery("#sca-btn-{{productID}}").removeClass("disabled").removeAttr("disabled").html("<span>{{AddToCartButton}}</span>").fadeTo(200,1),SECOMAPP.jQuery("#sca-btn-{{productID}}").unbind("click"),SECOMAPP.jQuery("#sca-btn-{{productID}}").click(SECOMAPP.jQuery.proxy(function(){SECOMAPP.addGiftToCart(t.id,1)},t))):SECOMAPP.jQuery("#sca-btn-{{productID}}").html("<span>{{UnavailableButton}}</span>").addClass("disabled").attr("disabled","disabled").fadeTo(200,.5),t.compare_at_price>t.price?SECOMAPP.jQuery("#price-field-{{productID}}").html("<span class='sca-old-price'>"+SECOMAPP.formatMoney(t.compare_at_price)+"</span> <s class='sca-special-price'>"+SECOMAPP.formatMoney(t.price)+"</s>"):SECOMAPP.jQuery("#price-field-{{productID}}").html("<span class='sca-special-price'>"+SECOMAPP.formatMoney(t.price)+"</span>")):SECOMAPP.jQuery("#sca-btn-{{productID}}").html("<span>{{UnavailableButton}}</span>").addClass("disabled").attr("disabled","disabled").fadeTo(200,.5),t&&t.featured_image){var e=SECOMAPP.jQuery("#sca-freegift-{{productID}} img"),_=t.featured_image,c=e[0];Shopify.Image.switchImage(_,c,function(t,a,e){SECOMAPP.jQuery(e).parents("a").attr("href",t),SECOMAPP.jQuery(e).attr("src",t)})}},onclickSelect_{{productID}}=function(t){SECOMAPP.jQuery.getJSON("/products/{{productHandle}}.js",{_:(new Date).getTime()},function(t){SECOMAPP.jQuery(".owl-item #sca-freegift-{{productID}} span.sca-product-title").html(t.title);var e=[];SECOMAPP.jQuery.each(t.options,function(t,a){e[t]=a.name}),t.options=e;for(var a={{variantsGiftList}},_={{mainVariantsList}},c=t.variants.length-1;-1<c;c--)a.indexOf(t.variants[c].id)<0&&_.indexOf(t.variants[c].id)<0&&t.variants.splice(c,1);for(var o=_.length-1;-1<o;o--){var i=a[o],r=_[o],n=-1,s=-1;for(c=t.variants.length-1;-1<c;c--)t.variants[c].id==i?n=c:t.variants[c].id==r&&(s=c);-1<n&&-1<s&n!==s?("undefined"!=typeof SECOMAPP&&void 0!==SECOMAPP.fgsettings&&!0===SECOMAPP.fgsettings.sca_sync_gift&&void 0!==SECOMAPP.fgsettings.sca_fg_gift_variant_quantity_format&&"equal_original_inventory"===SECOMAPP.fgsettings.sca_fg_gift_variant_quantity_format&&(t.variants[n].available=t.variants[s].available,t.variants[n].inventory_management=t.variants[s].inventory_management),t.variants[n].option1=t.variants[s].option1,t.variants[n].options[0].name=t.variants[s].options[0].name,t.variants[n].options[1]&&(t.variants[n].options[1].name=t.variants[s].options[1].name,t.variants[n].option2=t.variants[s].option2),t.variants[n].options[2]&&(t.variants[n].options[2].name=t.variants[s].options[2].name,t.variants[n].option3=t.variants[s].option3),t.variants[n].title=t.variants[s].title,t.variants[n].name=t.variants[s].name,t.variants[n].public_title=t.variants[s].public_title,t.variants.splice(s,1)):(t.variants[s].id=i,t.variants[s].compare_at_price||(t.variants[s].compare_at_price=t.variants[s].price),t.variants[s].price=SECOMAPP.fgdata.giftid_price_mapping[i])}SECOMAPP.jQuery("#sca-btn-select-{{productID}}").hide(),SECOMAPP.jQuery("#product-select-{{productID}}").show(),SECOMAPP.jQuery("#sca-btn-{{productID}}").show(),SECOMAPP.jQuery("#stay-content-sca-freegift-{{productID}} .close_box").show(),SECOMAPP.jQuery("#stay-content-sca-freegift-{{productID}} .close_box").click(function(){SECOMAPP.jQuery("#stay-content-sca-freegift-{{productID}}").hide(),SECOMAPP.jQuery("#sca-btn-{{productID}}").hide(),SECOMAPP.jQuery("#sca-btn-select-{{productID}}").show()}),onclickSelect_{{productID}}=function(){SECOMAPP.jQuery("#stay-content-sca-freegift-{{productID}}").show(),SECOMAPP.jQuery("#sca-btn-{{productID}}").show(),SECOMAPP.jQuery("#sca-btn-select-{{productID}}").hide()},1==t.variants.length?(-1!==t.variants[0].title.indexOf("Default")&&SECOMAPP.jQuery("#sca-freegift-{{productID}} .selector-wrapper").hide(),1==t.variants[0].available&&(SECOMAPP.jQuery("#sca-btn-{{productID}}").show(),SECOMAPP.jQuery("#sca-btn-select-{{productID}}").hide(),SECOMAPP.jQuery("#sca-btn-{{productID}}").removeClass("disabled").removeAttr("disabled").html("<span>{{AddToCartButton}}</span>").fadeTo(200,1),SECOMAPP.jQuery("#sca-btn-{{productID}}").unbind("click"),SECOMAPP.jQuery("#sca-btn-{{productID}}").click(SECOMAPP.jQuery.proxy(function(){SECOMAPP.addGiftToCart(t.variants[0].id,1)},t)))):(new Shopify.OptionSelectors("product-select-{{productID}}",{product:t,onVariantSelected:selectCallback_{{productID}},enableHistoryState:!0}),SECOMAPP.jQuery("#stay-content-sca-freegift-{{productID}}").show(),SECOMAPP.jQuery("#stay-content-sca-freegift-{{productID}}").focus())})};1=={{variantsGiftList}}.length&&onclickSelect_{{productID}}();
</script>
<script id="sca_fg_cart_ShowGiftAsVariantTemplate" type="text/template">
<div class="item not-sca-qv" id="sca-freegift-{{variantID}}">
<a href="/products/{{productHandle}}?variant={{originalVariantID}}" target="_blank"><img style="margin-left: auto; margin-right: auto; width: 50%;" class="lazyOwl" data-src="{{variantImageURL}}"></a>
<div class="sca-product-shop">
<div class="review-summary3">
<div class="yotpo bottomLine" style="text-align:center"
data-product-id="{{productID}}"
data-product-models="{{productID}}"
data-name="{{productTitle}}"
data-url="/products/{{productHandle}}">
</div>
</div>
<div class="f-fix">
<span class="sca-product-title" style="white-space: nowrap;color:#000;">{{variantTitle}}</span>
<div class="sca-price">
<span class="sca-old-price">{{variant_compare_at_price}}</span>
<span class="sca-special-price">{{variant_price}}</span>
</div>
<button type="button" id="sca-btn{{variantID}}" class="sca-button" onclick="SECOMAPP.addGiftToCart({{variantID}},1);">
<span>{{AddToCartButton}}</span>
</button>
</div>
</div>
</div>
</script>
<script id="sca_fg_prod_GiftList" type="text/template">
<a style="text-decoration: none !important" id ="{{giftShowID}}" class="product-image freegif-product-image freegift-info-{{giftShowID}}"
title="{{giftTitle}}" href="/products/{{productsHandle}}">
<img class="not-sca-qv" src="{{giftImgUrl}}" alt="{{giftTitle}}" />
</a>
</script>
<script id="sca_fg_prod_Gift_PopupDetail" type="text/template">
<div class="sca-fg-item fg-info-{{giftShowID}}" style="display:none;z-index:2147483647;">
<div class="sca-fg-item-options">
<div class="sca-fg-item-option-title">
<em>{{freegiftRuleName}}</em>
</div>
<div class="sca-fg-item-option-ct">
<!-- <div class="sca-fg-image-item">
<img src="{{giftImgUrl}}" /> -->
<div class="sca-fg-item-name">
<a href="#">{{giftTitle}}</a>
</div>
<!-- </div> -->
</div>
</div>
</div>
</script>
<script id="sca_fg_ajax_GiftListPopup" type="text/template">
<div id="freegift_popup" class="mfp-hide">
<div id="sca-fg-owl-carousel">
<div id="freegift_cart_container" class="sca-fg-cart-container" style="display: none;">
<div id="freegift_message" class="owl-carousel"></div>
</div>
<div id="sca-fg-slider-cart" style="display: none;">
<div class="sca-fg-cart-title">
<strong>{{popupTitle}}</strong>
<p class="sca-fg-cart-subtitle">
No returns or exchanges available on free gift items, please make sure you choose the correct launcher (SD or HD).
</p>
</div>
<div id="sca_freegift_list" class="owl-carousel"></div>
</div>
</div>
</div>
</script>
<script id="sca_fg_checkout_confirm_popup" type="text/template">
<div class='sca-fg-checkout-confirm-popup' style='font-family: "Myriad","Cardo","Big Caslon","Bodoni MT",Georgia,serif; position: relative;background: #FFF;padding: 20px 20px 50px 20px;width: auto;max-width: 500px;margin: 20px auto;'>
<h1 style='font-family: "Oswald","Cardo","Big Caslon","Bodoni MT",Georgia,serif;'>YOU CAN STILL ADD MORE!</h1>
<p>You get 1 free item with every product purchased. It looks like you can still add more free item(s) to your cart. What would you like to do?</p>
<p class='sca-fg-checkout-confirm-buttons' style='float: right;'>
<a class='btn popup-modal-dismiss action_button add_to_cart' href='#' style='width: 200px !important;margin-right: 20px;'>ADD MORE</a>
<a class='btn checkout__button continue-checkout action_button add_to_cart' href='/checkout' style='width: 200px !important;'>CHECKOUT</a>
</p>
</div>
</script>
<link href="//byrna.co.za/cdn/shop/t/4/assets/sca.freegift.css?v=95886384710448426421662486093" rel="stylesheet" type="text/css" media="all" />
<script src="//byrna.co.za/cdn/shopifycloud/shopify/assets/themes_support/option_selection-86cdd286ddf3be7e25d68b9fc5965d7798a3ff6228ff79af67b3f4e41d6a34be.js" type="text/javascript"></script>
<script data-cfasync="false">
Shopify.money_format = "R {{amount}}";
//enable checking free gifts condition when checkout clicked
if ((typeof SECOMAPP) === 'undefined') { window.SECOMAPP = {}; };
SECOMAPP.enableOverrideCheckout = true;
// SECOMAPP.preStopAppCallback = function(cart){
// if(typeof yotpo!=='undefined' && typeof yotpo.initWidgets==='function'){
// yotpo.initWidgets();
// }
// }
</script>
<script type="text/javascript">(function(){if(typeof SECOMAPP==="undefined"){SECOMAPP={}};if(typeof Shopify==="undefined"){Shopify={}};SECOMAPP.fg_ver=1656375994;SECOMAPP.fg_scriptfile="freegifts_20220309.min.js";SECOMAPP.gifts_list_avai={"40023143284803":true,"39910431621187":true,"40014956953667":true,"39930716389443":true,"39930716422211":true,"39930716454979":true,"39930716487747":true,"39930716520515":true,"39930730774595":true,"39930730807363":true,"39930730840131":true,"39930730872899":true,"39930730905667":true,"39972263002179":true,"39997689790531":true,"39945261580355":true,"39945261613123":true,"39998908694595":true,"39998908727363":true};})();</script>
<script data-cfasync="false" type="text/javascript">
/* Smart Ecommerce App (SEA Inc)
* http://www.secomapp.com
* Do not reuse those source codes if don't have permission of us.
* */
!function(){Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),"function"!=typeof Object.create&&(Object.create=function(e){function t(){}return t.prototype=e,new t}),Object.keys||(Object.keys=function(e){var t,o=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.push(t);return o}),String.prototype.endsWith||Object.defineProperty(String.prototype,"endsWith",{value:function(e,t){var o=this.toString();(void 0===t||t>o.length)&&(t=o.length),t-=e.length;var r=o.indexOf(e,t);return-1!==r&&r===t},writable:!0,enumerable:!0,configurable:!0}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var o;if(null==this)throw new TypeError('"this" is null or not defined');var r=Object(this),i=r.length>>>0;if(0===i)return-1;var n=+t||0;if(Math.abs(n)===1/0&&(n=0),n>=i)return-1;for(o=Math.max(n>=0?n:i-Math.abs(n),0);o<i;){if(o in r&&r[o]===e)return o;o++}return-1}),Array.prototype.forEach||(Array.prototype.forEach=function(e,t){var o,r;if(null==this)throw new TypeError(" this is null or not defined");var i=Object(this),n=i.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(o=t),r=0;r<n;){var a;r in i&&(a=i[r],e.call(o,a,r,i)),r++}}),console=console||{},console.log=console.log||function(){},"undefined"==typeof Shopify&&(Shopify={}),"function"!=typeof Shopify.onError&&(Shopify.onError=function(){}),"undefined"==typeof SECOMAPP&&(SECOMAPP={}),SECOMAPP.removeGiftsVariant=function(e){setTimeout(function(){try{e("select option").not(".sca-fg-cart-item select option").filter(function(){var t=e(this).val(),o=e(this).text();-1!==o.indexOf(" - ")&&(o=o.slice(0,o.indexOf(" - ")));var r=[];return-1!==o.indexOf(" / ")&&(r=o.split(" / "),o=r[r.length-1]),!!(void 0!==SECOMAPP.gifts_list_avai&&void 0!==SECOMAPP.gifts_list_avai[t]||o.endsWith("% off)"))&&(e(this).parent("select").find("option").not(".sca-fg-cart-item select option").filter(function(){var r=e(this).val();return e(this).text().endsWith(o)||r==t}).remove(),e(".dropdown *,ul li,label,div").filter(function(){var r=e(this).html(),i=e(this).data("value");return r&&r.endsWith(o)||i==t}).remove(),!0)})}catch(e){console.log(e)}},500)},SECOMAPP.formatMoney=function(e,t){"string"==typeof e&&(e=e.replace(".",""));var o="",r="undefined"!=typeof Shopify&&void 0!==Shopify.money_format?Shopify.money_format:"{{amount}}",i=/\{\{\s*(\w+)\s*\}\}/,n=t||(void 0!==this.fgsettings&&"string"==typeof this.fgsettings.sca_currency_format&&this.fgsettings.sca_currency_format.indexOf("amount")>-1?this.fgsettings.sca_currency_format:null)||r;if(n.indexOf("amount_no_decimals_no_comma_separator")<0&&n.indexOf("amount_no_comma_separator_up_cents")<0&&n.indexOf("amount_up_cents")<0&&"function"==typeof Shopify.formatMoney)return Shopify.formatMoney(e,n);function a(e,t){return void 0===e?t:e}function s(e,t,o,r,i,n){if(t=a(t,2),o=a(o,","),r=a(r,"."),isNaN(e)||null==e)return 0;var s=(e=(e/100).toFixed(t)).split(".");return s[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+o)+(s[1]?i&&n?i+s[1]+n:r+s[1]:"")}switch(n.match(i)[1]){case"amount":o=s(e,2);break;case"amount_no_decimals":o=s(e,0);break;case"amount_with_comma_separator":o=s(e,2,",",".");break;case"amount_no_decimals_with_comma_separator":o=s(e,0,",",".");break;case"amount_no_decimals_no_comma_separator":o=s(e,0,"","");break;case"amount_up_cents":o=s(e,2,",","","<sup>","</sup>");break;case"amount_no_comma_separator_up_cents":o=s(e,2,"","","<sup>","</sup>")}return n.replace(i,o)},SECOMAPP.setCookie=function(e,t,o,r,i){var n=new Date;n.setTime(n.getTime()+24*o*60*60*1e3+60*r*1e3);var a="expires="+n.toUTCString();document.cookie=e+"="+t+";"+a+(i?";path="+i:";path=/")},SECOMAPP.deleteCookie=function(e,t){document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; "+(t?";path="+t:";path=/")},SECOMAPP.getCookie=function(e){for(var t=e+"=",o=document.cookie.split(";"),r=0;r<o.length;r++){for(var i=o[r];" "==i.charAt(0);)i=i.substring(1);if(0==i.indexOf(t))return i.substring(t.length,i.length)}return""},SECOMAPP.getQueryString=function(){for(var e={},t=window.location.search.substring(1).split("&"),o=0;o<t.length;o++){var r=t[o].split("=");if(void 0===e[r[0]])e[r[0]]=decodeURIComponent(r[1]);else if("string"==typeof e[r[0]]){var i=[e[r[0]],decodeURIComponent(r[1])];e[r[0]]=i}else e[r[0]].push(decodeURIComponent(r[1]))}return e},SECOMAPP.freegifts_product_json=function(e){if(Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),String.prototype.endsWith||Object.defineProperty(String.prototype,"endsWith",{value:function(e,t){var o=this.toString();(void 0===t||t>o.length)&&(t=o.length),t-=e.length;var r=o.indexOf(e,t);return-1!==r&&r===t}}),e){if(e.options&&Array.isArray(e.options))for(var t=0;t<e.options.length;t++){if(void 0!==e.options[t]&&void 0!==e.options[t].values)if((r=e.options[t]).values&&Array.isArray(r.values))for(var o=0;o<r.values.length;o++)(r.values[o].endsWith("(Freegifts)")||r.values[o].endsWith("% off)"))&&(r.values.splice(o,1),o--)}if(e.options_with_values&&Array.isArray(e.options_with_values))for(t=0;t<e.options_with_values.length;t++){var r;if(void 0!==e.options_with_values[t]&&void 0!==e.options_with_values[t].values)if((r=e.options_with_values[t]).values&&Array.isArray(r.values))for(o=0;o<r.values.length;o++)(r.values[o].title.endsWith("(Freegifts)")||r.values[o].title.endsWith("% off)"))&&(r.values.splice(o,1),o--)}var i=e.price,n=e.price_max,a=e.price_min,s=e.compare_at_price,c=e.compare_at_price_max,f=e.compare_at_price_min;if(e.variants&&Array.isArray(e.variants))for(var p=0;e.variants.length,void 0!==e.variants[p];p++){var l=e.variants[p],u=l.option3?l.option3:l.option2?l.option2:l.option1?l.option1:l.title?l.title:"";"undefined"!=typeof SECOMAPP&&void 0!==SECOMAPP.gifts_list_avai&&void 0!==SECOMAPP.gifts_list_avai[l.id]||u.endsWith("(Freegifts)")||u.endsWith("% off)")?(e.variants.splice(p,1),p-=1):((!n||n>=l.price)&&(n=l.price,i=l.price),(!a||a<=l.price)&&(a=l.price),l.compare_at_price&&((!c||c>=l.compare_at_price)&&(c=l.compare_at_price,s=l.compare_at_price),(!f||f<=l.compare_at_price)&&(f=l.compare_at_price)),void 0!==l.available&&1==l.available&&(e.available=!0))}e.price=i,e.price_max=a==n?null:a,e.price_min=n==a?null:n,e.compare_at_price=s,e.compare_at_price_max=f,e.compare_at_price_min=c,e.price_varies=n<a,e.compare_at_price_varies=c<f}return e},SECOMAPP.fg_codes=[],""!==SECOMAPP.getCookie("sca_fg_codes")&&(SECOMAPP.fg_codes=JSON.parse(SECOMAPP.getCookie("sca_fg_codes")));var e=SECOMAPP.getQueryString();e.freegifts_code&&-1===SECOMAPP.fg_codes.indexOf(e.freegifts_code)&&(void 0!==SECOMAPP.activateOnlyOnePromoCode&&!0===SECOMAPP.activateOnlyOnePromoCode&&(SECOMAPP.fg_codes=[]),SECOMAPP.fg_codes.push(e.freegifts_code),SECOMAPP.setCookie("sca_fg_codes",JSON.stringify(SECOMAPP.fg_codes)))}();
;SECOMAPP.customer={};SECOMAPP.customer.orders=[];SECOMAPP.customer.freegifts=[];;SECOMAPP.customer.email=null;SECOMAPP.customer.first_name=null;SECOMAPP.customer.last_name=null;SECOMAPP.customer.tags=null;SECOMAPP.customer.orders_count=null;SECOMAPP.customer.total_spent=null;
</script>
<script>
var variantStock = {};
</script>
<script id="otRegion" type="text/javascript">
document.addEventListener('DOMContentLoaded', (event) => {
otRegionShop = Shopify.shop;
let otRegionRootLink =
"https://apps.synctrack.io/region-restrictions";
let otRegionBody = document.querySelector("body");
let otRegionHead = document.querySelector("head");
let otRegionContent = document.createElement("div");
let otRegionDomBlockIP = localStorage.getItem("otRegionDomBlockIP");
let otRegionAutoBlock = localStorage.getItem("otRegionAutoBlock");
let otRegionTypeBlock = localStorage.getItem("otRegionTypeBlock");
let otRegionDomBlockCollection = JSON.parse(
localStorage.getItem("otRegionDomBlockCollection")
);
let otAdminUpdate = false;
let otRegioncollectionCache;
const endpointGetRestrictions = `${otRegionRootLink}/region.php?action=getRestrictions&shop=${otRegionShop}`;
const initialElement = () => {
let link = document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.href = `${otRegionRootLink}/assets/css/region.css`;
otRegionContent.classList.add("ot-redirect");
otRegionHead.appendChild(link);
otRegionBody.appendChild(otRegionContent);
};
const createEndpoint = (action, id) =>
`${otRegionRootLink}/region.php?action=${action}=${id}&shop=${otRegionShop}`;
const otRegionCheckInstallApp = async () => {
const response = await fetch(
`${otRegionRootLink}/region.php?action=checkInstallApp&shop=${otRegionShop}`
);
const data = await response.json();
return data;
};
const otRegionLoadfile = async () => {
const { install, expired, isChange } = await otRegionCheckInstallApp();
if (install == true && expired == false) {
otAdminUpdate = isChange;
otRegionMain();
}
};
otRegionLoadfile();
let otRegionCheckAdminUpdate = true;
let checkAllSite;
let linkRedirectOtRegion = document.createElement('meta');
linkRedirectOtRegion.setAttribute('http-equiv', 'refresh');
const changeDom = (data, page, id) => {
localStorage.setItem('otRegionAutoBlock', data.autoBlock);
localStorage.setItem('otRegionTypeBlock', data.typeBlock);
let res = regexScriptTag(data.html);
data.html.startsWith('linkHref=')
? addMetaRedirect(
data.html.slice(data.html.indexOf('=') + 1, data.html.length)
)
: otInitialElement(res);
if (page == 'home') {
localStorage.setItem('otRegionDomBlockIP', data.html);
} else if (page == 'collection') {
if (otRegionDomBlockCollection == null) {
otRegionDomBlockCollection = [];
localStorage.setItem(
'otRegionDomBlockCollection',
JSON.stringify([{ value: data.html, idCollection: id }])
);
} else {
if (
otRegionDomBlockCollection.find((item) => item.id == id) !== undefined
) {
const newCollection = otRegionDomBlockCollection.map((item) =>
item.id == id ? { value: data.html, idCollection: id } : item
);
localStorage.setItem(
'otRegionDomBlockCollection',
JSON.stringify(newCollection)
);
} else {
localStorage.setItem(
'otRegionDomBlockCollection',
JSON.stringify([
...otRegionDomBlockCollection,
{ value: data.html, idCollection: id },
])
);
}
}
}
};
const handleDomCache = (data) => {
handleIpCandidateDynamic(data);
if (data !== '') {
fetch(
`${otRegionRootLink}/region.php?action=updateStatistic&shop=${otRegionShop}`
);
}
};
const handleIpCandidate = () => {
// Handle optimize perform
// Construct a new RTCPeerConnection
let pc = new RTCPeerConnection({});
let candidates = [];
// listen for candidate events
pc.onicecandidate = (e) => {
if (!e.candidate) {
return;
}
candidates.push(
convertCandidateOutput(e.candidate.candidate.split(' ')[0])
);
localStorage.setItem(
'otRegionIpcandidate',
JSON.stringify([{ ipCandidate: candidates[0] }])
);
};
pc.createDataChannel('');
pc.createOffer().then((offer) => pc.setLocalDescription(offer));
};
const checkResPonseBlockAllSite = (data) => (data == '' ? true : false);
function fetchApiHandleDom(url, page, id) {
fetch(url)
.then((res) => res.json())
.then((data) => {
data.typeBlock == '1' && localStorage.setItem('otRegionIp', data.ipFirst);
handleIpCandidate();
checkAllSite =
page === 'home' ? checkResPonseBlockAllSite(data.html) : true;
changeDom(data, page, id);
});
}
const checkCollectionInBlock = (id, dom) => {
if (dom === null) {
return true;
} else {
let collectionBlock = dom.filter((item) => item.idCollection == id);
if (collectionBlock.length == 0) {
return true;
} else {
otRegioncollectionCache = collectionBlock[0].value;
return false;
}
}
};
const regionInit = async () => {
let keysToRemove = [
'otRegionDomBlockIP',
'otRegionDomBlockCollection',
'otRegionIpcandidate',
'otRegionAutoBlock',
'otRegionTypeBlock',
'otRegionIp',
];
keysToRemove.forEach((k) => localStorage.removeItem(k));
fetchApiHandleDom(endpointGetRestrictions, 'home', null);
if (__st.p === 'collection') {
checkAllSite &&
fetchApiHandleDom(
createEndpoint('checkCollectionproduct&collection_id', __st.rid),
'collection',
__st.rid
);
}
if (__st.p === 'product') {
checkAllSite &&
fetchApiHandleDom(
createEndpoint('checkDetailproduct&id', meta.product.id),
'product',
null
);
}
};
const otRegionMain = () => {
handleBlockContent();
if (otAdminUpdate) {
regionInit();
} else {
let otRegionIpcandidate = localStorage.getItem('otRegionIpcandidate');
if (otRegionIpcandidate !== null && otRegionDomBlockIP !== null) {
handleDomCache(otRegionDomBlockIP);
if (__st.p === 'collection') {
if (otRegionDomBlockIP === '') {
checkCollectionInBlock(__st.rid, otRegionDomBlockCollection)
? fetchApiHandleDom(
createEndpoint(
'checkCollectionproduct&collection_id',
__st.rid
),
'collection',
__st.rid
)
: handleDomCache(otRegioncollectionCache);
}
}
if (__st.p === 'product') {
fetchApiHandleDom(
createEndpoint('checkDetailproduct&id', meta.product.id),
'product',
null
);
}
} else {
regionInit();
}
}
};
// helper
function handleBlockContent() {
const oTBlockContent = otFetchApiBlockContent(
`${otRegionRootLink}/region.php?action=blockContent&shop=${otRegionShop}`
);
oTBlockContent.then((data) => {
const isBlockContent = data.block_content == '1';
const isBlockPhoto = data.block_photo == '1';
document.addEventListener('copy', function (e) {
if (isBlockContent) {
e.preventDefault();
e.clipboardData.setData(
'text/plain',
"Do not copy this site's content!"
);
}
});
document.addEventListener('cut', function (e) {
if (isBlockContent) {
e.preventDefault();
e.clipboardData.setData(
'text/plain',
"Do not cut this site's content!"
);
}
});
document.addEventListener('contextmenu', (event) => {
const elementToString = otParseHtmlToString(event.target);
const isImg = oTGetImages(elementToString.length);
if (isBlockPhoto) {
if (isImg) {
event.preventDefault();
}
}
// if (isBlockContent) {
// event.preventDefault();
// }
});
document.onkeydown = (e) => {
if (isBlockContent || isBlockPhoto) {
if (
e.keyCode === 123 ||
ctrlShiftKey(e, 'I') ||
ctrlShiftKey(e, 'J') ||
ctrlShiftKey(e, 'C') ||
(e.ctrlKey && e.keyCode === 'U'.charCodeAt(0))
)
return false;
}
};
});
function otParseHtmlToString(element) {
return element.outerHTML;
}
function oTGetImages(string) {
const imgRex = /<img.*?src="(.*?)"[^>]+>/g;
const images = [];
let img;
while ((img = imgRex.exec(string))) {
images.push(img[1]);
}
return images;
}
async function otFetchApiBlockContent(url) {
const response = await fetch(url);
const data = await response.json();
return data;
}
}
function handleIpCandidateDynamic(data) {
let otRegionIpcandidate = localStorage.getItem('otRegionIpcandidate');
let otRegionIp = localStorage.getItem('otRegionIp');
let otRegionTypeBlock = localStorage.getItem('otRegionTypeBlock');
let otRegionAutoBlock = localStorage.getItem('otRegionAutoBlock');
let arrayIP = JSON.parse(otRegionIpcandidate);
// Handle optimize perform
// Construct a new RTCPeerConnection
let pc = new RTCPeerConnection({});
let candidates = [];
// listen for candidate events
pc.onicecandidate = (e) => {
if (!e.candidate) {
return;
}
candidates.push(
convertCandidateOutput(e.candidate.candidate.split(' ')[0])
);
if (otRegionAutoBlock == '1' && otRegionTypeBlock == '1') {
if (data !== '') {
renderDomCache(data);
if (!checkIpCandidateInArr(arrayIP, candidates[0])) {
let newArrIp = [...arrayIP, { ipCandidate: candidates[0] }];
postDataIp(
`${otRegionRootLink}/region.php?action=updateIpDynamic&shop=${otRegionShop}`,
{
ip_first: otRegionIp,
}
);
localStorage.setItem('otRegionIpcandidate', JSON.stringify(newArrIp));
}
} else {
!checkIpCandidateInArr(arrayIP, candidates[0])
? regionInit()
: renderDomCache(data);
}
} else {
!checkIpCandidateInArr(arrayIP, candidates[0]) && otRegionTypeBlock == '1'
? regionInit()
: renderDomCache(data);
}
};
pc.createDataChannel('');
pc.createOffer().then((offer) => pc.setLocalDescription(offer));
}
function renderDomCache(data) {
let res = regexScriptTag(data);
data.startsWith('linkHref=')
? addMetaRedirect(data.slice(data.indexOf('=') + 1, data.length))
: otInitialElement(res);
}
function convertCandidateOutput(candidate) {
return candidate.slice(candidate.indexOf(':') + 1, candidate.length);
}
function checkIpCandidateInArr(arrayIP, candidate) {
return arrayIP.some(
(item) => item.ipCandidate == convertCandidateOutput(candidate)
);
}
async function postDataIp(url = '', data = {}) {
// Default options are marked with *
const response = await fetch(url, {
method: 'POST',
mode: 'cors',
cache: 'no-cache',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data), // body data type must match "Content-Type" header
});
return response; // parses JSON response into native JavaScript objects
}
function regexScriptTag(data) {
let startScript = /<script\b[^>]*>/gm;
let endScript = /<\/script>/gm;
let res = data
.replaceAll(startScript, '<script>')
.replaceAll(endScript, '</script>');
return res;
}
function addMetaRedirect(linkRedirect) {
linkRedirectOtRegion.setAttribute('http-equiv', 'refresh');
linkRedirectOtRegion.setAttribute('content', `0; url=${linkRedirect}`);
document.getElementsByTagName('head')[0].appendChild(linkRedirectOtRegion);
}
function otInitialElement(res) {
let d = new Date();
let ver = d.getTime();
let otRegionBody = document.querySelector('body');
let otRegionHead = document.querySelector('head');
let otRegionContent = document.createElement('div');
let link = document.createElement('link');
link.type = 'text/css';
link.rel = 'stylesheet';
link.href = `${otRegionRootLink}/assets/css/region.css?v=${ver}`;
otRegionContent.classList.add('ot-redirect');
otRegionHead.appendChild(link);
otRegionBody.appendChild(otRegionContent);
otRegionContent.innerHTML = res;
res !== '' && otRegionBody.classList.add('stopScrolling');
}
});
</script>
<!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
<script async src="https://static.klaviyo.com/onsite/js/W8SFAa/klaviyo.js?company_id=W8SFAa"></script>
<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
<script>
window.klaviyoReviewsProductDesignMode = false
</script>
<!-- END app app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<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: 59576090756,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>
<script id="web-pixels-manager-setup">(function d(d,e,r,a,n){var o,i,t,s,l=(i=(o={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:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-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:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,t=o.legacy,s=navigator.userAgent,i.test(s)?"modern":(t.test(s),"legacy"));window.Shopify=window.Shopify||{};var c=window.Shopify;c.analytics=c.analytics||{};var u=c.analytics;u.replayQueue=[],u.publish=function(d,e,r){return u.replayQueue.push([d,e,r]),!0};try{self.performance.mark("wpm:start")}catch(d){}var h=[r,"/wpm","/b",n,l.substring(0,1),".js"].join("");!function(d){var e=d.src,r=d.async,a=void 0===r||r,n=d.onload,o=d.onerror,i=document.createElement("script"),t=document.head,s=document.body;i.async=a,i.src=e,n&&i.addEventListener("load",n),o&&i.addEventListener("error",o),t?t.appendChild(i):s?s.appendChild(i):console.error("Did not find a head or body element to append the script")}({src:h,async:!0,onload:function(){var r=window.webPixelsManager.init(d);e(r);var a=window.Shopify.analytics;a.replayQueue.forEach((function(d){var e=d[0],a=d[1],n=d[2];r.publishCustomEvent(e,a,n)})),a.replayQueue=[],a.publish=r.publishCustomEvent,a.visitor=r.visitor},onerror:function(){var e=d.storefrontBaseUrl.replace(/\/$/,""),r="".concat(e,"/.well-known/shopify/monorail/unstable/produce_batch"),n=JSON.stringify({metadata:{event_sent_at_ms:(new Date).getTime()},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:a||"latest",bundle_target:l,page_url:self.location.href,status:"failed",surface:d.surface,error_msg:"".concat(h," has failed to load")},metadata:{event_created_at_ms:(new Date).getTime()}}]});try{if(self.navigator.sendBeacon.bind(self.navigator)(r,n))return!0}catch(d){}var o=new XMLHttpRequest;try{return o.open("POST",r,!0),o.setRequestHeader("Content-Type","text/plain"),o.send(n),!0}catch(d){console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging a load error.")}return!1}})})({shopId: 59576090756,storefrontBaseUrl: "https://byrna.co.za",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Byrna South Africa","paymentSettings":{"currencyCode":"ZAR"},"myshopifyDomain":"byrna-south-africa.myshopify.com","countryCode":"ZA","storefrontUrl":"https:\/\/byrna.co.za"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});},"https://byrna.co.za/cdn","197cd42ad7ab868de58b6bcb07f9e270c5ea6f17","d9f539ffw0e1474c4pae8b6d69m179c86ad",);</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {};
window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
window.ShopifyAnalytics.meta.currency = 'ZAR';
var meta = {"page":{"pageType":"home"}};
for (var attr in meta) {
window.ShopifyAnalytics.meta[attr] = meta[attr];
}</script>
<script>window.ShopifyAnalytics.merchantGoogleAnalytics = function() {
};
</script>
<script class="analytics">(window.gaDevIds=window.gaDevIds||[]).push('BwiEti');
(function () {
var customDocumentWrite = function(content) {
var jquery = null;
if (window.jQuery) {
jquery = window.jQuery;
} else if (window.Checkout && window.Checkout.$) {
jquery = window.Checkout.$;
}
if (jquery) {
jquery('body').append(content);
}
};
var hasLoggedConversion = function(token) {
if (token) {
return document.cookie.indexOf('loggedConversion=' + token) !== -1;
}
return false;
}
var setCookieIfConversion = function(token) {
if (token) {
var twoMonthsFromNow = new Date(Date.now());
twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
}
}
var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
if (trekkie.integrations) {
return;
}
trekkie.methods = [
'identify',
'page',
'ready',
'track',
'trackForm',
'trackLink'
];
trekkie.factory = function(method) {
return function() {
var args = Array.prototype.slice.call(arguments);
args.unshift(method);
trekkie.push(args);
return trekkie;
};
};
for (var i = 0; i < trekkie.methods.length; i++) {
var key = trekkie.methods[i];
trekkie[key] = trekkie.factory(key);
}
trekkie.load = function(config) {
trekkie.config = config || {};
trekkie.config.initialDocumentCookie = document.cookie;
var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
var scriptFallback = document.createElement('script');
scriptFallback.type = 'text/javascript';
scriptFallback.onerror = function(error) {
var Monorail = {
produce: function produce(monorailDomain, schemaId, payload) {
var currentMs = new Date().getTime();
var event = {
schema_id: schemaId,
payload: payload,
metadata: {
event_created_at_ms: currentMs,
event_sent_at_ms: currentMs
}
};
return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
},
sendRequest: function sendRequest(endpointUrl, payload) {
// Try the sendBeacon API
if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
var blobData = new window.Blob([payload], {
type: 'text/plain'
});
if (window.navigator.sendBeacon(endpointUrl, blobData)) {
return true;
} // sendBeacon was not successful
} // XHR beacon
var xhr = new XMLHttpRequest();
try {
xhr.open('POST', endpointUrl);
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send(payload);
} catch (e) {
console.log(e);
}
return false;
},
isIos12: function isIos12() {
return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
}
};
Monorail.produce('monorail-edge.shopifysvc.com',
'trekkie_storefront_load_errors/1.1',
{shop_id: 59576090756,
theme_id: 127227953284,
app_name: "storefront",
context_url: window.location.href,
source_url: "//byrna.co.za/cdn/s/trekkie.storefront.a8ef5c2c4f1c6e0839c6b8857d0a2edb7d22d961.min.js"});
};
scriptFallback.async = true;
scriptFallback.src = '//byrna.co.za/cdn/s/trekkie.storefront.a8ef5c2c4f1c6e0839c6b8857d0a2edb7d22d961.min.js';
first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//byrna.co.za/cdn/s/trekkie.storefront.a8ef5c2c4f1c6e0839c6b8857d0a2edb7d22d961.min.js';
first.parentNode.insertBefore(script, first);
};
trekkie.load(
{"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":59576090756,"isMerchantRequest":null,"themeId":127227953284,"themeCityHash":"18429040896068943395","contentLanguage":"en","currency":"ZAR"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Google Analytics":{"trackingId":"UA-143777857-3","domain":"auto","siteSpeedSampleRate":"10","enhancedEcommerce":true,"doubleClick":true,"includeSearch":true},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
);
var loaded = false;
trekkie.ready(function() {
if (loaded) return;
loaded = true;
window.ShopifyAnalytics.lib = window.trekkie;
ga('require', 'linker');
function addListener(element, type, callback) {
if (element.addEventListener) {
element.addEventListener(type, callback);
}
else if (element.attachEvent) {
element.attachEvent('on' + type, callback);
}
}
function decorate(event) {
event = event || window.event;
var target = event.target || event.srcElement;
if (target && (target.getAttribute('action') || target.getAttribute('href'))) {
ga(function (tracker) {
var linkerParam = tracker.get('linkerParam');
document.cookie = '_shopify_ga=' + linkerParam + '; ' + 'path=/';
});
}
}
addListener(window, 'load', function(){
for (var i=0; i < document.forms.length; i++) {
var action = document.forms[i].getAttribute('action');
if(action && action.indexOf('/cart') >= 0) {
addListener(document.forms[i], 'submit', decorate);
}
}
for (var i=0; i < document.links.length; i++) {
var href = document.links[i].getAttribute('href');
if(href && href.indexOf('/checkout') >= 0) {
addListener(document.links[i], 'click', decorate);
}
}
});
var originalDocumentWrite = document.write;
document.write = customDocumentWrite;
try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
document.write = originalDocumentWrite;
window.ShopifyAnalytics.lib.page(null,{"pageType":"home"});
var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
var token = match? match[1]: undefined;
if (!hasLoggedConversion(token)) {
setCookieIfConversion(token);
}
});
var eventsListenerScript = document.createElement('script');
eventsListenerScript.async = true;
eventsListenerScript.src = "//byrna.co.za/cdn/shopifycloud/shopify/assets/shop_events_listener-61fa9e0a912c675e178777d2b27f6cbd482f8912a6b0aa31fa3515985a8cd626.js";
document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script class="boomerang">
(function () {
window.BOOMR = window.BOOMR || {};
window.BOOMR.themeName = "Debut";
window.BOOMR.themeVersion = "13.1.0";
window.BOOMR.shopId = 59576090756;
window.BOOMR.themeId = 127227953284;
})();</script>
<script
defer
src="https://byrna.co.za/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.0.1.min.js"
data-application="storefront-renderer"
data-shop-id="59576090756"
data-render-region="gcp-europe-west1"
data-page-type="index"
data-theme-instance-id="127227953284"
data-monorail-region="shop_domain"
data-resource-timing-sampling-rate="10"
></script>
</head>
Byrna South Africa - Less Lethal Products
Recherche META Description de la page
Discover the ultimate less-lethal self-defense solution with Byrna South Africa. Explore our range of less-lethal self-defense weapons designed to empower and protect. From pepper sprays to chemical pepper and teargas projectiles, equip yourself with the tools you need for safety and confidence in any situation. Shop n
Recherche META Keywords de la page
UPDATE DOMAINES SET server='cloudflare',redirection='https://byrna.co.za/',Status='200',err='',[TITRE]=N'Byrna South Africa - Less Lethal Products',[DESCRIPTION]=N'Discover the ultimate less-lethal self-defense solution with Byrna South Africa. Explore our range of less-lethal self-defense weapons designed to empower and protect. From pepper sprays to chemical pepper and teargas projectiles, equip yourself with the tools you need for safety and confidence in any situation. Shop n',[KEYWORDS]=N'' WHERE id=36100073
0 Byrna South Africa - Less Lethal Products Discover the ultimate less-lethal self-defense solution with Byrna South Africa. Explore our range of less-lethal self-defense weapons designed to empower and protect. From pepper sprays to chemical pepper and teargas projectiles equip yourself with the tools you need for safety and confidence in any situation. Shop n
0. Byrna (5)--------->0
1. South (5)--------->0
2. Africa (6)--------->0
3. - (1)--------->0
4. Less (4)--------->0
5. Lethal (6)--------->0
6. Products (8)--------->0
7. Discover (8)--------->0
8. the (3)--------->0
9. ultimate (8)--------->0
10. less-lethal (11)--------->0
11. self-defense (12)--------->0
12. solution (8)--------->0
13. with (4)--------->0
17. Explore (7)--------->0
18. our (3)--------->0
19. range (5)--------->0
20. of (2)--------->0
23. weapons (7)--------->0
24. designed (8)--------->0
25. to (2)--------->0
26. empower (7)--------->0
27. and (3)--------->0
28. protect (7)--------->0
29. From (4)--------->0
30. pepper (6)--------->0
31. sprays (6)--------->0
33. chemical (8)--------->0
36. teargas (7)--------->0
37. projectiles (11)--------->0
39. equip (5)--------->0
40. yourself (8)--------->0
43. tools (5)--------->0
44. you (3)--------->0
45. need (4)--------->0
46. for (3)--------->0
47. safety (6)--------->0
49. confidence (10)--------->0
50. in (2)--------->0
51. any (3)--------->0
52. situation (9)--------->0
53. Shop (4)--------->0
54. n (1)--------->0
INSERT INTO KEYWORDS (keyword,id_domaine) VALUES (N'Byrna',36100073),(N'South',36100073),(N'Africa',36100073),(N'-',36100073),(N'Less',36100073),(N'Lethal',36100073),(N'Products',36100073),(N'Discover',36100073),(N'the',36100073),(N'ultimate',36100073),(N'less-lethal',36100073),(N'self-defense',36100073),(N'solution',36100073),(N'with',36100073),(N'Explore',36100073),(N'our',36100073),(N'range',36100073),(N'of',36100073),(N'weapons',36100073),(N'designed',36100073),(N'to',36100073),(N'empower',36100073),(N'and',36100073),(N'protect',36100073),(N'From',36100073),(N'pepper',36100073),(N'sprays',36100073),(N'chemical',36100073),(N'teargas',36100073),(N'projectiles',36100073),(N'equip',36100073),(N'yourself',36100073),(N'tools',36100073),(N'you',36100073),(N'need',36100073),(N'for',36100073),(N'safety',36100073),(N'confidence',36100073),(N'in',36100073),(N'any',36100073),(N'situation',36100073),(N'Shop',36100073),(N'n',36100073)