301 status code means that the requested resource has been permanently moved to a new URL. All future requests should use the new address.
The browser will automatically redirect the user to the new address, and search engines will update their indexes.
200 status code is a standard successful HTTP server response. It means that the client’s request (e.g., from a browser) was successfully processed, and the server is delivering the requested data.
The user receives content without errors, and the page or application functions properly. If Code 200 is accompanied by data, the browser or program processes and displays it to the user.
GET / HTTP/1.1 Host: m5t.com Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!doctype html> <html class="no-js" lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="theme-color" content=""> <link rel="canonical" href="https://www.m5t.com/"> <link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> M5 Technologies - A global leader in telecommunications solutions </title> <meta name="description" content="M5 Technologies, a global telecom leader based in Sherbrooke, delivers ISO 9001/14001-certified SBCs and ATA gateways. Microsoft-certified and compliant with MIL-STD-810/461, ITAR, FIPS 140-2/3, AES-256, SRTP, ISED, CGSB, FCC, CE, AQAP, EN standards, EU Dual-Use, NOM-NYCE, ANATEL, and UL."> <meta property="og:site_name" content="M5 Technologies"> <meta property="og:url" content="https://www.m5t.com/"> <meta property="og:title" content="M5 Technologies - A global leader in telecommunications solutions"> <meta property="og:type" content="website"> <meta property="og:description" content="M5 Technologies, a global telecom leader based in Sherbrooke, delivers ISO 9001/14001-certified SBCs and ATA gateways. Microsoft-certified and compliant with MIL-STD-810/461, ITAR, FIPS 140-2/3, AES-256, SRTP, ISED, CGSB, FCC, CE, AQAP, EN standards, EU Dual-Use, NOM-NYCE, ANATEL, and UL."><meta property="og:image" content="http://www.m5t.com/cdn/shop/files/Logo_m5_technologies.png?height=628&pad_color=ffffff&v=1730415458&width=1200"> <meta property="og:image:secure_url" content="https://www.m5t.com/cdn/shop/files/Logo_m5_technologies.png?height=628&pad_color=ffffff&v=1730415458&width=1200"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="628"><meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="M5 Technologies - A global leader in telecommunications solutions"> <meta name="twitter:description" content="M5 Technologies, a global telecom leader based in Sherbrooke, delivers ISO 9001/14001-certified SBCs and ATA gateways. Microsoft-certified and compliant with MIL-STD-810/461, ITAR, FIPS 140-2/3, AES-256, SRTP, ISED, CGSB, FCC, CE, AQAP, EN standards, EU Dual-Use, NOM-NYCE, ANATEL, and UL."> <script src="//www.m5t.com/cdn/shop/t/3/assets/constants.js?v=95358004781563950421681796624" defer="defer"></script> <script src="//www.m5t.com/cdn/shop/t/3/assets/pubsub.js?v=2921868252632587581681796625" defer="defer"></script> <script src="//www.m5t.com/cdn/shop/t/3/assets/global.js?v=127210358271191040921681796624" 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="/52830306468/digital_wallets/dialog"> <link rel="alternate" hreflang="x-default" href="https://www.m5t.com/"> <link rel="alternate" hreflang="en-US" href="https://www.m5t.com/en-us"> <link rel="alternate" hreflang="en-CA" href="https://www.m5t.com/"> <script async="async" src="/checkouts/internal/preloads.js?locale=en-CA"></script> <script id="shopify-features" type="application/json">{"accessToken":"347b2091b6925cd75f74cb0667b4d4ae","betas":["rich-media-storefront-analytics"],"domain":"www.m5t.com","predictiveSearch":true,"shopId":52830306468,"locale":"en"}</script> <script>var Shopify = Shopify || {}; Shopify.shop = "m5-technologies.myshopify.com"; Shopify.locale = "en"; Shopify.currency = {"active":"CAD","rate":"1.0"}; Shopify.country = "CA"; Shopify.theme = {"name":"Dawn","id":137940730020,"schema_name":"Dawn","schema_version":"9.0.0","theme_store_id":887,"role":"main"}; Shopify.theme.handle = "null"; Shopify.theme.style = {"id":null,"handle":null}; Shopify.cdnHost = "www.m5t.com/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":52830306468,"offset":-14400,"reqid":"26770db9-7159-41e5-bf9b-18b45bca0da8-1746845933","pageurl":"www.m5t.com\/","u":"e35c777cfa07","p":"home"};</script> <script>window.ShopifyPaypalV4VisibilityTracking = true;</script> <script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script> <script integrity="sha256-w1TMG8bx+vw+BuOfT7Dh2avfdjByyjlNYGyp9vJB5oo=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.m5t.com/cdn/shopifycloud/shopify/assets/storefront/load_feature-c354cc1bc6f1fafc3e06e39f4fb0e1d9abdf763072ca394d606ca9f6f241e68a.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://www.m5t.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; </script> <script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); </script> <script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); </script> <script id='scb4127' type='text/javascript' async='' src='https://www.m5t.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script><script id="sections-script" data-sections="header" defer="defer" src="//www.m5t.com/cdn/shop/t/3/compiled_assets/scripts.js?1786"></script> <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script> <style data-shopify> @font-face { font-family: Assistant; font-weight: 400; font-style: normal; font-display: swap; src: url("//www.m5t.com/cdn/fonts/assistant/assistant_n4.bcd3d09dcb631dec5544b8fb7b154ff234a44630.woff2?h1=bTUtdGVjaG5vbG9naWVzLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=bWVkaWE1Y29ycC5jb20&h3=bTV0LmNvbQ&hmac=54e8bd5ab151387ec1c16dfffaa3b2992cafe9568f7c7904ec07c73a891c6cc7") format("woff2"), url("//www.m5t.com/cdn/fonts/assistant/assistant_n4.a2d012304becc2a26f1ded1acc136fcab85c9afd.woff?h1=bTUtdGVjaG5vbG9naWVzLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=bWVkaWE1Y29ycC5jb20&h3=bTV0LmNvbQ&hmac=48e475091926d6810c298f201ff1f31abfc0da1045456e772ba3f1ad0839f6d0") format("woff"); } @font-face { font-family: Assistant; font-weight: 700; font-style: normal; font-display: swap; src: url("//www.m5t.com/cdn/fonts/assistant/assistant_n7.3335c7bdaddf2501ddab87cdbd9be98f3870e10d.woff2?h1=bTUtdGVjaG5vbG9naWVzLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=bWVkaWE1Y29ycC5jb20&h3=bTV0LmNvbQ&hmac=b59bb8c10e232d12346b42f54743fa817557678de589c14ce09da9d23402542d") format("woff2"), url("//www.m5t.com/cdn/fonts/assistant/assistant_n7.7c85f5c5cc1555de92cc7ef2790ee3cffe5237f5.woff?h1=bTUtdGVjaG5vbG9naWVzLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=bWVkaWE1Y29ycC5jb20&h3=bTV0LmNvbQ&hmac=6fd43930cd975402b936c067982e932a7e5e6b0dc458efe651e42a596e37d4b5") format("woff"); } @font-face { font-family: Helvetica; font-weight: 400; font-style: normal; font-display: swap; src: url("//www.m5t.com/cdn/fonts/helvetica/helvetica_n4.fe093fe9ca22a15354813c912484945a36b79146.woff2?h1=bTUtdGVjaG5vbG9naWVzLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=bWVkaWE1Y29ycC5jb20&h3=bTV0LmNvbQ&hmac=f296c72bba03c4541bb87a8cc0ac18262d8f13f05a82c4253b105ca12ee576d8") format("woff2"), url("//www.m5t.com/cdn/fonts/helvetica/helvetica_n4.8bddb85c18a0094c427a9bf65dee963ad88de4e8.woff?h1=bTUtdGVjaG5vbG9naWVzLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=bWVkaWE1Y29ycC5jb20&h3=bTV0LmNvbQ&hmac=469b6e0f1acbef26bf6e266d6ec09fd39abf07c0c6fbec8483406b503f29ea5e") format("woff"); } :root { --font-body-family: Assistant, sans-serif; --font-body-style: normal; --font-body-weight: 400; --font-body-weight-bold: 700; --font-heading-family: Helvetica, 'Helvetica Neue', Arial, 'Lucida Grande', sans-serif; --font-heading-style: normal; --font-heading-weight: 400; --font-body-scale: 1.0; --font-heading-scale: 1.0; --color-base-text: 56, 56, 57; --color-shadow: 56, 56, 57; --color-base-background-1: 255, 255, 255; --color-base-background-2: 243, 243, 243; --color-base-solid-button-labels: 255, 255, 255; --color-base-outline-button-labels: 56, 56, 57; --color-base-accent-1: 56, 56, 57; --color-base-accent-2: 56, 56, 57; --payment-terms-background-color: #ffffff; --gradient-base-background-1: #ffffff; --gradient-base-background-2: #f3f3f3; --gradient-base-accent-1: #383839; --gradient-base-accent-2: #383839; --media-padding: px; --media-border-opacity: 0.05; --media-border-width: 1px; --media-radius: 0px; --media-shadow-opacity: 0.0; --media-shadow-horizontal-offset: 0px; --media-shadow-vertical-offset: 4px; --media-shadow-blur-radius: 5px; --media-shadow-visible: 0; --page-width: 110rem; --page-width-margin: 0rem; --product-card-image-padding: 0.0rem; --product-card-corner-radius: 0.0rem; --product-card-text-alignment: left; --product-card-border-width: 0.0rem; --product-card-border-opacity: 0.1; --product-card-shadow-opacity: 0.0; --product-card-shadow-visible: 0; --product-card-shadow-horizontal-offset: 0.0rem; --product-card-shadow-vertical-offset: 0.4rem; --product-card-shadow-blur-radius: 0.5rem; --collection-card-image-padding: 0.0rem; --collection-card-corner-radius: 0.0rem; --collection-card-text-alignment: left; --collection-card-border-width: 0.0rem; --collection-card-border-opacity: 0.1; --collection-card-shadow-opacity: 0.0; --collection-card-shadow-visible: 0; --collection-card-shadow-horizontal-offset: 0.0rem; --collection-card-shadow-vertical-offset: 0.4rem; --collection-card-shadow-blur-radius: 0.5rem; --blog-card-image-padding: 0.0rem; --blog-card-corner-radius: 0.0rem; --blog-card-text-alignment: left; --blog-card-border-width: 0.0rem; --blog-card-border-opacity: 0.1; --blog-card-shadow-opacity: 0.0; --blog-card-shadow-visible: 0; --blog-card-shadow-horizontal-offset: 0.0rem; --blog-card-shadow-vertical-offset: 0.4rem; --blog-card-shadow-blur-radius: 0.5rem; --badge-corner-radius: 4.0rem; --popup-border-width: 1px; --popup-border-opacity: 0.1; --popup-corner-radius: 0px; --popup-shadow-opacity: 0.0; --popup-shadow-horizontal-offset: 0px; --popup-shadow-vertical-offset: 4px; --popup-shadow-blur-radius: 5px; --drawer-border-width: 1px; --drawer-border-opacity: 0.1; --drawer-shadow-opacity: 0.0; --drawer-shadow-horizontal-offset: 0px; --drawer-shadow-vertical-offset: 4px; --drawer-shadow-blur-radius: 5px; --spacing-sections-desktop: 0px; --spacing-sections-mobile: 0px; --grid-desktop-vertical-spacing: 8px; --grid-desktop-horizontal-spacing: 8px; --grid-mobile-vertical-spacing: 4px; --grid-mobile-horizontal-spacing: 4px; --text-boxes-border-opacity: 0.1; --text-boxes-border-width: 0px; --text-boxes-radius: 0px; --text-boxes-shadow-opacity: 0.0; --text-boxes-shadow-visible: 0; --text-boxes-shadow-horizontal-offset: 0px; --text-boxes-shadow-vertical-offset: 4px; --text-boxes-shadow-blur-radius: 5px; --buttons-radius: 0px; --buttons-radius-outset: 0px; --buttons-border-width: 1px; --buttons-border-opacity: 1.0; --buttons-shadow-opacity: 0.0; --buttons-shadow-visible: 0; --buttons-shadow-horizontal-offset: 0px; --buttons-shadow-vertical-offset: 4px; --buttons-shadow-blur-radius: 5px; --buttons-border-offset: 0px; --inputs-radius: 0px; --inputs-border-width: 1px; --inputs-border-opacity: 0.55; --inputs-shadow-opacity: 0.0; --inputs-shadow-horizontal-offset: 0px; --inputs-margin-offset: 0px; --inputs-shadow-vertical-offset: 4px; --inputs-shadow-blur-radius: 5px; --inputs-radius-outset: 0px; --variant-pills-radius: 40px; --variant-pills-border-width: 1px; --variant-pills-border-opacity: 0.55; --variant-pills-shadow-opacity: 0.0; --variant-pills-shadow-horizontal-offset: 0px; --variant-pills-shadow-vertical-offset: 4px; --variant-pills-shadow-blur-radius: 5px; } *, *::before, *::after { box-sizing: inherit; } html { box-sizing: border-box; font-size: calc(var(--font-body-scale) * 62.5%); height: 100%; } body { display: grid; grid-template-rows: auto auto 1fr auto; grid-template-columns: 100%; min-height: 100%; margin: 0; font-size: 1.5rem; letter-spacing: 0.06rem; line-height: calc(1 + 0.8 / var(--font-body-scale)); font-family: var(--font-body-family); font-style: var(--font-body-style); font-weight: var(--font-body-weight); } @media screen and (min-width: 750px) { body { font-size: 1.6rem; } } </style> <link href="//www.m5t.com/cdn/shop/t/3/assets/base.css?v=140624990073879848751681796623" rel="stylesheet" type="text/css" media="all" /> <link rel="preload" as="font" href="//www.m5t.com/cdn/fonts/assistant/assistant_n4.bcd3d09dcb631dec5544b8fb7b154ff234a44630.woff2?h1=bTUtdGVjaG5vbG9naWVzLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=bWVkaWE1Y29ycC5jb20&h3=bTV0LmNvbQ&hmac=54e8bd5ab151387ec1c16dfffaa3b2992cafe9568f7c7904ec07c73a891c6cc7" type="font/woff2" crossorigin><link rel="preload" as="font" href="//www.m5t.com/cdn/fonts/helvetica/helvetica_n4.fe093fe9ca22a15354813c912484945a36b79146.woff2?h1=bTUtdGVjaG5vbG9naWVzLmFjY291bnQubXlzaG9waWZ5LmNvbQ&h2=bWVkaWE1Y29ycC5jb20&h3=bTV0LmNvbQ&hmac=f296c72bba03c4541bb87a8cc0ac18262d8f13f05a82c4253b105ca12ee576d8" type="font/woff2" crossorigin><link rel="stylesheet" href="//www.m5t.com/cdn/shop/t/3/assets/component-predictive-search.css?v=85913294783299393391681796624" media="print" onload="this.media='all'"><script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); if (Shopify.designMode) { document.documentElement.classList.add('shopify-design-mode'); } </script> <!-- PageFly Header Render begins --> <script> window.addEventListener('load', () => { // fallback for gtag when not initialized if(typeof window.gtag !== 'function') { window.gtag = (str1, str2, obj) => { } } }) </script> <!-- PageFly begins loading Google fonts --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="preload" as="style" fetchpriority="low" href="https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Open+Sans:wght@400&family=Poppins:wght@400;600&display=block"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Open+Sans:wght@400&family=Poppins:wght@400;600&display=block" media="(min-width: 640px)"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Open+Sans:wght@400&family=Poppins:wght@400;600&display=block" media="print" onload="this.onload=null;this.media='all'"><!-- PageFly ends loading Google fonts --><style>.__pf .pf-c-ct,.__pf .pf-c-lt,.__pf .pf-c-rt{align-content:flex-start}.__pf .oh,.pf-sr-only{overflow:hidden}.__pf img,.__pf video{max-width:100%;border:0;vertical-align:middle}.__pf [tabIndex],.__pf button,.__pf input,.__pf select,.__pf textarea{touch-action:manipulation}.__pf:not([data-pf-editor-version=gen-2]) :focus-visible{outline:0!important;box-shadow:none!important}.__pf:not([data-pf-editor-version=gen-2]) :not(input):not(select):not(textarea):not([data-active=true]):focus-visible{border:none!important}.__pf *,.__pf :after,.__pf :before{box-sizing:border-box}.__pf [disabled],.__pf [readonly]{cursor:default}.__pf [data-href],.__pf button:not([data-pf-id]):hover{cursor:pointer}.__pf [disabled]:not([disabled=false]),.pf-dialog svg{pointer-events:none}.__pf [hidden]{display:none!important}.__pf [data-link=inherit]{color:inherit;text-decoration:none}.__pf [data-pf-placeholder]{outline:0;height:auto;display:none;pointer-events:none!important}.__pf .pf-ifr,.__pf [style*="--ratio"] img{height:100%;left:0;top:0;width:100%;position:absolute}.__pf .pf-r,.__pf .pf-r-eh>.pf-c{display:flex}.__pf [style*="--cw"]{padding:0 15px;width:100%;margin:auto;max-width:var(--cw)}.__pf .pf-ifr{border:0}.__pf .pf-bg-lazy{background-image:none!important}.__pf .pf-r{flex-wrap:wrap}.__pf .pf-r-dg{display:grid}.__pf [style*="--c-xs"]{max-width:calc(100%/12*var(--c-xs));flex-basis:calc(100%/12*var(--c-xs))}.__pf [style*="--s-xs"]{margin:0 calc(-1 * var(--s-xs))}.__pf [style*="--s-xs"]>.pf-c{padding:var(--s-xs)}.__pf .pf-r-ew>.pf-c{flex-grow:1;flex-basis:0}.__pf [style*="--ew-xs"]>.pf-c{flex-basis:calc(100% / var(--ew-xs));max-width:calc(100% / var(--ew-xs))}.__pf [style*="--ratio"]{position:relative;padding-bottom:var(--ratio)}.main-content{padding:0}.footer-section,.site-footer,.site-footer-wrapper,main .accent-background+.shopify-section{margin:0}@media (max-width:767.4999px){.__pf .pf-hide{display:none!important}}@media (max-width:1024.4999px) and (min-width:767.5px){.__pf .pf-sm-hide{display:none!important}}@media (max-width:1199.4999px) and (min-width:1024.5px){.__pf .pf-md-hide{display:none!important}}@media (min-width:767.5px){.__pf [style*="--s-sm"]{margin:0 calc(-1 * var(--s-sm))}.__pf [style*="--c-sm"]{max-width:calc(100%/12*var(--c-sm));flex-basis:calc(100%/12*var(--c-sm))}.__pf [style*="--s-sm"]>.pf-c{padding:var(--s-sm)}.__pf [style*="--ew-sm"]>.pf-c{flex-basis:calc(100% / var(--ew-sm));max-width:calc(100% / var(--ew-sm))}}@media (min-width:1024.5px){.__pf [style*="--s-md"]{margin:0 calc(-1 * var(--s-md))}.__pf [style*="--c-md"]{max-width:calc(100%/12*var(--c-md));flex-basis:calc(100%/12*var(--c-md))}.__pf [style*="--s-md"]>.pf-c{padding:var(--s-md)}.__pf [style*="--ew-md"]>.pf-c{flex-basis:calc(100% / var(--ew-md));max-width:calc(100% / var(--ew-md))}}@media (min-width:1199.5px){.__pf [style*="--s-lg"]{margin:0 calc(-1 * var(--s-lg))}.__pf [style*="--c-lg"]{max-width:calc(100%/12*var(--c-lg));flex-basis:calc(100%/12*var(--c-lg))}.__pf [style*="--s-lg"]>.pf-c{padding:var(--s-lg)}.__pf [style*="--ew-lg"]>.pf-c{flex-basis:calc(100% / var(--ew-lg));max-width:calc(100% / var(--ew-lg))}.__pf .pf-lg-hide{display:none!important}}.__pf .pf-r-eh>.pf-c>div{width:100%}.__pf .pf-c-lt{justify-content:flex-start;align-items:flex-start}.__pf .pf-c-ct{justify-content:center;align-items:flex-start}.__pf .pf-c-rt{justify-content:flex-end;align-items:flex-start}.__pf .pf-c-lm{justify-content:flex-start;align-items:center;align-content:center}.__pf .pf-c-cm{justify-content:center;align-items:center;align-content:center}.__pf .pf-c-rm{justify-content:flex-end;align-items:center;align-content:center}.__pf .pf-c-cb,.__pf .pf-c-lb,.__pf .pf-c-rb{align-content:flex-end}.__pf .pf-c-lb{justify-content:flex-start;align-items:flex-end}.__pf .pf-c-cb{justify-content:center;align-items:flex-end}.__pf .pf-c-rb{justify-content:flex-end;align-items:flex-end}.pf-no-border:not(:focus-visible){border:none;outline:0}.pf-sr-only{position:absolute;width:1px;height:1px;padding:0;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}.pf-close-dialog-btn,.pf-dialog{background:0 0;border:none;padding:0}.pf-visibility-hidden{visibility:hidden}.pf-dialog{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(calc(9/16*100vw),calc(100% - 6px - 2em));-webkit-overflow-scrolling:touch;overflow:hidden;margin:0}.pf-dialog::backdrop{background:rgba(0,0,0,.9);opacity:1}.pf-close-dialog-btn{position:absolute;top:0;right:0;height:16px;margin-bottom:8px;cursor:pointer}.pf-close-dialog-btn:not(:focus-visible){box-shadow:none}.pf-dialog-content{display:block;margin:24px auto auto;width:100%;height:calc(100% - 24px)}.pf-dialog-content>*{width:100%;height:100%;border:0}</style> <style>@media all{.__pf .pf-gs-button-1,.__pf .pf-gs-button-2,.__pf .pf-gs-button-3{padding:12px 20px;font-size:16px;line-height:16px;letter-spacing:0;margin:0}.__pf{--pf-primary-color:rgb(199, 61, 35);--pf-secondary-color:rgb(63, 115, 203);--pf-foreground-color:rgb(55, 126, 98);--pf-background-color:rgb(204, 204, 204);--pf-color-5:rgb(17, 18, 19);--pf-color-6:rgb(246, 197, 103);--pf-color-7:rgb(121, 202, 216);--pf-color-8:rgb(240, 240, 240);--pf-primary-font:"Playfair Display";--pf-secondary-font:"Lato";--pf-tertiary-font:"Source Sans Pro"}.__pf .pf-gs-button-1{background-color:#919da9;color:#fff}.__pf .pf-gs-button-2{color:#919da9;border:1px solid #919da9}.__pf .pf-gs-button-3{background-color:#919da9;color:#fff;border-radius:40px}.__pf .pf-gs-button-4{color:#919da9;border-radius:40px;border:1px solid #919da9;padding:12px 20px;margin:0;font-size:16px;line-height:16px;letter-spacing:0}.__pf .pf-gs-button-5,.__pf .pf-gs-button-6{color:#919da9;border-style:solid;border-color:#919da9;padding:12px 20px;font-size:16px;line-height:16px;letter-spacing:0}.__pf .pf-gs-button-5{border-width:0 0 3px;margin:0}.__pf .pf-gs-button-6{border-width:0 3px 3px 0;margin:0}.__pf .pf-gs-icon-1,.__pf .pf-gs-icon-2{background-color:#919da9;color:#fff;padding:8px;margin:0;border-style:none}.__pf .pf-gs-icon-1{border-radius:0}.__pf .pf-gs-icon-2{border-radius:50%}.__pf .pf-gs-icon-3,.__pf .pf-gs-icon-4{background-color:#fff;color:#919da9;padding:8px;margin:0;border:1px solid #919da9}.__pf .pf-gs-icon-4{border-radius:50%}.__pf .pf-gs-icon-5,.__pf .pf-gs-icon-6{background-color:#f5f5f5;color:#919da9;padding:8px;margin:0;border:1px solid #919da9}.__pf .pf-gs-icon-6{border-radius:50%}.__pf .pf-gs-image-1{width:100%}.__pf .pf-gs-image-2{border:3px solid #919da9;width:100%}.__pf .pf-gs-image-3{border:3px solid #919da9;padding:10px;width:100%}.__pf .pf-gs-image-4,.__pf .pf-gs-image-5{border-radius:50%;width:100%}.__pf .pf-gs-image-5{border:3px solid #919da9}.__pf .pf-gs-image-6{border-radius:50%;border:3px solid #919da9;padding:10px;width:100%}.__pf .pf-gs-heading-1,.__pf .pf-gs-heading-2,.__pf .pf-gs-heading-3,.__pf .pf-gs-heading-4,.__pf .pf-gs-heading-5{color:#000;padding:0;margin:18px 0}.__pf .pf-gs-heading-1{font-size:32px}.__pf .pf-gs-heading-2{font-size:24px}.__pf .pf-gs-heading-3{font-size:20px}.__pf .pf-gs-heading-4{font-size:18px}.__pf .pf-gs-heading-5{font-size:16px}.__pf .pf-gs-heading-6{margin:18px 0;font-size:14px;color:#000;padding:0}.__pf .pf-gs-paragraph-1,.__pf .pf-gs-paragraph-2,.__pf .pf-gs-paragraph-3,.__pf .pf-gs-paragraph-4{color:#000;padding:0;margin:16px 0;font-size:16px}.__pf .pf-gs-paragraph-1{text-align:left}.__pf .pf-gs-paragraph-2{text-align:right}.__pf .pf-gs-paragraph-3{text-align:center}.__pf .pf-gs-divider-1,.__pf .pf-gs-divider-2,.__pf .pf-gs-divider-3{padding:16px 0;margin:0;font-size:2px}.__pf .pf-gs-divider-1{color:#919da9}.__pf .pf-gs-divider-2{color:#444749}.__pf .pf-gs-divider-3{color:#b9bfca}}</style> <style>.pf-color-scheme-1,.pf-color-scheme-2{--pf-scheme-shadow-color:rgb(0, 0, 0, 0.25)}.pf-color-scheme-1{--pf-scheme-bg-color: ;--pf-scheme-text-color: ;--pf-scheme-btn-bg-color: ;--pf-scheme-btn-text-color: ;--pf-scheme-border-color: ;background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-2,.pf-color-scheme-3{--pf-scheme-btn-text-color:rgb(255, 255, 255);background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-2{--pf-scheme-bg-color:rgba(255, 255, 255, 0);--pf-scheme-text-color:rgb(0, 0, 0);--pf-scheme-btn-bg-color:rgb(145, 157, 169);--pf-scheme-border-color:rgba(0, 0, 0)}.pf-color-scheme-3,.pf-color-scheme-4{--pf-scheme-text-color:rgb(18, 18, 18);--pf-scheme-btn-bg-color:rgb(18, 18, 18);--pf-scheme-border-color:rgb(18, 18, 18)}.pf-color-scheme-3{--pf-scheme-bg-color:rgb(255, 255, 255);--pf-scheme-shadow-color:rgb(18, 18, 18)}.pf-color-scheme-4{--pf-scheme-bg-color:rgb(243, 243, 243);--pf-scheme-btn-text-color:rgb(243, 243, 243);--pf-scheme-shadow-color:rgb(18, 18, 18);background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-5,.pf-color-scheme-6,.pf-color-scheme-7{--pf-scheme-text-color:rgb(255, 255, 255);--pf-scheme-btn-bg-color:rgb(255, 255, 255);--pf-scheme-border-color:rgb(255, 255, 255);--pf-scheme-shadow-color:rgb(18, 18, 18);background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-5{--pf-scheme-bg-color:rgb(36, 40, 51);--pf-scheme-btn-text-color:rgb(0, 0, 0)}.pf-color-scheme-6{--pf-scheme-bg-color:rgb(18, 18, 18);--pf-scheme-btn-text-color:rgb(18, 18, 18)}.pf-color-scheme-7{--pf-scheme-bg-color:rgb(51, 79, 180);--pf-scheme-btn-text-color:rgb(51, 79, 180)}[data-pf-type^=Button]{background-color:var(--pf-scheme-btn-bg-color);background-image:var(--pf-scheme-btn-bg-gradient-color);color:var(--pf-scheme-btn-text-color)}@media all{.__pf .pf-button-2,.__pf .pf-button-3,.__pf .pf-button-4{padding:12px 20px;margin:0;font-size:16px;line-height:16px;letter-spacing:0}.__pf .pf-button-2{background-color:#919da9;color:#fff}.__pf .pf-button-3{color:#919da9;border:1px solid #919da9}.__pf .pf-button-4{background-color:#919da9;color:#fff;border-radius:40px}.__pf .pf-button-5{color:#919da9;border-radius:40px;border:1px solid #919da9;padding:12px 20px;margin:0;font-size:16px;line-height:16px;letter-spacing:0}.__pf .pf-button-6,.__pf .pf-button-7{color:#919da9;border-style:solid;border-color:#919da9;margin:0;font-size:16px;line-height:16px;letter-spacing:0;padding:12px 20px}.__pf .pf-button-6{border-width:0 0 3px}.__pf .pf-button-7{border-width:0 3px 3px 0}.__pf .pf-button-8{background-color:#919da9;color:#fff;padding:12px 20px}.__pf .pf-icon-1,.__pf .pf-text-1,.__pf .pf-text-6,.__pf .pf-text-7,.pf-icon2-1,.pf-icon2-2,.pf-icon2-3,.pf-icon2-4,.pf-icon2-5,.pf-icon2-6,.pf-icon2-7{background-color:var(--pf-scheme-bg-color);color:var(--pf-scheme-text-color)}.__pf .pf-icon-2,.__pf .pf-icon-3{background-color:#919da9;color:#fff;padding:8px;margin:0;border-style:none}.__pf .pf-icon-2{border-radius:0}.__pf .pf-icon-3{border-radius:50%}.__pf .pf-icon-4,.__pf .pf-icon-5{background-color:#fff;color:#919da9;padding:8px;margin:0;border:1px solid #919da9}.__pf .pf-icon-5{border-radius:50%}.__pf .pf-icon-6,.__pf .pf-icon-7{background-color:#f5f5f5;color:#919da9;padding:8px;margin:0;border:1px solid #919da9}.__pf .pf-icon-7{border-radius:50%}.__pf .pf-text-2,.__pf .pf-text-3,.__pf .pf-text-4,.__pf .pf-text-5{color:#000;padding:0;margin:16px 0;font-size:16px}.__pf .pf-text-2{text-align:left}.__pf .pf-text-3{text-align:right}.__pf .pf-text-4{text-align:center}.__pf .pf-divider-2,.__pf .pf-divider-3,.__pf .pf-divider-4{padding:16px 0;margin:0;font-size:2px}.__pf .pf-divider-1{color:var(--pf-scheme-text-color)}.__pf .pf-divider-2{color:#919da9}.__pf .pf-divider-3{color:#444749}.__pf .pf-divider-4{color:#b9bfca}.__pf .pf-heading-1-h1,.__pf .pf-heading-1-h2,.__pf .pf-heading-1-h3,.__pf .pf-heading-1-h4,.__pf .pf-heading-1-h5,.__pf .pf-heading-1-h6{color:var(--pf-scheme-text-color);background-color:var(--pf-scheme-bg-color)}.__pf .pf-heading-2-h1,.__pf .pf-heading-2-h2,.__pf .pf-heading-2-h3,.__pf .pf-heading-2-h4,.__pf .pf-heading-2-h5,.__pf .pf-heading-2-h6{margin:18px 0;font-size:32px;color:#000;padding:0}.__pf .pf-heading-3-h1,.__pf .pf-heading-3-h2,.__pf .pf-heading-3-h3,.__pf .pf-heading-3-h4,.__pf .pf-heading-3-h5,.__pf .pf-heading-3-h6{margin:18px 0;font-size:24px;color:#000;padding:0}.__pf .pf-heading-4-h1,.__pf .pf-heading-4-h2,.__pf .pf-heading-4-h3,.__pf .pf-heading-4-h4,.__pf .pf-heading-4-h5,.__pf .pf-heading-4-h6{margin:18px 0;font-size:20px;color:#000;padding:0}.__pf .pf-heading-5-h1,.__pf .pf-heading-5-h2,.__pf .pf-heading-5-h3,.__pf .pf-heading-5-h4,.__pf .pf-heading-5-h5,.__pf .pf-heading-5-h6{margin:18px 0;font-size:18px;color:#000;padding:0}.__pf .pf-heading-6-h1,.__pf .pf-heading-6-h2,.__pf .pf-heading-6-h3,.__pf .pf-heading-6-h4,.__pf .pf-heading-6-h5,.__pf .pf-heading-6-h6{margin:18px 0;font-size:16px;color:#000;padding:0}.__pf .pf-heading-7-h1,.__pf .pf-heading-7-h2,.__pf .pf-heading-7-h3,.__pf .pf-heading-7-h4,.__pf .pf-heading-7-h5,.__pf .pf-heading-7-h6{margin:18px 0;font-size:14px;color:#000;padding:0}.__pf .pf-image-2{width:100%}.__pf .pf-image-3{border:3px solid #919da9;width:100%}.__pf .pf-image-4{border:3px solid #919da9;padding:10px;width:100%}.__pf .pf-image-5,.__pf .pf-image-6{border-radius:50%;width:100%}.__pf .pf-image-6{border:3px solid #919da9}.__pf .pf-image-7{border-radius:50%;border:3px solid #919da9;padding:10px;width:100%}.__pf .pf-field-1,.__pf .pf-field-2,.__pf .pf-field-3,.__pf .pf-field-4,.__pf .pf-field-5,.__pf .pf-field-6{background-color:#fdfdfd;border:.66px solid #8a8a8a;border-radius:8px;padding:6px 12px}}</style> <style id="pf-shopify-font">div.__pf {--pf-shopify-font-family-type-header-font: Helvetica, 'Helvetica Neue', Arial, 'Lucida Grande', sans-serif; --pf-shopify-font-style-type-header-font: normal; --pf-shopify-font-weight-type-header-font: 400; --pf-shopify-font-family-type-body-font: Assistant, sans-serif; --pf-shopify-font-style-type-body-font: normal; --pf-shopify-font-weight-type-body-font: 400;}</style> <link rel="stylesheet" href="//www.m5t.com/cdn/shop/t/3/assets/pagefly-animation.css?v=35569424405882025761723004791" media="print" onload="this.media='all'"> <style>.VBQcR i,.Xerjk i,.jvLCtl .pfa{margin-right:5px}.AuiwH,.jfmvQi{max-width:100%;display:inline-block}.AuiwH,.jfmvQi,.jvLCtl{display:inline-block}.AuiwH,.RnjFD,.drQDYO,.gFKonE{position:relative}.cyhhKs,.jvLCtl{text-align:center}.jvLCtl,.pfa{line-height:1}.kBvHOQ{--pf-sample-color:#5d6b82;--pf-border-color:#d1d5db}.jvLCtl{padding:12px 20px;text-decoration:none;outline:0}.jvLCtl span{color:inherit}.VBQcR i{vertical-align:middle}.Xerjk{white-space:pre-line;user-select:text}.Xerjk span{vertical-align:baseline!important}.ftWFYg,.ftWFYg+span{vertical-align:middle}.AuiwH img{width:100%;height:100%;border-radius:inherit}.jfmvQi{height:auto}.jfmvQi [data-href]{cursor:pointer}.drQDYO:empty{display:initial}.gFKonE{padding:20px 0}.hdULMz>span:last-child{line-height:inherit;display:block;margin-right:0!important}.RnjFD{width:100%;flex:1 0 0px}.jLglAL{padding:8px}.jLglAL input,.jLglAL textarea{border:1px solid var(--pf-border-color);font-size:16px;background:#fff;border-radius:4px;width:100%;font-family:inherit;width:-webkit-fill-available;width:-moz-available}.jLglAL input::placeholder,.jLglAL textarea::placeholder{color:var(--pf-border-color)}.jLglAL input{padding:10px 8px;margin:0}.jLglAL textarea{padding-left:8px;resize:none}.jLglAL button{padding:10px 20px;background:var(--pf-sample-color);border-radius:4px;color:#fff;font-size:16px}.cyhhKs{border-radius:4px;margin-top:16px;padding:16px;font-size:14px;border:1px solid}.iFkHTn{appearance:none;-webkit-appearance:none;font-family:inherit}.iFkHTn>i{margin-right:.3em}.llGsyY.pf-r-eh{align-items:stretch!important}.devTia{width:100%;height:100%}@media all{.__pf.__pf_epguGImB .pf-3_{background-image:url("https://cdn.shopify.com/s/files/1/0637/7730/8888/t/2/assets/adobestock_417507628-1686342246192.jpeg?v=1686342248");background-size:cover;padding-top:50px;padding-bottom:50px;padding-right:0;background-position:right center}.__pf.__pf_epguGImB .pf-5_{padding-right:441px;padding-bottom:16px}.__pf.__pf_epguGImB .pf-6_{margin-top:0;margin-bottom:16px;font-family:Lato;font-size:34px;line-height:1.5em;color:#fff;text-align:left;margin-right:0;padding-right:10px;text-transform:uppercase;font-weight:300}.__pf.__pf_epguGImB .pf-10_{color:#fff;width:unset;font-size:12px;line-height:1.5em;padding:16px 73px;background-color:#e32410;border-radius:5px;font-family:"Open Sans";font-weight:400}.__pf.__pf_epguGImB .pf-13_{padding-bottom:85px;padding-top:85px;border-style:solid;border-width:1px 0 0;border-color:#ebebeb}.__pf.__pf_epguGImB .pf-14_{margin-bottom:20px}.__pf.__pf_epguGImB .pf-16_{margin-top:0;margin-bottom:0;font-family:Poppins;font-size:25px;text-align:center}.__pf.__pf_epguGImB .rid-8{background-color:#f8f8f8;padding-bottom:40px;font-family:Poppins;font-weight:400;box-shadow:rgba(0,0,0,.25) 4px 4px 16px}.__pf.__pf_epguGImB .pf-50_,.__pf.__pf_epguGImB .rid-6{text-align:center}.__pf.__pf_epguGImB .rid-4{width:100%;height:auto;margin-bottom:30px}.__pf.__pf_epguGImB .rid-3{font-size:15px;margin:0 30px 20px;color:#666;font-family:Poppins;font-weight:400;line-height:1.5em;text-align:left}.__pf.__pf_epguGImB .pf-43_{background-color:#272727;padding-top:105px;padding-bottom:75px}.__pf.__pf_epguGImB .pf-46_{font-size:48px;font-family:Poppins;font-weight:700;line-height:1.3em;margin-top:0;margin-bottom:24px;color:#fff;text-transform:capitalize}.__pf.__pf_epguGImB .pf-48_{padding-top:90px;padding-bottom:90px}.__pf.__pf_epguGImB .pf-51_{width:100%;height:auto;aspect-ratio:unset}.__pf.__pf_epguGImB .pf-52_{padding:30px}.__pf.__pf_epguGImB .pf-53_{color:#000;font-family:Poppins;font-size:17px;font-weight:600;margin-bottom:15px;margin-top:0;line-height:1.4em}.__pf.__pf_epguGImB .pf-70_{margin-bottom:10px}.__pf.__pf_epguGImB .pf-77_{color:#fff!important;border:none!important;border-radius:40px!important;background:#000!important;padding:12px 30px!important;font-family:Poppins!important;font-weight:600!important;font-size:16px!important;line-height:1.3em!important;display:block!important}.__pf.__pf_epguGImB .pf-78_{font-size:inherit}.__pf.__pf_epguGImB .pf-10_:hover{background-color:#f7a6a6}.__pf.__pf_epguGImB .rid-4>img{height:auto}.__pf.__pf_epguGImB .pf-77_:hover{background-color:#0055d4!important;color:#fff!important}.__pf.__pf_epguGImB .pf-55_ [data-pf-type=FormInput]{font-family:Poppins;font-weight:400;font-size:16px;padding:8px}}@media (min-width:1024.5px) and (max-width:1199.4999px){.__pf.__pf_epguGImB .rid-4,.__pf.__pf_epguGImB .rid-4>img{height:auto}.__pf.__pf_epguGImB .pf-53_{color:#000;font-family:Poppins;font-size:30px}.__pf.__pf_epguGImB .pf-48_{display:flex;padding-top:80px;padding-bottom:80px}}@media (min-width:767.5px) and (max-width:1024.4999px){.__pf.__pf_epguGImB .pf-6_{font-size:54px}.__pf.__pf_epguGImB .pf-10_{padding-left:50px;padding-right:50px}.__pf.__pf_epguGImB .rid-4,.__pf.__pf_epguGImB .rid-4>img{height:auto}.__pf.__pf_epguGImB .pf-45_{text-align:unset}.__pf.__pf_epguGImB .pf-48_{padding-bottom:0}}@media (max-width:767.4999px){.__pf.__pf_epguGImB .pf-6_{font-size:48px}.__pf.__pf_epguGImB .pf-10_{padding-left:120px;padding-right:120px}.__pf.__pf_epguGImB .pf-4_{display:flex;flex-wrap:wrap-reverse}.__pf.__pf_epguGImB .pf-3_{background-size:cover;background-position:center top}.__pf.__pf_epguGImB .pf-16_{font-size:24px}.__pf.__pf_epguGImB .pf-14_{margin-bottom:0}.__pf.__pf_epguGImB .rid-4,.__pf.__pf_epguGImB .rid-4>img{height:auto}.__pf.__pf_epguGImB .pf-13_{padding-bottom:40px;padding-top:40px}.__pf.__pf_epguGImB .pf-46_{font-size:32px;margin-bottom:16px}.__pf.__pf_epguGImB .pf-43_{padding-top:45px;padding-bottom:22px}.__pf.__pf_epguGImB .pf-50_{margin-bottom:30px}.__pf.__pf_epguGImB .pf-53_{text-align:center}.__pf.__pf_epguGImB .pf-77_{width:unset!important;font-size:14px!important;padding:12px 25px!important}.__pf.__pf_epguGImB .pf-52_{padding:0}.__pf.__pf_epguGImB .pf-48_{padding-top:50px;padding-bottom:20px}}.pfa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)!important;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;text-rendering:auto}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%,64%,to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}}@keyframes fa-bounce{0%,64%,to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.pfa-envelope:before{content:"\f0e0"}:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free";--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(https://cdn.shopify.com/s/files/1/0882/6237/7766/files/fa-brands-400.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-regular-400.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0882/6237/7766/files/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-solid-900.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(https://cdn.shopify.com/s/files/1/0882/6237/7766/files/fa-brands-400.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-solid-900.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-regular-400.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0882/6237/7766/files/fa-brands-400.ttf) format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-solid-900.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-solid-900.ttf) format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url(https://cdn.shopify.com/s/files/1/0882/6237/7766/files/fa-brands-400.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-brands-400.ttf) format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-regular-400.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0882/6237/7766/files/fa-brands-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:FontAwesome;font-display:block;src:url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-v4compatibility.woff2) format("woff2"),url(https://cdn.shopify.com/s/files/1/0090/9236/6436/files/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}</style><!-- PageFly Header Render ends --><!-- BEGIN app block: shopify://apps/pagefly-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 --> <!-- BEGIN app snippet: pagefly-cro-ab-testing-main --> <script> ;(function () { const url = new URL(window.location) const viewParam = url.searchParams.get('view') if (viewParam && viewParam.includes('variant-pf-')) { url.searchParams.set('pf_v', viewParam) url.searchParams.delete('view') window.history.replaceState({}, '', url) } })() </script> <script type='module'> window.PAGEFLY_CRO = window.PAGEFLY_CRO || {} window.PAGEFLY_CRO['data_debug'] = { original_template_suffix: "home", allow_ab_test: false, ab_test_start_time: 0, ab_test_end_time: 0, today_date_time: 1746845933000, } window.PAGEFLY_CRO['GA4'] = { enabled: false} </script> <!-- END app snippet --> <script src="https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-helper.js" defer="defer"></script> <script src="https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-general-helper.js" defer="defer"></script> <script src="https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-snap-slider.js" defer="defer"></script> <script src="https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-slideshow-v3.js" defer="defer"></script> <script src="https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-slideshow-v4.js" defer="defer"></script> <script src="https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-glider.js" defer="defer"></script> <script src="https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-slideshow-v1-v2.js" defer="defer"></script> <script src="https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-product-media.js" defer="defer"></script> <script src="https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-product.js" defer="defer"></script> <script id='pagefly-helper-data' type='application/json'> { "page_optimization": { "assets_prefetching": false }, "elements_asset_mapper": { "Accordion": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-accordion.js", "Accordion3": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-accordion3.js", "CountDown": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-countdown.js", "GMap1": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-gmap.js", "GMap2": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-gmap.js", "GMapBasicV2": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-gmap.js", "GMapAdvancedV2": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-gmap.js", "HTML.Video": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-htmlvideo.js", "HTML.Video2": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-htmlvideo2.js", "HTML.Video3": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-htmlvideo2.js", "BackgroundVideo": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-htmlvideo2.js", "Instagram": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-instagram.js", "Instagram2": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-instagram.js", "Insta3": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-instagram3.js", "Tabs": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-tab.js", "Tabs3": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-tab3.js", "ProductBox": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-cart.js", "FBPageBox2": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-facebook.js", "FBLikeButton2": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-facebook.js", "TwitterFeed2": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-twitter.js", "Paragraph4": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-paragraph4.js", "AliReviews": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "BackInStock": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "GloboBackInStock": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "GrowaveWishlist": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "LimeSpot": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "Loox": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "Opinew": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "Powr": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "ProductReviews": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "PushOwl": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "ReCharge": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "Rivyo": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "TrackingMore": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "Vitals": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js", "Wiser": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-3rd-elements.js" }, "custom_elements_mapper": { "pf-click-action-element": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-click-action-element.js", "pf-dialog-element": "https://cdn.shopify.com/extensions/e4aad993-86b9-4655-a372-6fc03169cfb8/pagefly-page-builder-154/assets/pagefly-dialog-element.js" } } </script> <!-- END app block --><!-- BEGIN app block: shopify://apps/tinyseo/blocks/website-json-ld-embed/0605268f-f7c4-4e95-b560-e43df7d59ae4 --> <!-- END app block --><!-- BEGIN app block: shopify://apps/tinyseo/blocks/breadcrumbs-json-ld-embed/0605268f-f7c4-4e95-b560-e43df7d59ae4 --> <!-- END app block --><!-- BEGIN app block: shopify://apps/tinyseo/blocks/store-json-ld-embed/0605268f-f7c4-4e95-b560-e43df7d59ae4 --> <!-- END 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: 52830306468,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 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[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[1-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[1-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[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[1-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: 52830306468,storefrontBaseUrl: "https://www.m5t.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0411","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0411","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,effectiveTopLevelDomain: "com",initData: {"shop":{"name":"M5 Technologies","paymentSettings":{"currencyCode":"CAD"},"myshopifyDomain":"m5-technologies.myshopify.com","countryCode":"CA","storefrontUrl":"https://www.m5t.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});},"https://www.m5t.com/cdn","9f94c53cwe611d86fp8ced7fbdmadbd84f4",{"modern":"","legacy":""},{"shopId":"52830306468","storefrontBaseUrl":"https://www.m5t.com","extensionBaseUrl":"https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[]","isMerchantRequest":"false","hashVersion":"9f94c53cwe611d86fp8ced7fbdmadbd84f4"});</script><script> window.ShopifyAnalytics = window.ShopifyAnalytics || {}; window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; window.ShopifyAnalytics.meta.currency = 'CAD'; var meta = {"page":{"pageType":"home"}}; for (var attr in meta) { window.ShopifyAnalytics.meta[attr] = meta[attr]; } </script> <script class="analytics"> (function () { var customDocumentWrite = function(content) { var jquery = null; if (window.jQuery) { jquery = window.jQuery; } else if (window.Checkout && window.Checkout.$) { jquery = window.Checkout.$; } if (jquery) { jquery('body').append(content); } }; var hasLoggedConversion = function(token) { if (token) { return document.cookie.indexOf('loggedConversion=' + token) !== -1; } return false; } var setCookieIfConversion = function(token) { if (token) { var twoMonthsFromNow = new Date(Date.now()); twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; } } var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 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: 52830306468, theme_id: 137940730020, app_name: "storefront", context_url: window.location.href, source_url: "//www.m5t.com/cdn/s/trekkie.storefront.7dd5a1f776e0762aa90f8d934b8ac8a05d3d42a2.min.js"}); }; scriptFallback.async = true; scriptFallback.src = '//www.m5t.com/cdn/s/trekkie.storefront.7dd5a1f776e0762aa90f8d934b8ac8a05d3d42a2.min.js'; first.parentNode.insertBefore(scriptFallback, first); }; script.async = true; script.src = '//www.m5t.com/cdn/s/trekkie.storefront.7dd5a1f776e0762aa90f8d934b8ac8a05d3d42a2.min.js'; first.parentNode.insertBefore(script, first); }; trekkie.load( {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":52830306468,"isMerchantRequest":null,"themeId":137940730020,"themeCityHash":"4425191555383156914","contentLanguage":"en","currency":"CAD"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"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; 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","shopifyEmitted":true}); var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) var token = match? match[1]: undefined; if (!hasLoggedConversion(token)) { setCookieIfConversion(token); } }); var eventsListenerScript = document.createElement('script'); eventsListenerScript.async = true; eventsListenerScript.src = "//www.m5t.com/cdn/shopifycloud/shopify/assets/shop_events_listener-f55dd2979ec32029c7d9e0b454ab8b33f79c01ca039d17a6f5c9b95647564b19.js"; document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); })();</script> <script defer src="https://www.m5t.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.6.2.min.js" data-application="storefront-renderer" data-shop-id="52830306468" data-render-region="gcp-europe-west1" data-page-type="index" data-theme-instance-id="137940730020" data-theme-name="Dawn" data-theme-version="9.0.0" data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" data-shs="true" ></script> </head> <body class="gradient"> <a class="skip-to-content-link button visually-hidden" href="#MainContent"> Skip to content </a><!-- BEGIN sections: header-group --> <div id="shopify-section-sections--16993222852772__announcement-bar" class="shopify-section shopify-section-group-header-group announcement-bar-section"> </div><div id="shopify-section-sections--16993222852772__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//www.m5t.com/cdn/shop/t/3/assets/component-list-menu.css?v=151968516119678728991681796624" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//www.m5t.com/cdn/shop/t/3/assets/component-search.css?v=184225813856820874251681796624" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//www.m5t.com/cdn/shop/t/3/assets/component-menu-drawer.css?v=94074963897493609391681796624" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//www.m5t.com/cdn/shop/t/3/assets/component-cart-notification.css?v=108833082844665799571681796623" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//www.m5t.com/cdn/shop/t/3/assets/component-cart-items.css?v=29412722223528841861681796623" media="print" onload="this.media='all'"><link rel="stylesheet" href="//www.m5t.com/cdn/shop/t/3/assets/component-price.css?v=65402837579211014041681796624" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//www.m5t.com/cdn/shop/t/3/assets/component-loading-overlay.css?v=167310470843593579841681796624" media="print" onload="this.media='all'"><noscript><link href="//www.m5t.com/cdn/shop/t/3/assets/component-list-menu.css?v=151968516119678728991681796624" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//www.m5t.com/cdn/shop/t/3/assets/component-search.css?v=184225813856820874251681796624" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//www.m5t.com/cdn/shop/t/3/assets/component-menu-drawer.css?v=94074963897493609391681796624" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//www.m5t.com/cdn/shop/t/3/assets/component-cart-notification.css?v=108833082844665799571681796623" rel="stylesheet" type="text/css" media="all" /></noscript> <noscript><link href="//www.m5t.com/cdn/shop/t/3/assets/component-cart-items.css?v=29412722223528841861681796623" rel="stylesheet" type="text/css" media="all" /></noscript> <style> header-drawer { justify-self: start; margin-left: -1.2rem; }.scrolled-past-header .header__heading-logo-wrapper { width: 75%; }@media screen and (min-width: 990px) { header-drawer { display: none; } }.menu-drawer-container { display: flex; } .list-menu { list-style: none; padding: 0; margin: 0; } .list-menu--inline { display: inline-flex; flex-wrap: wrap; } summary.list-menu__item { padding-right: 2.7rem; } .list-menu__item { display: flex; align-items: center; line-height: calc(1 + 0.3 / var(--font-body-scale)); } .list-menu__item--link { text-decoration: none; padding-bottom: 1rem; padding-top: 1rem; line-height: calc(1 + 0.8 / var(--font-body-scale)); } @media screen and (min-width: 750px) { .list-menu__item--link { padding-bottom: 0.5rem; padding-top: 0.5rem; } } </style><style data-shopify>.header { padding-top: 10px; padding-bottom: 8px; } .section-header { position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */ margin-bottom: 0px; } @media screen and (min-width: 750px) { .section-header { margin-bottom: 0px; } } @media screen and (min-width: 990px) { .header { padding-top: 20px; padding-bottom: 16px; } }</style><script src="//www.m5t.com/cdn/shop/t/3/assets/details-disclosure.js?v=153497636716254413831681796624" defer="defer"></script> <script src="//www.m5t.com/cdn/shop/t/3/assets/details-modal.js?v=4511761896672669691681796624" defer="defer"></script> <script src="//www.m5t.com/cdn/shop/t/3/assets/cart-notification.js?v=160453272920806432391681796623" defer="defer"></script> <script src="//www.m5t.com/cdn/shop/t/3/assets/search-form.js?v=113639710312857635801681796625" defer="defer"></script><svg xmlns="http://www.w3.org/2000/svg" class="hidden"> <symbol id="icon-search" viewbox="0 0 18 19" fill="none"> <path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/> </symbol> <symbol id="icon-reset" class="icon icon-close" fill="none" viewBox="0 0 18 18" stroke="currentColor"> <circle r="8.5" cy="9" cx="9" stroke-opacity="0.2"/> <path d="M6.82972 6.82915L1.17193 1.17097" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/> <path d="M1.22896 6.88502L6.77288 1.11523" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/> </symbol> <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17"> <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> </symbol> </svg><sticky-header data-sticky-type="reduce-logo-size" class="header-wrapper color-background-1 gradient header-wrapper--border-bottom"> <header class="header header--middle-left header--mobile-left page-width header--has-menu"><header-drawer data-breakpoint="tablet"> <details id="Details-menu-drawer-container" class="menu-drawer-container"> <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="Menu"> <span> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" class="icon icon-hamburger" fill="none" viewBox="0 0 18 16" > <path d="M1 .5a.5.5 0 100 1h15.71a.5.5 0 000-1H1zM.5 8a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1A.5.5 0 01.5 8zm0 7a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1a.5.5 0 01-.5-.5z" fill="currentColor"> </svg> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" class="icon icon-close" fill="none" viewBox="0 0 18 17" > <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> </svg> </span> </summary> <div id="menu-drawer" class="gradient menu-drawer motion-reduce" tabindex="-1"> <div class="menu-drawer__inner-container"> <div class="menu-drawer__navigation-container"> <nav class="menu-drawer__navigation"> <div class="transcy-switcher-manual transcy-mobile hidden mobile-nav__item"></div> <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li><a href="/" class="menu-drawer__menu-item list-menu__item link link--text focus-inset menu-drawer__menu-item--active" aria-current="page"> Home page </a></li><li><details id="Details-menu-drawer-menu-item-2"> <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset menu-drawer__menu-item--active"> Products <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <div id="link-products" class="menu-drawer__submenu has-submenu gradient motion-reduce" tabindex="-1"> <div class="menu-drawer__inner-submenu"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> Products </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><details id="Details-menu-drawer-submenu-1"> <summary class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> SBC <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <div id="childlink-sbc" class="menu-drawer__submenu has-submenu gradient motion-reduce"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> SBC </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li> <a href="/pages/mediatrix-sentinel-400-sb" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Sentinel 400 SBC </a> </li><li> <a href="/pages/mediatrix-sentinel-100-pure-sbc" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Sentinel 100 Pure SBC </a> </li><li> <a href="/pages/m5-technologies-contact" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Sentinel Mini SBC </a> </li><li> <a href="/pages/mediatrix-sentinel-cs" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Sentinel CS </a> </li></ul> </div> </details></li><li><details id="Details-menu-drawer-submenu-2"> <summary class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> VoIP Adaptors <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <div id="childlink-voip-adaptors" class="menu-drawer__submenu has-submenu gradient motion-reduce"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> VoIP Adaptors </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li> <a href="/" class="menu-drawer__menu-item link link--text list-menu__item focus-inset menu-drawer__menu-item--active" aria-current="page"> Audiotrix </a> </li><li> <a href="/pages/mediatrix-4102s-en" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Mediatrix 4102S </a> </li><li> <a href="/pages/mediatrix-s7-lp-serie" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Mediatrix S7 LP Series </a> </li></ul> </div> </details></li><li><details id="Details-menu-drawer-submenu-3"> <summary class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Media Gateways <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <div id="childlink-media-gateways" class="menu-drawer__submenu has-submenu gradient motion-reduce"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> Media Gateways </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li> <a href="/pages/mediatrix-c7-series-en" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Mediatrix C7 Series </a> </li><li> <a href="/pages/mediatrix-g7-series-en" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Mediatrix G7 Series </a> </li></ul> </div> </details></li><li><details id="Details-menu-drawer-submenu-4"> <summary class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> M5T <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <div id="childlink-m5t" class="menu-drawer__submenu has-submenu gradient motion-reduce"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> M5T </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li> <a href="/pages/m5t-sce-sdk" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> SIP Client Engine SDK </a> </li><li> <a href="/pages/sdk-for-e_dva" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> M5T SCE SDK E-DVA </a> </li></ul> </div> </details></li></ul> </div> </div> </details></li><li><details id="Details-menu-drawer-menu-item-3"> <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> Solutions <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <div id="link-solutions" class="menu-drawer__submenu has-submenu gradient motion-reduce" tabindex="-1"> <div class="menu-drawer__inner-submenu"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> Solutions </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><details id="Details-menu-drawer-submenu-1"> <summary class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Operators and Service Providers <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <div id="childlink-operators-and-service-providers" class="menu-drawer__submenu has-submenu gradient motion-reduce"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> Operators and Service Providers </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li> <a href="/pages/mediatrix-sip-trunking-for-enterprise" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> SIP Trunking Deployments </a> </li><li> <a href="/pages/pstn-to-all_ip" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> PSTN To All-IP </a> </li><li> <a href="/pages/unified-communications" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Unified Communications And Hosted PBXV </a> </li><li> <a href="/pages/mediatrix-fax-and-modem-overip" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Fax And Modem Over IP </a> </li><li> <a href="/pages/mediatrix-zero_touch-provisioning" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Zero-Touch Provisioning Solution </a> </li></ul> </div> </details></li><li><details id="Details-menu-drawer-submenu-2"> <summary class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Technology Developers <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <div id="childlink-technology-developers" class="menu-drawer__submenu has-submenu gradient motion-reduce"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> Technology Developers </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li> <a href="/pages/sip-sdks-and-technologies" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> SIP SDKs And Technologies On Demand </a> </li><li> <a href="https://www.m5t.com/pages/4-24-_-sdk-sip-application-devel-2023-06-16-13-25-9" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> SDK SIP Application Development </a> </li><li> <a href="/pages/mediatrix_sip-client-for-ip_phones" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> SIP Client For IP-Phones </a> </li></ul> </div> </details></li></ul> </div> </div> </details></li><li><details id="Details-menu-drawer-menu-item-4"> <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> Resources <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <div id="link-resources" class="menu-drawer__submenu has-submenu gradient motion-reduce" tabindex="-1"> <div class="menu-drawer__inner-submenu"> <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> Resources </button> <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a href="/pages/product-warranty" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> M5T Limited Warranty </a></li><li><a href="https://media5corporation.zendesk.com" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Support </a></li><li><a href="https://documentation.media5corp.com" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> Documentation </a></li></ul> </div> </div> </details></li><li><a href="/pages/m5-technologies-contact" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> Contact us </a></li></ul> </nav> <div class="menu-drawer__utility-links"><ul class="list list-social list-unstyled" role="list"><li class="list-social__item"> <a href="https://www.youtube.com/@media5corporation344/featured" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-youtube" viewBox="0 0 100 70"> <path d="M98 11c2 7.7 2 24 2 24s0 16.3-2 24a12.5 12.5 0 01-9 9c-7.7 2-39 2-39 2s-31.3 0-39-2a12.5 12.5 0 01-9-9c-2-7.7-2-24-2-24s0-16.3 2-24c1.2-4.4 4.6-7.8 9-9 7.7-2 39-2 39-2s31.3 0 39 2c4.4 1.2 7.8 4.6 9 9zM40 50l26-15-26-15v30z" fill="currentColor"> </svg> <span class="visually-hidden">YouTube</span> </a> </li><li class="list-social__item"> <a href="https://vimeo.com" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-vimeo" viewBox="0 0 100 87"> <path fill-rule="evenodd" d="M100 20.4c-.5 9.7-7.3 23-20.4 40C66 78.1 54.5 87 45 87c-5.8 0-10.7-5.4-14.7-16.2l-8.1-29.6C19.2 30.4 16 25 12.6 25c-.8 0-3.4 1.6-7.9 4.7l-4.7-6 14.6-13c6.6-5.8 11.5-8.8 14.8-9C37.2.8 42 6.1 43.8 17.5c2 12.3 3.3 20 4 23 2.3 10.2 4.7 15.3 7.4 15.3 2.1 0 5.3-3.3 9.5-10a39.2 39.2 0 006.7-15c.6-5.8-1.7-8.7-6.7-8.7-2.4 0-4.9.6-7.4 1.7C62.2 7.7 71.6-.1 85.4.4c10.3.3 15.1 7 14.6 20" fill="currentColor"> </svg> <span class="visually-hidden">Vimeo</span> </a> </li></ul> </div> </div> </div> </div> </details> </header-drawer><h1 class="header__heading"><a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper"> <img src="//www.m5t.com/cdn/shop/files/Logo_m5_technologies.png?v=1730415458&width=600" alt="M5 Technologies" srcset="//www.m5t.com/cdn/shop/files/Logo_m5_technologies.png?v=1730415458&width=220 220w, //www.m5t.com/cdn/shop/files/Logo_m5_technologies.png?v=1730415458&width=330 330w, //www.m5t.com/cdn/shop/files/Logo_m5_technologies.png?v=1730415458&width=440 440w" width="220" height="64.77285796434732" loading="eager" class="header__heading-logo motion-reduce" sizes="(max-width: 440px) 50vw, 220px"> </div></a></h1><nav class="header__inline-menu"> <ul class="list-menu list-menu--inline" role="list"><li><a href="/" class="header__menu-item list-menu__item link link--text focus-inset" aria-current="page"> <span class="header__active-menu-item">Home page</span> </a></li><li><header-menu> <details id="Details-HeaderMenu-2"> <summary class="header__menu-item list-menu__item link focus-inset"> <span class="header__active-menu-item">Products</span> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <ul id="HeaderMenu-MenuList-2" class="header__submenu list-menu list-menu--disclosure gradient caption-large motion-reduce global-settings-popup" role="list" tabindex="-1"><li><details id="Details-HeaderSubMenu-1"> <summary class="header__menu-item link link--text list-menu__item focus-inset caption-large"> <span>SBC</span> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <ul id="HeaderMenu-SubMenuList-1" class="header__submenu list-menu motion-reduce"><li> <a href="/pages/mediatrix-sentinel-400-sb" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Sentinel 400 SBC </a> </li><li> <a href="/pages/mediatrix-sentinel-100-pure-sbc" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Sentinel 100 Pure SBC </a> </li><li> <a href="/pages/m5-technologies-contact" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Sentinel Mini SBC </a> </li><li> <a href="/pages/mediatrix-sentinel-cs" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Sentinel CS </a> </li></ul> </details></li><li><details id="Details-HeaderSubMenu-2"> <summary class="header__menu-item link link--text list-menu__item focus-inset caption-large"> <span>VoIP Adaptors</span> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <ul id="HeaderMenu-SubMenuList-2" class="header__submenu list-menu motion-reduce"><li> <a href="/" class="header__menu-item list-menu__item link link--text focus-inset caption-large list-menu__item--active" aria-current="page"> Audiotrix </a> </li><li> <a href="/pages/mediatrix-4102s-en" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Mediatrix 4102S </a> </li><li> <a href="/pages/mediatrix-s7-lp-serie" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Mediatrix S7 LP Series </a> </li></ul> </details></li><li><details id="Details-HeaderSubMenu-3"> <summary class="header__menu-item link link--text list-menu__item focus-inset caption-large"> <span>Media Gateways</span> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <ul id="HeaderMenu-SubMenuList-3" class="header__submenu list-menu motion-reduce"><li> <a href="/pages/mediatrix-c7-series-en" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Mediatrix C7 Series </a> </li><li> <a href="/pages/mediatrix-g7-series-en" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Mediatrix G7 Series </a> </li></ul> </details></li><li><details id="Details-HeaderSubMenu-4"> <summary class="header__menu-item link link--text list-menu__item focus-inset caption-large"> <span>M5T</span> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <ul id="HeaderMenu-SubMenuList-4" class="header__submenu list-menu motion-reduce"><li> <a href="/pages/m5t-sce-sdk" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> SIP Client Engine SDK </a> </li><li> <a href="/pages/sdk-for-e_dva" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> M5T SCE SDK E-DVA </a> </li></ul> </details></li></ul> </details> </header-menu></li><li><header-menu> <details id="Details-HeaderMenu-3"> <summary class="header__menu-item list-menu__item link focus-inset"> <span>Solutions</span> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <ul id="HeaderMenu-MenuList-3" class="header__submenu list-menu list-menu--disclosure gradient caption-large motion-reduce global-settings-popup" role="list" tabindex="-1"><li><details id="Details-HeaderSubMenu-1"> <summary class="header__menu-item link link--text list-menu__item focus-inset caption-large"> <span>Operators and Service Providers</span> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <ul id="HeaderMenu-SubMenuList-1" class="header__submenu list-menu motion-reduce"><li> <a href="/pages/mediatrix-sip-trunking-for-enterprise" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> SIP Trunking Deployments </a> </li><li> <a href="/pages/pstn-to-all_ip" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> PSTN To All-IP </a> </li><li> <a href="/pages/unified-communications" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Unified Communications And Hosted PBXV </a> </li><li> <a href="/pages/mediatrix-fax-and-modem-overip" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Fax And Modem Over IP </a> </li><li> <a href="/pages/mediatrix-zero_touch-provisioning" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Zero-Touch Provisioning Solution </a> </li></ul> </details></li><li><details id="Details-HeaderSubMenu-2"> <summary class="header__menu-item link link--text list-menu__item focus-inset caption-large"> <span>Technology Developers</span> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <ul id="HeaderMenu-SubMenuList-2" class="header__submenu list-menu motion-reduce"><li> <a href="/pages/sip-sdks-and-technologies" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> SIP SDKs And Technologies On Demand </a> </li><li> <a href="https://www.m5t.com/pages/4-24-_-sdk-sip-application-devel-2023-06-16-13-25-9" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> SDK SIP Application Development </a> </li><li> <a href="/pages/mediatrix_sip-client-for-ip_phones" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> SIP Client For IP-Phones </a> </li></ul> </details></li></ul> </details> </header-menu></li><li><header-menu> <details id="Details-HeaderMenu-4"> <summary class="header__menu-item list-menu__item link focus-inset"> <span>Resources</span> <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> </svg> </summary> <ul id="HeaderMenu-MenuList-4" class="header__submenu list-menu list-menu--disclosure gradient caption-large motion-reduce global-settings-popup" role="list" tabindex="-1"><li><a href="/pages/product-warranty" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> M5T Limited Warranty </a></li><li><a href="https://media5corporation.zendesk.com" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Support </a></li><li><a href="https://documentation.media5corp.com" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Documentation </a></li></ul> </details> </header-menu></li><li><a href="/pages/m5-technologies-contact" class="header__menu-item list-menu__item link link--text focus-inset"> <span>Contact us</span> </a></li></ul> </nav><div class="header__icons"> <div class="desktop-localization-wrapper"> </div> <details-modal class="header__search"> <details> <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search"> <span> <svg class="modal__toggle-open icon icon-search" aria-hidden="true" focusable="false"> <use href="#icon-search"> </svg> <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false"> <use href="#icon-close"> </svg> </span> </summary> <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search"> <div class="modal-overlay"></div> <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form"> <div class="field"> <input class="search__input field__input" id="Search-In-Modal" type="search" name="q" value="" placeholder="Search"role="combobox" aria-expanded="false" aria-owns="predictive-search-results" aria-controls="predictive-search-results" aria-haspopup="listbox" aria-autocomplete="list" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false"> <label class="field__label" for="Search-In-Modal">Search</label> <input type="hidden" name="options[prefix]" value="last"> <button type="reset" class="reset__button field__button hidden" aria-label="Clear search term"> <svg class="icon icon-close" aria-hidden="true" focusable="false"> <use xlink:href="#icon-reset"> </svg> </button> <button class="search__button field__button" aria-label="Search"> <svg class="icon icon-search" aria-hidden="true" focusable="false"> <use href="#icon-search"> </svg> </button> </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search> <div class="predictive-search__loading-state"> <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> </svg> </div> </div> <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="Close"> <svg class="icon icon-close" aria-hidden="true" focusable="false"> <use href="#icon-close"> </svg> </button> </div> </div> </details> </details-modal><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"><svg class="icon icon-cart-empty" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="none" > <path d="m15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33l-.78-11.61zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1 -9.5 0zm8.5 0h-7.5v.63a3.75 3.75 0 1 0 7.5 0z" fill="currentColor" fill-rule="evenodd"/> </svg> <span class="visually-hidden">Cart</span></a> <div class="transcy-switcher-manual transcy-desktop hidden"></div> </div> </header> </sticky-header> <cart-notification> <div class="cart-notification-wrapper page-width"> <div id="cart-notification" class="cart-notification focus-inset color-background-1 gradient" aria-modal="true" aria-label="Item added to your cart" role="dialog" tabindex="-1" > <div class="cart-notification__header"> <h2 class="cart-notification__heading caption-large text-body"><svg class="icon icon-checkmark color-foreground-text" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 9" fill="none" > <path fill-rule="evenodd" clip-rule="evenodd" d="M11.35.643a.5.5 0 01.006.707l-6.77 6.886a.5.5 0 01-.719-.006L.638 4.845a.5.5 0 11.724-.69l2.872 3.011 6.41-6.517a.5.5 0 01.707-.006h-.001z" fill="currentColor"/> </svg> Item added to your cart </h2> <button type="button" class="cart-notification__close modal__close-button link link--text focus-inset" aria-label="Close" > <svg class="icon icon-close" aria-hidden="true" focusable="false"> <use href="#icon-close"> </svg> </button> </div> <div id="cart-notification-product" class="cart-notification-product"></div> <div class="cart-notification__links"> <a href="/cart" id="cart-notification-button" class="button button--secondary button--full-width" >View cart</a> <form action="/cart" method="post" id="cart-notification-form"> <button class="button button--primary button--full-width" name="checkout"> Check out </button> </form> <button type="button" class="link button-label">Continue shopping</button> </div> </div> </div> </cart-notification> <style data-shopify> .cart-notification { display: none; } </style> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "M5 Technologies", "logo": "https:\/\/www.m5t.com\/cdn\/shop\/files\/Logo_m5_technologies.png?v=1730415458\u0026width=500", "sameAs": [ "", "", "", "", "", "", "", "https:\/\/www.youtube.com\/@media5corporation344\/featured", "https:\/\/vimeo.com" ], "url": "https:\/\/www.m5t.com" } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "name": "M5 Technologies", "potentialAction": { "@type": "SearchAction", "target": "https:\/\/www.m5t.com\/search?q={search_term_string}", "query-input": "required name=search_term_string" }, "url": "https:\/\/www.m5t.com" } </script> <style> @media screen and (min-width: 990px) {#shopify-section-sections--16993222852772__header .header {padding-top: 0 !important; padding-bottom: 0 !important; }} #shopify-section-sections--16993222852772__header .header__icons {display: none !important;} @media screen and (min-width: 990px) {#shopify-section-sections--16993222852772__header .header--middle-left {grid-template-areas: "heading navigation icons"; grid-template-columns: auto auto 0fr !important; column-gap: 2rem; } #shopify-section-sections--16993222852772__header .header__inline-menu {display: flex !important; justify-content: flex-end !important; }} #shopify-section-sections--16993222852772__header ul.list-menu.list-menu--inline {font-weight: 600;} </style></div> <!-- END sections: header-group --> <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> <div id="shopify-section-template--16993222361252__pagefly-home" class="shopify-section"><div data-pf-editor-version="legacy" class="sc-iMTngq kBvHOQ __pf __pf_epguGImB" id="__pf"><div data-pf-type="Body" class="sc-leSCGb iMArUB pf-1_"><div data-pf-type="Layout" class="sc-dhFVuh jkEGqE pf-2_"><div data-section-id="pf-78b9" data-category="Sales Boost" data-name="Last Chance" data-pf-type="Section" class="sc-dQEsWe gFKonE pf-3_"><div style="--cw:1170px" class="sc-deXguC bAaQfZ"><div class="sc-feUYzb iXyfoG pf-4_ pf-r pf-c-lm pf-r-eh" style="--s-xs:15px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-5_"><h2 data-pf-type="Heading" class="sc-eulNPF VBQcR pf-6_ pf-sm-hide pf-hide"><span data-pf-type="Text" class="sc-fyVeKD hlsaZG pf-8_"><strong><b>Your Global Partner <br>for Secure SIP Connectivity</b></strong></span></h2><div data-pf-type="Block" class="sc-fbKhWw jWkgMG pf-9_"><a data-pf-type="Button" class="sc-iEXLnV jvLCtl pf-10_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide"><span data-pf-type="Text" class="sc-fyVeKD hlsaZG pf-12_">DISCOVER OUR SOLUTIONS</span></a></div></div></div></div></div></div><div data-section-id="pf-6aeb" data-category="Testimonials" data-name="Slab" data-pf-type="Section" class="sc-dQEsWe gFKonE pf-13_"><div style="--cw:1170px" class="sc-deXguC bAaQfZ"><div class="sc-feUYzb iXyfoG pf-14_ pf-r pf-r-eh" style="--s-xs:15px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-15_"><h3 data-pf-type="Heading" class="sc-eulNPF VBQcR pf-16_"><span data-pf-type="Text" class="sc-fyVeKD hlsaZG pf-18_">For Over 33 Years, M5 Technologies Has Delivered Secure, High-Performance SIP Solutions, Built in Canada, Trusted by Over 1.4 Billion Users in 185 Countries Worldwide.</span></h3></div></div></div><div class="sc-feUYzb iXyfoG pf-19_ pf-r pf-r-eh" style="--s-xs:15px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-20_"><div class="sc-byGRMF llGsyY pf-21_ pf-r pf-r-ew pf-c-ct pf-r-eh" style="--s-xs:15px;--ew-xs:1;--ew-sm:3" data-pf-type="ContentList"><div class="pf-c"><div data-href="/pages/1-28-_-sip-trunking-for-enterpri-2023-06-16-13-25-43" data-target="_self" data-pf-type="ContentListItem" class="sc-dfzzkU devTia rid-8 animate-grow-shadow"><div class="sc-feUYzb iXyfoG rid-7 pf-r pf-r-eh" style="--s-xs:0px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO rid-6"><div title="Mediatrix virtual SBC" data-pf-type="Image" class="sc-SrAaV AuiwH rid-4"><img src="https://cdn.shopify.com/s/files/1/0637/7730/8888/files/Capture_d_ecran_le_2025-01-23_a_18.30.43.png?v=1737675133" srcSet="https://cdn.shopify.com/s/files/1/0637/7730/8888/files/Capture_d_ecran_le_2025-01-23_a_18.30.43.png?v=1737675133 1536w" width="642" height="430" alt="Mediatrix virtual SBC" title="Mediatrix virtual SBC"/></div><p class="sc-eifsgl hdULMz rid-3" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-fyVeKD hlsaZG pf-28_"><strong>Virtual Session Border Controller: Optimal Security at Your Fingertips</strong><br><br>M5 Technologies' Virtual SBC is a turnkey solution that secures VolP communications, guarantees interoperability and optimizes session management for smooth, reliable connectivity between private and public networks.</span></p></div></div></div></div></div><div class="pf-c"><div data-href="/pages/sdk-for-e_dva" data-target="_self" data-pf-type="ContentListItem" class="sc-dfzzkU devTia rid-8 animate-grow-shadow"><div class="sc-feUYzb iXyfoG rid-7 pf-r pf-r-eh" style="--s-xs:0px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO rid-6"><div data-pf-type="Image" class="sc-SrAaV AuiwH rid-4"><img src="https://cdn.shopify.com/s/files/1/0637/7730/8888/files/Capture_d_ecran_le_2025-01-23_a_18.30.51.png?v=1737675161" srcSet="https://cdn.shopify.com/s/files/1/0637/7730/8888/files/Capture_d_ecran_le_2025-01-23_a_18.30.51.png?v=1737675161 1536w" width="642" height="426" alt="Capture d’écran, le 2025-01-23 à 18.30.51.png__PID:831f07f9-6622-43be-9d1a-b9478e5d7d32"/></div><p class="sc-eifsgl hdULMz rid-3" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-fyVeKD hlsaZG pf-35_"><strong>Digital Voice Integration: Connect Clearly, Instantly</strong><br><br>M5 Technologies' E-DVA integrates VolP functionality into modems and routers, offering superior audio quality and advanced interoperability.</span></p></div></div></div></div></div><div class="pf-c"><div data-href="/pages/7-31-_-migrate-to-sip-telephony-2023-06-16-13-25-9" data-target="_self" data-pf-type="ContentListItem" class="sc-dfzzkU devTia rid-8 animate-grow-shadow"><div class="sc-feUYzb iXyfoG rid-7 pf-r pf-r-eh" style="--s-xs:0px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO rid-6"><div data-pf-type="Image" class="sc-SrAaV AuiwH rid-4"><img src="https://cdn.shopify.com/s/files/1/0637/7730/8888/files/Capture_d_ecran_le_2025-01-23_a_18.31.03.png?v=1737675199" srcSet="https://cdn.shopify.com/s/files/1/0637/7730/8888/files/Capture_d_ecran_le_2025-01-23_a_18.31.03.png?v=1737675199 1536w" width="672" height="446" alt="Capture d’écran, le 2025-01-23 à 18.31.03.png__PID:07f96622-f3be-4d1a-b947-8e5d7d322135"/></div><p class="sc-eifsgl hdULMz rid-3" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-fyVeKD hlsaZG pf-42_"><strong>Unified Telecom SDK: Simplify and Enhance Your Development</strong><br><br>The M5 Technologies Software Development Kit facilitates the development of secure, interoperable and customizable VolP and multimedia solutions on a variety of platforms.</span></p></div></div></div></div></div></div></div></div></div></div></div><div data-section-id="pf-b232" data-category="Gift Guide" data-name="Oliver" data-pf-type="Section" class="sc-dQEsWe gFKonE pf-43_"><div style="--cw:1170px" class="sc-deXguC bAaQfZ"><div class="sc-feUYzb iXyfoG pf-44_ pf-r pf-r-eh" style="--s-xs:15px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-45_"><h3 data-pf-type="Heading2" class="sc-dExXmK Xerjk pf-46_">Optimize and Secure Your Telecommunications Ecosystem with Our Innovative Solutions</h3></div></div></div></div></div><div data-section-id="pf-9068" data-category="Newsletter" data-name="Nilla" data-pf-type="Section" class="sc-dQEsWe gFKonE pf-48_"><div style="--cw:1170px" class="sc-deXguC bAaQfZ"><div class="sc-feUYzb iXyfoG pf-49_ pf-r pf-c-cm" style="--s-xs:15px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:10;--c-md:6;--c-lg:6"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-50_"><img src="https://cdn.shopify.com/s/files/1/0637/7730/8888/files/Capture_d_ecran_le_2025-01-24_a_16.54.23.png?v=1737755699" srcSet="https://cdn.shopify.com/s/files/1/0637/7730/8888/files/Capture_d_ecran_le_2025-01-24_a_16.54.23.png?v=1737755699 1536w, https://cdn.shopify.com/s/files/1/0637/7730/8888/files/Capture_d_ecran_le_2025-01-24_a_16.54.23_500x.png?v=1737755699 320w" width="1880" height="1640" alt="Capture d’écran, le 2025-01-24 à 16.54.23.png__PID:7cc76801-5b47-4393-b8d3-a270b83d14a5" data-pf-type="Image3" class="sc-dycZeM jfmvQi pf-51_"/></div></div><div class="pf-c" style="--c-xs:12;--c-sm:10;--c-md:6;--c-lg:6"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-52_"><h3 data-pf-type="Heading2" class="sc-dExXmK Xerjk pf-53_"><strong>Thank you for visiting our website!</strong><br><br>Whether you're looking for information, want to share your comments or need help, we're here for you. Simply fill in the form below, and we'll get back to you as soon as possible.</h3><div data-pf-type="Form2" class="sc-wknyq jLglAL pf-55_"><form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="✓" /> <div class="sc-feUYzb iXyfoG pf-56_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:10px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-57_"><div data-pf-type="Form2.Field" class="sc-eKtwIF RnjFD pf-58_"><input name="contact[Full Name]" type="text" placeholder="Your name" required="" data-pf-type="FormInput" id="field-ce2cd815" class="sc-harTYt jVCRyn pf-60_ pf-field-1" value=""/></div></div></div></div><div class="sc-feUYzb iXyfoG pf-61_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:10px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:6;--c-md:6;--c-lg:6"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-62_"><div data-pf-type="Form2.Field" class="sc-eKtwIF RnjFD pf-63_"><input name="contact[email]" type="email" placeholder="Email" required="" data-pf-type="FormInput" id="field-0280bc86" class="sc-harTYt jVCRyn pf-65_ pf-field-1" value=""/></div></div></div><div class="pf-c" style="--c-xs:12;--c-sm:6;--c-md:6;--c-lg:6"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-66_"><div data-pf-type="Form2.Field" class="sc-eKtwIF RnjFD pf-67_"><input name="contact[Phone Number]" type="text" placeholder="Phone number" required="" data-pf-type="FormInput" id="field-064539cf" class="sc-harTYt jVCRyn pf-69_ pf-field-1" value=""/></div></div></div></div><div class="sc-feUYzb iXyfoG pf-70_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:10px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-71_"><div data-pf-type="Form2.Field" class="sc-eKtwIF RnjFD pf-72_"><textarea name="contact[Message]" required="" placeholder="Your request" rows="6" data-pf-type="FormInput" id="field-338c1073" class="sc-hKimUj gzrnWx pf-74_ pf-field-1"></textarea></div></div></div></div><div class="sc-feUYzb iXyfoG pf-75_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:10px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:12;--c-md:12;--c-lg:12"><div data-pf-type="Column" class="sc-bJBfJu drQDYO pf-76_"><button class="sc-AHTRA iFkHTn pf-77_ pf-button-4 animate-glow pf-no-border" type="submit" data-pf-type="Form2.Button2"><i class="sc-empmoP ftWFYg pf-78_ pfa pfa-envelope" data-pf-type="Icon"></i>Send</button></div></div></div></form></div></div></div></div></div></div></div></div></div><script> !function(){ window.__pagefly_page_setting__ = {"pageTitle":"Home 1.1","pageType":"home","pageId":"10c913c6-9432-4822-b7ca-32382bd59698","lazyLoad":false,"forceByPassGoogleLightHouse":false,"imageLazyLoad":false,"nativeImageLazyLoad":true,"useThemeJQ":false,"sectionRootType":"Body","trackingIDs":[]}; window.__pagefly_setting__&&(window.__pagefly_setting2__=window.__pagefly_setting__),window.__pagefly_setting__={"baseURL":"https://apps.pagefly.io","analyticsURL":"https://analytics.pagefly.io","isBackend":false,"cdnURL":"https://cdn.pagefly.io","pageflyVersion":"4.22.9","shopDomain":"m5-technologies.myshopify.com","elementData":{},"shopifyProxyPath":"/apps/pagefly"},window.__pagefly_setting2__&&(window.__pagefly_setting__=function _(d,b){let c={...d||{}};for(let a of Object.keys(b))b[a]instanceof Object&&(Array.isArray(b[a])&&c[a]?Object.assign(b[a],[...b[a],...c[a]]):Object.assign(b[a],_(c[a],b[a])));return Object.assign(c||{},b),c}(__pagefly_setting2__,__pagefly_setting__),delete window.__pagefly_setting2__),window.__pagefly_setting__.moneyFormat="${{amount}}"}(); </script> </div> </main> <!-- BEGIN sections: footer-group --> <div id="shopify-section-sections--16993222820004__footer" class="shopify-section shopify-section-group-footer-group"> <link href="//www.m5t.com/cdn/shop/t/3/assets/section-footer.css?v=171161867995400310821681796625" rel="stylesheet" type="text/css" media="all" /> <link href="//www.m5t.com/cdn/shop/t/3/assets/component-newsletter.css?v=103472482056003053551681796624" rel="stylesheet" type="text/css" media="all" /> <link href="//www.m5t.com/cdn/shop/t/3/assets/component-list-menu.css?v=151968516119678728991681796624" rel="stylesheet" type="text/css" media="all" /> <link href="//www.m5t.com/cdn/shop/t/3/assets/component-list-payment.css?v=69253961410771838501681796624" rel="stylesheet" type="text/css" media="all" /> <link href="//www.m5t.com/cdn/shop/t/3/assets/component-list-social.css?v=52211663153726659061681796624" rel="stylesheet" type="text/css" media="all" /> <style data-shopify>.footer { margin-top: 36px; } .section-sections--16993222820004__footer-padding { padding-top: 42px; padding-bottom: 69px; } @media screen and (min-width: 750px) { .footer { margin-top: 48px; } .section-sections--16993222820004__footer-padding { padding-top: 56px; padding-bottom: 92px; } }</style><footer class="footer color-accent-2 gradient section-sections--16993222820004__footer-padding"><div class="footer__content-top page-width"><div class="footer-block--newsletter"><div class="footer-block__newsletter"><h2 class="footer-block__heading inline-richtext"><strong>Subscribe to our emails</strong></h2><form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="footer__newsletter newsletter-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="contact[tags]" value="newsletter"> <div class="newsletter-form__field-wrapper"> <div class="field"> <input id="NewsletterForm--sections--16993222820004__footer" type="email" name="contact[email]" class="field__input" value="" aria-required="true" autocorrect="off" autocapitalize="off" autocomplete="email" placeholder="Email" required > <label class="field__label" for="NewsletterForm--sections--16993222820004__footer"> Email </label> <button type="submit" class="newsletter-form__button field__button" name="commit" id="Subscribe" aria-label="Subscribe" > <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg" > <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> </svg> </button> </div></div></form></div></div> </div><div class="footer__content-bottom"> <div class="footer__content-bottom-wrapper page-width"> <div class="footer__column footer__localization isolate"></div> <div class="footer__column footer__column--info"></div> </div> <div class="footer__content-bottom-wrapper page-width footer__content-bottom-wrapper--center"> <div class="footer__copyright caption"> <small class="copyright__content" >© 2025, <a href="/" title="">M5 Technologies</a></small> <small class="copyright__content"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Powered by M5 Technologies</a></small></div> </div> </div> </footer> </div> <!-- END sections: footer-group --> <ul hidden> <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> <li id="a11y-new-window-message">Opens in a new window.</li> </ul> <script> window.shopUrl = 'https://www.m5t.com'; window.routes = { cart_add_url: '/cart/add', cart_change_url: '/cart/change', cart_update_url: '/cart/update', cart_url: '/cart', predictive_search_url: '/search/suggest' }; window.cartStrings = { error: `There was an error while updating your cart. Please try again.`, quantityError: `You can only add [quantity] of this item to your cart.` } window.variantStrings = { addToCart: `Add to cart`, soldOut: `Sold out`, unavailable: `Unavailable`, unavailable_with_option: `[value] - Unavailable`, } window.accessibilityStrings = { imageAvailable: `Image [index] is now available in gallery view`, shareSuccess: `Link copied to clipboard`, pauseSlideshow: `Pause slideshow`, playSlideshow: `Play slideshow`, } </script><script src="//www.m5t.com/cdn/shop/t/3/assets/predictive-search.js?v=16985596534672189881681796625" defer="defer"></script><!-- langify-v2-scripts-begin --> <script> var langify = langify || {}; /** * * * @class LyHelper */ class LyHelper { constructor() { return { ajax: function(params) { return LyHelper.ajax(params); }, isIE: function() { return LyHelper.isIE(); }, extractImageObject: function(val) { return LyHelper.extractImageObject(val); }, getCurrentLanguage: function() { return LyHelper.getCurrentLanguage(); }, getCookie: function(name) { return LyHelper.getCookie(name); }, setCookie: function(name, value, days) { return LyHelper.setCookie(name, value, days); }, getVersion: function() { return LyHelper.getVersion(); }, isOutOfViewport: function(elem) { return LyHelper.isOutOfViewport(elem); }, isDomainFeatureEnabled: function() { return LyHelper.isDomainFeatureEnabled(); }, getVal: function(str) { return LyHelper.getVal(str); }, inIframe: function() { return LyHelper.inIframe(); }, shopifyAPI: function() { return LyHelper.shopifyAPI(); }, loadScript: function(url, callback) { return LyHelper.loadScript(url, callback); }, localizationRedirect: function(type, code, additionalFields, additionalParams, domain) { return LyHelper.localizationRedirect(type, code, additionalFields, additionalParams, domain); }, changeCurrency: function(code) { return LyHelper.changeCurrency(code); }, log: function(title, data, type) { return LyHelper.log(title, data, type); }, } } static ajax(params) { var data = params.data; fetch(params.url, { method: params.method, headers: { 'Content-Type': 'application/json', }, body: (data && params.method === 'POST') ? JSON.stringify(data) : null, }) .then(response => response.json()) .then(data => { params.success(data); }) .catch((error) => { console.error('Error:', error); }); } static isIE() { var ua = navigator.userAgent; var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1; return is_ie; } static extractImageObject(val) { if(!val || val == '') return false; var val = val; // Handle src-sets if(val.search(/([0-9]+w?h?x?,)/gi) > -1) { val = val.split(/([0-9]+w?h?x?,)/gi)[0]; } var hostBegin = val.indexOf('//') ? val.indexOf('//') : 0; var hostEnd = val.lastIndexOf('/') + 1; var host = val.substring(hostBegin, hostEnd); var afterHost = val.substring(hostEnd, val.length); var url = val; var file = ''; var name = ''; var type = ''; afterHost = afterHost.substring(0, (afterHost.indexOf("#") == -1) ? afterHost.length : afterHost.indexOf("#")); afterHost = afterHost.substring(0, (afterHost.indexOf("?") == -1) ? afterHost.length : afterHost.indexOf("?")); name = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, ""); if(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi) > -1) { type = afterHost.substring(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi)+1, afterHost.length); } else { type = afterHost.substring(afterHost.lastIndexOf('.')+1, afterHost.length); } file = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, '.'+type); return { host: host, name: name, type: type, file: file } } static getCurrentLanguage() { return window.langify.locale.iso_code; } static setLanguage(code) { } static getCookie(name) { var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); if(v) return v[2]; else return null; } static setCookie(name, value, days) { var d = new Date; d.setTime(d.getTime() + 24*60*60*1000*days); document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString(); } static getVersion() { return 2; } static isOutOfViewport (elem) { var bounding = elem.getBoundingClientRect(); var out = {}; out.top = bounding.top < 0; out.left = bounding.left < 0; out.bottom = Math.ceil(bounding.bottom) >= (window.innerHeight || document.documentElement.clientHeight); out.right = bounding.right > (window.innerWidth || document.documentElement.clientWidth); out.any = out.top || out.left || out.bottom || out.right; out.inViewport = bounding.x > 0 && bounding.y > 0; return out; } static isDomainFeatureEnabled() { return window.langify.locale.domain_feature_enabled; } static getVal(str) { var v = window.location.search.match(new RegExp('(?:[?&]'+str+'=)([^&]+)')); return v ? v[1] : null; } static inIframe() { try { return window.self !== window.top; } catch (e) { return true; } } static shopifyAPI() { var root_url = window.langify.locale.root_url != '/' ? window.langify.locale.root_url : ''; return { attributeToString: function(attribute) { if((typeof attribute) !== 'string') { attribute += ''; if(attribute === 'undefined') {attribute = '';} } return attribute.trim(); }, getCart: function(callback) { LyHelper.ajax({ method: 'GET', url: root_url+'/cart.js', success: function (cart, textStatus) { if((typeof callback) === 'function') { callback(cart); } } }); }, updateCartNote: function(note, callback) { var params = { method: 'POST', url: root_url+'/cart/update.js', data: 'note=' + this.attributeToString(note), dataType: 'json', success: function(cart) {if((typeof callback) === 'function') {callback(cart);}}, error: this.onError }; LyHelper.ajax(params); }, updateCartAttributes: function(attributes, callback) { var params = { method: 'POST', url: root_url+'/cart/update.js', data: {"attributes": attributes}, dataType: 'json', success: function(cart) { if((typeof callback) === 'function') { callback(cart); } }, error: this.onError }; LyHelper.ajax(params); }, onError: function(XMLHttpRequest, textStatus) { } } } static loadScript(url, callback) { var script = document.createElement('script'); script.type = 'text/javascript'; if(script.readyState) { script.onreadystatechange = function () { if(script.readyState == 'loaded' || script.readyState == 'complete') { script.onreadystatechange = null; callback(); } }; } else { script.onload = function () { callback(); }; } script.src = url; document.getElementsByTagName('head')[0].appendChild(script); } static localizationRedirect(type, code, additionalFields, additionalParams, domain) { if(type !== 'country_code' && type !== 'language_code') { return false; } if(!additionalParams) { var additionalParams = ''; } if(domain) { window.location.href = domain; return true; } var params = [ { name: type, value: code }, { name: 'return_to', value: window.location.pathname + window.location.search + additionalParams + window.location.hash }, { name: 'form_type', value: 'localization' }, { name: '_method', value: 'put' } ]; if(additionalFields) { for(var i=0; i<additionalFields.length; i++) { params.push(additionalFields[i]); } } const form = document.createElement('form'); form.method = 'POST'; form.action = '/localization'; params.forEach(function(param) { const field = document.createElement('input'); field.type = 'hidden'; field.name = param['name']; field.value = param['value']; form.appendChild(field); }); document.body.appendChild(form); form.submit(); } static changeCurrency(code) { const params = [ { name: 'currency_code', value: code }, { name: 'return_to', value: window.location.pathname + window.location.search + window.location.hash }, { name: 'form_type', value: 'localization' }, { name: '_method', value: 'put' } ]; const form = document.createElement('form'); form.method = 'POST'; form.action = '/localization'; params.forEach(function(param) { const field = document.createElement('input'); field.type = 'hidden'; field.name = param['name']; field.value = param['value']; form.appendChild(field); }); document.body.appendChild(form); form.submit(); } static log(title, data, type) { if(langify.settings.debug) { if(!data) { var data = ''; } var css = 'color: green; font-weight: bold;'; if(type === 'error') { css = 'color: red; font-weight: bold;'; } console.log(`%c ${title}: \n`, css, data); } } }; /** * * * @class TranslationObserver */ class TranslationObserver { constructor() { LyHelper.log('TranslationObserver instantiation') } init() { if(langify.settings.observe && !LyHelper.isIE()) { var langifyObserver = this.langifyObserverCore(); langifyObserver.init(); // HOTFIX: translation observer sometimes refuses to trigger on page load_ langifyObserver.triggerCustomContents(); langify.api = { observer: { start: langifyObserver.init, stop: langifyObserver.stopObserver, trigger: langifyObserver.triggerCustomContents, translateLink: langifyObserver.translateLink, translateTextNode: langifyObserver.translateTextNode, translateNodeAttrs: langifyObserver.translateNodeAttrs, translateImage: langifyObserver.translateImage, translateCssImage: langifyObserver.translateCssImage } }; } return this; } langifyObserverCore() { var observedNodes = []; var intersectionObs = null; var mutationCount = 0; var mutationObs = null; var mutationObsConfig = { characterData: true, characterDataOldValue: true, attributes: true, attributeOldValue: true, childList: true, subtree: true, }; var customContents_html = {}; var customContents_text = {}; var customContents_attr = {}; function init() { if(langify.settings.observe) { spreadCustomContents(); if (window.MutationObserver) { if (langify.settings.lazyload && window.IntersectionObserver) { startIntersectionObserver(); } else { startMutationObserver(null); } } else { startMutationEvents(); } } } // Intersection Observer function startIntersectionObserver() { intersectionObs = new IntersectionObserver(callbackIntersectionChange); var elementNodes = document.getElementsByClassName('shopify-section'); Array.prototype.slice.call(elementNodes).forEach(function(node) { intersectionObs.observe(node); }); } function callbackIntersectionChange(intersections) { intersections.forEach(function(intersection) { var target = intersection.target; var targetIsIntersecting = Boolean(target.getAttribute('ly-is-intersecting') === "true" ? true : false); if(typeof targetIsIntersecting == 'undefined' || targetIsIntersecting == null) { target.setAttribute('ly-is-intersecting', intersection.isIntersecting); targetIsIntersecting = intersection.isIntersecting; } // On Screen if(targetIsIntersecting == false && intersection.isIntersecting == true) { if(!target.getAttribute('ly-is-observing')) { startMutationObserver(target); intersectionObs.unobserve(target); // As the mutation observer didn't see the "add" of the elememts, trigger the initial translation manually var elementNodes = getNodesUnder(target, 'SHOW_ELEMENT'); var textNodes = getNodesUnder(target, 'SHOW_TEXT'); var nodes = elementNodes.concat(textNodes); nodes.forEach(function(node) { translate(node, 'mutation -> childList'); }); } } // Off Screen //else if(targetIsIntersecting == true && intersection.isIntersecting == false) { // stopMutationObserver(target); //} target.setAttribute('ly-is-intersecting', intersection.isIntersecting); }); } // Mutation Observer function startMutationObserver(observerTarget) { if (!observerTarget) { var target = document.documentElement || document.body; // main window } else { if (observerTarget.nodeName === 'IFRAME') { try { var target = observerTarget.contentDocument || observerTarget.contentWindow.document; } catch { return false; } } else { var target = observerTarget; } } mutationObs = new MutationObserver(callbackDomChange); mutationObs.observe(target, mutationObsConfig); observedNodes.push(target); try { target.setAttribute('ly-is-observing', 'true'); } catch(e) {} } function stopMutationObserver(target) { if(observedNodes.indexOf(target) > -1) { observedNodes.splice(observedNodes.indexOf(target), 1); } var mutations = mutationObs.takeRecords(); mutationObs.disconnect(); observedNodes.forEach(node => { mutationObs.observe(node, mutationObsConfig); }); try { target.removeAttribute('ly-is-observing'); } catch(e) {} } function callbackDomChange(mutations, mutationObs) { for (var i = 0, length = mutations.length; i < length; i++) { var mutation = mutations[i]; var target = mutation.target; // Links-Hook if (mutation.type === 'attributes' && (mutation.attributeName === 'href' || mutation.attributeName === 'action')) { var target = mutation.target; translateLink(target.getAttribute(mutation.attributeName), target); } // Images-Hook else if (mutation.type === 'attributes' && (mutation.attributeName === 'src' || mutation.attributeName === 'data-src' || mutation.attributeName === 'srcset' || mutation.attributeName === 'data-srcset')) { translateImage(target, mutation.attributeName); } else if (mutation.type === 'attributes' && mutation.attributeName === 'style') { translateCssImage(target); } // Subtree Events else if (mutation.type === 'childList') { // Added Nodes if(mutation.addedNodes.length > 0) { var elementNodes = getNodesUnder(mutation.target, 'SHOW_ELEMENT'); var textNodes = getNodesUnder(mutation.target, 'SHOW_TEXT'); var nodes = elementNodes.concat(textNodes); nodes.forEach(function(node) { translate(node, 'mutation -> childList'); }); } } // CharacterData Events else if (mutation.type === 'characterData') { var target = mutation.target; translate(target, 'mutation -> characterData'); } } } function translate(node, info) { if((node.nodeType === 1 && node.hasAttribute('data-ly-locked')) || (node.nodeType === 3 && node.parentNode && node.parentNode.hasAttribute('data-ly-locked'))) { return; } // CC-Hook if (node.nodeName !== 'SCRIPT' && node.nodeName !== 'STYLE') { if (node.nodeType === 3) { translateTextNode(node, info); } translateNodeAttrs(node); } // Links-Hook if (node.nodeName === 'A' || node.nodeName === 'FORM') { if(node.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action'; var url = node.getAttribute(attrName); translateLink(url, node); } // Images-Hook if (node.nodeName === 'IMG' || node.nodeName === 'SOURCE') { translateImage(node, ['src', 'data-src', 'srcset', 'data-srcset']); } if (node.attributes && node.getAttribute('style')) { translateCssImage(node); } // Iframe Observation if (node.nodeName === 'IFRAME') { // Todo: handle srcdoc iframe content observing if (node.getAttribute('ly-is-observing') == null && node.getAttribute('src') == null && !node.hasAttribute('srcdoc')) { node.setAttribute('ly-is-observing', 'true'); startMutationObserver(node); } } } function translateNodeAttrs(node) { if (node.attributes && node.getAttribute('placeholder')) { var src = node.getAttribute('placeholder').trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase(); if(customContents_text[src] && node.getAttribute('placeholder') !== customContents_text[src]) { node.setAttribute('placeholder', customContents_text[src]); } } } function translateTextNode(node, info) { if(langify.settings.observeCustomContents === false || !node.textContent || node.textContent.trim().length === 0) { return; } var oldSrc = node.textContent.trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase(); var src = node.textContent.trim().replace(/(\r\n|\n|\r)/gim," ").replace(/\s+/g," ").toLowerCase(); if(customContents_text[oldSrc]) { src = oldSrc; } if(customContents_text[src] && node.textContent !== customContents_text[src]) { var newContent = node.textContent.replace(node.textContent.trim(), customContents_text[src]); if (newContent != node.textContent) { if(!node.parentNode.hasAttribute('data-ly-mutation-count') || parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) < langify.settings.maxMutations) { var count = node.parentNode.hasAttribute('data-ly-mutation-count') ? parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) : 0; node.parentNode.setAttribute('data-ly-mutation-count', count+1); node.textContent = newContent; mutationCount = mutationCount + 1; LyHelper.log('REPLACED (TEXT)', { oldValue: src, newValue: customContents_text[src], mutationCount, }, 'success' ); var event = new CustomEvent('langify.observer.aftertranslatetext', { bubbles: true, detail: { target: node, original: src, translation: customContents_text[src] } }); node.dispatchEvent(event); } } } } function translateLink(url, node, force) { if(langify.settings.observeLinks === false || isLocalizationForm(node) || node.hasAttribute('data-ly-locked') || !url || (url.indexOf('mailto:') !== -1 || url.indexOf('javascript:') !== -1 || url.indexOf('tel:') !== -1 || url.indexOf('file:') !== -1 || url.indexOf('ftp:') !== -1 || url.indexOf('sms:') !== -1 || url.indexOf('market:') !== -1 || url.indexOf('fax:') !== -1 || url.indexOf('callto:') !== -1 || url.indexOf('ts3server:') !== -1)) { return; } var isLocalized = ( url.indexOf('/'+ langify.locale.iso_code +'/') === 0 || url === '/'+ langify.locale.iso_code || url.indexOf('/'+ langify.locale.iso_code.toLowerCase() +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase() || url.indexOf('/'+ langify.locale.iso_code.toLowerCase().substring(0,2) +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase().substring(0,2) || url.indexOf(langify.locale.root_url + '/') === 0 || url === langify.locale.root_url || url.indexOf(langify.locale.shop_url + langify.locale.root_url) === 0 || url === langify.locale.shop_url + langify.locale.root_url ); var cleanUrl = url.replace(langify.locale.shop_url, ''); var re = new RegExp(`\/\\b${langify.locale.iso_code.replace('-', '\-')}\\b\/`, 'gi'); var link = cleanUrl.replace(re, '/'); var isUrlAbsolute = (link.indexOf('://') > 0 || link.indexOf('//') === 0); var blacklist = ['#', '/'+ langify.locale.iso_code +'#'].concat(langify.settings.linksBlacklist); var isUrlBlacklisted = blacklist.find(x => url.indexOf(x) === 0); if(!isLocalized && !isUrlAbsolute && !isUrlBlacklisted && langify.locale.root_url != '/' || force) { if(node.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action'; if(link === '/' || link == langify.locale.root_url) link = ''; var newLink = langify.locale.root_url + link; var timeStamp = Math.floor(Date.now()); if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) { node.setAttribute('data-ly-processed', timeStamp); node.setAttribute(attrName, newLink); if(node.hasAttribute('data-'+attrName)) node.setAttribute('data-'+attrName, newLink); mutationCount = mutationCount + 1; LyHelper.log('REPLACED (LINK)', { attrName, oldValue: url, newValue: newLink, mutationCount, }, 'success' ); var event = new CustomEvent('langify.observer.aftertranslatelink', { bubbles: true, detail: { target: node, attribute: attrName, original: url, translation: newLink } }); node.dispatchEvent(event); } } } function translateImage(node, attr) { if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0) { return } var attrs = []; if(typeof attr === 'string') attrs.push(attr); else if(typeof attr === 'object') attrs = attr; var timeStamp = Math.floor(Date.now()); if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) { node.setAttribute('data-ly-processed', timeStamp); attrs.forEach(function(attr) { if(node.hasAttribute(attr)) { var imgObject = LyHelper.extractImageObject(node.getAttribute(attr)); var imgKey = imgObject ? imgObject.file.toLowerCase() : ''; if(customContents_image[imgKey]) { // Replace var oldValue = node.getAttribute(attr); var translation = node.getAttribute(attr); translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host); translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name); translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type); // China Hook if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) { translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); } if(node.getAttribute(attr) != translation) { node.setAttribute(attr, translation); mutationCount = mutationCount + 1; LyHelper.log('REPLACED (IMAGE)', { attrName: attr, oldValue: oldValue, newValue: translation, mutationCount, }, 'success'); var event = new CustomEvent('langify.observer.aftertranslateimage', { bubbles: true, detail: { target: node, attribute: attr, original: oldValue, translation: translation } }); node.dispatchEvent(event); } } } }); } } function translateCssImage(node) { if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0 || !node.getAttribute('style')) { return } var imgMatches = node.getAttribute('style').match(/url\(("|')?(.*)("|')?\)/gi); if(imgMatches !== null) { var imgSource = imgMatches[0].replace(/url\(("|')?|("|')?\)/, ''); var imgObject = LyHelper.extractImageObject(imgSource); var imgKey = imgObject ? imgObject.file.toLowerCase() : ''; var attr = 'style'; if(customContents_image[imgKey]) { // Replace var translation = node.getAttribute(attr); translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host); translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name); translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type); // China Hook if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) { translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); } if(node.getAttribute(attr) != translation) { var timeStamp = Math.floor(Date.now()); if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) { node.setAttribute('data-ly-processed', timeStamp); node.setAttribute(attr, translation); mutationCount = mutationCount + 1; } } } } } function findAndLocalizeLinks(target, parent) { if(target.parentNode && parent) var allLinks = target.parentElement.querySelectorAll('[href],[action]'); else var allLinks = target.querySelectorAll('[href],[action]'); allLinks.forEach(link => { if(link.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action'; var url = link.getAttribute(attrName); translateLink(url, link); }); } function isLocalizationForm(node) { if(node.querySelector('input[name="form_type"][value="localization"]')){ return true; } return false; } function getNodesUnder(el, show){ var n, a=[], walk=document.createTreeWalker(el, NodeFilter[show] , null, false); while(n=walk.nextNode()) a.push(n); return a; } function spreadCustomContents() { var getFileName = function(url) { if(!url || url == '') return; url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#")); url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?")); url = url.substring(url.lastIndexOf("/") + 1, url.length); url = url.replace(/(_[0-9]+x[0-9]*|_{width}x)?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(jpe?g|png|gif|webp)/gi, ""); return '/' + url; } Object.entries(customContents).forEach(function(entry) { //if(/<\/?[a-z][\s\S]*>/i.test(entry[0])) customContents_html[entry[0]] = entry[1]; //else if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png)/.test(entry[0])) customContents_image[getFileName(entry[0])] = getFileName(entry[1]); if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png|webp)/.test(entry[0])) customContents_image[LyHelper.extractImageObject(entry[0]).file] = LyHelper.extractImageObject(entry[1]); else customContents_text[entry[0]] = entry[1]; }); LyHelper.log('CUSTOM CONTENTS:', {customContents, customContents_text, customContents_image}, 'info') } // Polyfill for old browsers function startMutationEvents() { var target = document.querySelector('body'); target.addEventListener("DOMAttrModified", function (event) { if(event.attrName === 'href' || event.attrName === 'action') { if(event.prevValue != event.newValue) { translateLink(event.newValue, event.target); } } }, false); target.addEventListener("DOMSubtreeModified", function (event) { //findAndLocalizeLinks(event.target, false); //matchCustomContent(event.target); }, false); } function triggerCustomContents() { var rootnode = document.getElementsByTagName('body')[0] var walker = document.createTreeWalker(rootnode, NodeFilter.SHOW_ALL, null, false) while (walker.nextNode()) { //LyHelper.log(walker.currentNode.tagName) translate(walker.currentNode, null); } } function stopObserver() { mutationObs.takeRecords(); mutationObs.disconnect(); } //init(); return { init: init, triggerCustomContents: triggerCustomContents, stopObserver: stopObserver, translateLink: translateLink, translateTextNode: translateTextNode, translateNodeAttrs: translateNodeAttrs, translateImage: translateImage, translateCssImage: translateCssImage } }; } /** * * * @class Switcher */ class Switcher { constructor(switcherSettings) { LyHelper.log('Switcher instantiation'); this.lyForceOff = location.search.split('ly-force-off=')[1]; this.switcherElements = Array.prototype.slice.call(document.getElementsByClassName('ly-switcher-wrapper')); } init() { // Initial cart.attributes update LyHelper.shopifyAPI().getCart(function (cart) { var currentLanguage = langify.locale.iso_code; if(!cart.attributes.language || cart.attributes.language != currentLanguage) { LyHelper.shopifyAPI().updateCartAttributes({"language": currentLanguage}, function(data){}); } }); if(langify.locale.languages.length === 1) { console.info(`%c LANGIFY INFO:\n`, 'font-weight: bold;', 'The language switcher is hidden! This can have one of the following reasons: \n * All additional languages are disabled in the "Langify -> Dashboard -> Languages" section. \n * If you are using different domains for your additional languages, ensure that "Cross Domain Links" are enabled inside the "Langify -> Dashboard -> Switcher Configurator -> Domains" section.'); return false; } this.setCustomPosition(); this.initCustomDropdown(); this.bindCountrySwitchers(); this.bindCurrencySwitchers(); this.bindLanguageSwitchers(); var event = new CustomEvent('langify.switcher.initialized', { bubbles: true, detail: {} }); } initCustomDropdown() { // Custom Dropdown var root = this; var switcher = document.getElementsByClassName('ly-custom-dropdown-switcher'); for(var a = 0; a < switcher.length; a++) { switcher[a].classList.toggle('ly-is-open'); var isOut = LyHelper.isOutOfViewport(switcher[a]); if(isOut.bottom && isOut.inViewport) { switcher[a].classList.add('ly-is-dropup'); var arrows = switcher[a].querySelectorAll('.ly-arrow'); for(var b = 0; b < arrows.length; b++) { arrows[b].classList.add('ly-arrow-up'); } } switcher[a].classList.toggle('ly-is-open'); switcher[a].onclick = function(event) { root.toggleSwitcherOpen(this); } } document.addEventListener('click', function(event) { if(!event.target.closest('.ly-custom-dropdown-switcher')) { var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open') for(var i = 0; i < openSwitchers.length; i++) { openSwitchers[i].classList.remove('ly-is-open'); } } }); } bindLanguageSwitchers() { var root = this; var links = document.getElementsByClassName('ly-languages-switcher-link'); for(var l = 0; l < links.length; l++) { links[l].addEventListener('click', function(event) { event.preventDefault(); if(LyHelper.isDomainFeatureEnabled() && this.getAttribute('href') !== '#' && !this.getAttribute('data-country-code')) { var domain = this.getAttribute('href'); } LyHelper.setCookie('ly-lang-selected', this.getAttribute('data-language-code'), 365); LyHelper.localizationRedirect('language_code', this.getAttribute('data-language-code'), root._dataAttrToAdditionalFields(this), null, domain); }); } // Native select event handling var nativeLangifySelects = document.querySelectorAll('select.ly-languages-switcher'); for(var i = 0; i < nativeLangifySelects.length; i++) { nativeLangifySelects[i].onchange = function() { event.preventDefault(); if(LyHelper.isDomainFeatureEnabled() && this[this.selectedIndex].getAttribute('data-domain') !== '#' && this[this.selectedIndex].getAttribute('data-country-code')) { var domain = this[this.selectedIndex].getAttribute('data-domain'); } LyHelper.setCookie('ly-lang-selected', this[this.selectedIndex].getAttribute('data-language-code'), 365); LyHelper.localizationRedirect('language_code', this[this.selectedIndex].getAttribute('data-language-code'), root._dataAttrToAdditionalFields(this), null, domain); }; } } bindCountrySwitchers() { var countrySelectSwitcher = document.querySelectorAll('select.ly-country-switcher'); var countryCustomSwitcher = document.querySelectorAll('div.ly-country-switcher a'); for(var i=0; i<countryCustomSwitcher.length; i++) { countryCustomSwitcher[i].addEventListener('click', function(e) { LyHelper.localizationRedirect('country_code', this.getAttribute('data-country-code')); }); } for(var a=0; a<countrySelectSwitcher.length; a++) { countrySelectSwitcher[a].addEventListener('change', function(){ LyHelper.localizationRedirect('country_code', this[this.selectedIndex].getAttribute('data-country-code')); }); } } bindCurrencySwitchers() { var currencySelectSwitcher = document.querySelectorAll('select.ly-currency-switcher'); var currencyCustomSwitcher = document.querySelectorAll('div.ly-currency-switcher a'); for(var i=0; i<currencyCustomSwitcher.length; i++) { currencyCustomSwitcher[i].addEventListener('click', function(e) { LyHelper.changeCurrency(this.getAttribute('data-currency-code')); }); } for(var a=0; a<currencySelectSwitcher.length; a++) { currencySelectSwitcher[a].addEventListener('change', function(){ LyHelper.changeCurrency(this[this.selectedIndex].getAttribute('data-currency-code')); }); } } setCustomPosition() { for(var i = 0; i < this.switcherElements.length; i++) { if(this.lyForceOff !== 'true') { if(langify.locale.languages.length <= 1) { this.switcherElements[i].querySelector('.ly-languages-switcher').classList.add('ly-hide'); } this.switcherElements[i].classList.remove('ly-hide'); } if(this.switcherElements[i].classList.contains('ly-custom') && (document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')) || document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')).length )) { var targets = Array.from(document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint'))); var target = document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')); if(target) targets.push(target); for(var c = 0; c < targets.length; c++) { var clone = this.switcherElements[i].cloneNode(true); this.switcherElements[i].remove(); targets[c].innerHTML = clone.outerHTML; } this.switcherElements[i].classList.add('ly-hide'); } } } toggleSwitcherOpen(e) { var target = e; if(!target.classList.contains('ly-is-open')) { var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open') for(var i = 0; i < openSwitchers.length; i++) { openSwitchers[i].classList.remove('ly-is-open'); } target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'true'); } else { target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'false'); } target.classList.toggle('ly-is-open'); var isOut = LyHelper.isOutOfViewport(target); if(isOut.bottom) { target.classList.add('ly-is-dropup'); } } togglePopupOpen(e) { e.closest('.ly-popup-switcher').classList.toggle('ly-is-open'); } _getCountryCodeFromHreflang(language_code) { var hreflangTags = document.querySelectorAll('link[hreflang]'); var languageDomains = {}; var countryCode = false; for(var i = 0; i < hreflangTags.length; i++) { if(hreflangTags[i].getAttribute('hreflang').indexOf(language_code) === 0) { if(!languageDomains[hreflangTags[i].getAttribute('href')]) { languageDomains[hreflangTags[i].getAttribute('href')] = hreflangTags[i]; } } } if(Object.keys(languageDomains).length > 0) { countryCode = Object.values(languageDomains)[0].getAttribute('hreflang'); countryCode = countryCode.split('-'); if(countryCode[1]) { countryCode = countryCode[1] } else { } } return countryCode; } _dataAttrToAdditionalFields(elem) { var additionalFields = []; if(elem.hasAttribute('data-country-code')) { additionalFields.push({ name: 'country_code', value: elem.getAttribute('data-country-code') }); } if(elem.hasAttribute('data-currency-code')) { additionalFields.push({ name: 'currency_code', value: elem.getAttribute('data-currency-code') }); } return additionalFields; } } /** * * * @class LanguageDetection */ class LanguageDetection { constructor() { this.hreflangList = null; LyHelper.log('LanguageDetection instantiation'); } init() { if(LyHelper.inIframe() || window.location.pathname.indexOf('preview_key=') > 0) { return null; } var currentLang = langify.locale.iso_code.toLowerCase(); //var localizationData = this.getLocalizationData(); this.hreflangList = this.getHreflangList(); var userLang = navigator.language || navigator.userLanguage; userLang = userLang.toLowerCase(); var bot = /bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|Chrome-Lighthouse/i.test(navigator.userAgent); var blockedRoutes = window.lyBlockedRoutesList || []; var blockedRoute = blockedRoutes.find(x => window.location.pathname.indexOf(x) === 0); var is404 = document.getElementsByClassName('template-404').length; if(LyHelper.getVal('redirected') === 'true') { LyHelper.setCookie('ly-lang-selected', currentLang, 365); var _href = window.location.href; history.replaceState(null, '', _href.replace(/(\?|&)(redirected=true)/i, '')); return null; } if(!is404 && !bot && !blockedRoute && LyHelper.getVal('ly-lang-detect') !== 'off') { if(userLang && !LyHelper.getCookie('ly-lang-selected')) { var hasMatch = this.matchHreflangList(userLang); if(currentLang !== this._hreflangToLanguageCode(hasMatch)) { if(hasMatch) { this.redirectMatched(userLang); } else if (!hasMatch && langify.settings.switcher.languageDetectionDefault) { // Redirect to default language this.redirectMatched(langify.settings.switcher.languageDetectionDefault); } } } else { if(LyHelper.getCookie('ly-lang-selected') && LyHelper.getCookie('ly-lang-selected') !== currentLang) { // Only save cookie when the domain feature is active if(LyHelper.isDomainFeatureEnabled()) { LyHelper.setCookie('ly-lang-selected', currentLang, 365); } this.redirectMatched(LyHelper.getCookie('ly-lang-selected')); } } } this._geolocationAppSupport(); } redirectMatched(userLang) { var match = this.matchHreflangList(userLang); if(match) { this.redirectHref(match.href, match.lang); } return match; } matchHreflangList(userLang) { var matchedHreflang = false; var browserLang = userLang; // Find candidates var candidates = this.hreflangList.filter(item => item.lang === browserLang); if(candidates.length === 0) { browserLang = userLang.toLowerCase(); candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0); } if(candidates.length === 0) { browserLang = userLang.toLowerCase().substring(0, 2); candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0); } // Handle candidates if(candidates.length === 1) { return({href: candidates[0].href, lang: browserLang}); } else if(candidates.length > 1) { var preferedCandidate = candidates.find(item => item.href.indexOf(window.location.host) >= 0) if(preferedCandidate) { return({href: preferedCandidate.href, lang: browserLang}); } else { return({href: candidates[0].href, lang: browserLang}); } } return false; } redirectHref(href, userLang) { var queryString = window.location.search; var url = href.split('?')[0]; if(queryString === '') { queryString = '?redirected=true'; } else { queryString += '&redirected=true'; } window.location.replace(url + queryString); } getHreflangList() { var hreflangTags = document.querySelectorAll('link[hreflang]'); var hreflangList = []; var countryCode = false; // Cross Domain Links option if(LyHelper.isDomainFeatureEnabled()) { for(var i = 0; i < langify.locale.languages.length; i++) { let newHref = 'https://' + langify.locale.languages[i].domain + window.location.pathname + window.location.search + window.location.hash; // When cross-domain link is pointing to the same domain with subfolders, window.location.pathname would have to be unlocalized before it can be merged into the url if(new String(langify.locale.languages[i].domain).indexOf(window.location.hostname) === 0) { let unlocalizedPathname = langify.locale.root_url !== '/' ? window.location.pathname.replace(langify.locale.root_url, '') : window.location.pathname; newHref = 'https://' + langify.locale.languages[i].domain + unlocalizedPathname + window.location.search + window.location.hash } hreflangList.push({ href: newHref, lang: langify.locale.languages[i].iso_code, }); } } for(var i = 0; i < hreflangTags.length; i++) { var hreflang = hreflangTags[i].getAttribute('hreflang').toLowerCase(); hreflang = hreflang.replace('zh-hans', 'zh-cn').replace('zh-hant', 'zh-tw'); // Chinese special cases hreflangList.push({ href: hreflangTags[i].getAttribute('href'), lang: hreflang }); } return hreflangList; } _langToHreflang(userLang) { var hreflang = ''; this.hreflangList.map(function(item) { if(item.lang === userLang) { hreflang = userLang; } }); if(hreflang === '') { this.hreflangList.map(function(item) { var browserLang = userLang.toLowerCase(); if(item.lang.toLowerCase().indexOf(browserLang) === 0) { hreflang = browserLang; } else if(item.lang.toLowerCase().indexOf(browserLang.substring(0, 2)) === 0) { hreflang = browserLang.substring(0, 2); } }); } return hreflang || userLang; } _hreflangToLanguageCode(hreflangTag) { if(!hreflangTag || !hreflangTag.lang) return false; var languageCode = false; langify.locale.languages.forEach(function(item) { if(item.iso_code.toLowerCase() === hreflangTag.lang.toLowerCase()) { languageCode = item.iso_code; } }); if(!languageCode) { langify.locale.languages.forEach(function(item) { if(item.iso_code.toLowerCase() === hreflangTag.lang.substring(0, 2).toLowerCase()) { languageCode = item.iso_code; } }); } return languageCode; } _geolocationAppSupport() { var target = document.querySelector('body'); var config = { childList: true, subtree: true }; var geolocationObserver = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { var target = mutation.target.getElementsByClassName('locale-bar__form'); if(target[0]) { target[0].onsubmit = function() { var locale_code = target[0].elements['locale_code'].value; var selector = target[0].getElementsByClassName('locale-bar__selector'); if(selector.length >= 1) { locale_code = selector[0].options[selector[0].selectedIndex].value; } LyHelper.setCookie('ly-lang-selected', locale_code, 365); }; } var selectors = mutation.target.getElementsByClassName('locale-selectors__selector'); if(selectors.length > 0) { for(var selector of selectors) { if(selector.getAttribute('name') === 'locale_code') { selector.onchange = function() { var locale_code = selector.options[selector.selectedIndex].value; LyHelper.setCookie('ly-lang-selected', locale_code, 365); }; } } } } }); }); geolocationObserver.observe(target, config); setTimeout(function() { geolocationObserver.disconnect(); }, 10000); } } /** * * * @class Recommendation */ class Recommendation extends LanguageDetection { constructor() { super(); LyHelper.log('Recommendation instantiation'); } init() { this.hreflangList = this.getHreflangList(); var userLang = navigator.language || navigator.userLanguage; userLang = userLang.toLowerCase(); var recommendation = this.matchHreflangList(userLang); var recommendationLanguageCode = this._hreflangToLanguageCode(recommendation); if(recommendationLanguageCode && recommendationLanguageCode !== langify.locale.iso_code && !LyHelper.getCookie('ly-lang-selected')) { this.recommended_language_code = recommendationLanguageCode; this.recommended_country_code = null; this.recommended_currency_code = null; this._translateStrings(recommendationLanguageCode); this._bindings(); } else { return false; } } _translateStrings(languageCode) { var recommendationElement = document.querySelectorAll('.ly-recommendation')[0]; var strings = langify.settings.switcher.recommendation_strings[languageCode]; var recommendationStr = 'Looks like your browser is set to [[language]]. Change the language?'; var buttonStr = 'Change'; var matchedLanguageCode = this._langToHreflang(languageCode).toLowerCase(); var languageStr = langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode) ? langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode).name : languageCode.toUpperCase(); if(strings) { recommendationStr = strings.recommendation ? strings.recommendation : recommendationStr; buttonStr = strings.button ? strings.button : buttonStr; languageStr = strings.language ? strings.language : languageStr; } var newCode = recommendationElement.innerHTML; newCode = newCode.replaceAll('[[recommendation]]', recommendationStr).replaceAll('[[button]]', buttonStr).replaceAll('[[language]]', languageStr); recommendationElement.innerHTML = newCode; } _bindings() { var _this = this; var lyForceOff = location.search.split('ly-force-off=')[1]; var recommendationElement = document.querySelectorAll('.ly-recommendation')[0]; var form = recommendationElement.querySelectorAll('.ly-recommendation-form')[0]; var links = recommendationElement.getElementsByClassName('ly-custom-dropdown-list-element'); var customDropdown = recommendationElement.querySelectorAll('.ly-custom-dropdown-switcher'); var nativeSelects = recommendationElement.getElementsByClassName('ly-native-select'); form.addEventListener('submit', function(e) { e.preventDefault(); if(_this.recommended_country_code || _this.recommended_currency_code) { // When a country or currency is involved, use old redirection var additionalFields = []; if(_this.recommended_country_code) { additionalFields.push({ name: 'country_code', value: _this.recommended_country_code }); } if(_this.recommended_currency_code) { additionalFields.push({ name: 'currency_code', value: _this.recommended_currency_code }); } LyHelper.setCookie('ly-lang-selected', _this.recommended_language_code, 365); LyHelper.localizationRedirect('language_code', _this.recommended_language_code, additionalFields); } else { //...or use new hreflang redirection _this.redirectMatched(_this.recommended_language_code); } }); // Overwrite switchers for(var l = 0; l < links.length; l++) { links[l].addEventListener('click', function(event) { event.preventDefault(); // When clicked from within a custom dropdown var parentCustomDropdown = event.currentTarget.closest('.ly-custom-dropdown-switcher'); if(parentCustomDropdown) { _this._selectCustomDropdownEntry(parentCustomDropdown, this); } else { _this.recommended_language_code = this.getAttribute('data-language-code'); } }); } for(var i = 0; i < nativeSelects.length; i++) { nativeSelects[i].onchange = _this._selectNativeDropdownEntry.bind(this); if(nativeSelects[i].classList.contains('ly-languages-switcher')) { nativeSelects[i].value = _this.recommended_language_code; } } for(var i = 0; i < customDropdown.length; i++) { if(recommendationElement.className.indexOf('bottom') > -1) { customDropdown[i].classList.add('ly-is-dropup'); } if(customDropdown[i].classList.contains('ly-languages-switcher')) { _this._selectCustomDropdownEntry(customDropdown[i], customDropdown[i].querySelector('.ly-custom-dropdown-list a[data-language-code="'+ _this.recommended_language_code +'"]')); } } if(!lyForceOff) { recommendationElement.classList.add('ly-is-open'); } } _selectNativeDropdownEntry(event) { event.preventDefault(); var element = event.currentTarget; var _this = this; if(element[element.selectedIndex].hasAttribute('data-language-code')) { _this.recommended_language_code = element[element.selectedIndex].getAttribute('data-language-code'); } if(element[element.selectedIndex].hasAttribute('data-country-code')) { _this.recommended_country_code = element[element.selectedIndex].getAttribute('data-country-code'); } if(element[element.selectedIndex].hasAttribute('data-currency-code')) { _this.recommended_currency_code = element[element.selectedIndex].getAttribute('data-currency-code'); } } _selectCustomDropdownEntry(element, entry) { if(!entry) return; var _this = this; var currentElem = element.querySelector('.ly-custom-dropdown-current'); var currentIcon = currentElem.querySelector('.ly-icon'); var currentLabel = currentElem.querySelector('span'); var valueToSelect = ''; if(entry.hasAttribute('data-language-code')) { _this.recommended_language_code = entry.getAttribute('data-language-code'); valueToSelect = _this.recommended_language_code; } if(entry.hasAttribute('data-country-code')) { _this.recommended_country_code = entry.getAttribute('data-country-code'); valueToSelect = _this.recommended_country_code; } if(entry.hasAttribute('data-currency-code')) { _this.recommended_currency_code = entry.getAttribute('data-currency-code'); valueToSelect = _this.recommended_currency_code; } if(entry.hasAttribute('data-country-code') && entry.hasAttribute('data-currency-code')) { valueToSelect = _this.recommended_country_code + '-' + _this.recommended_currency_code; } if(element.querySelector('.ly-custom-dropdown-list li.current')) { element.querySelector('.ly-custom-dropdown-list li.current').classList.remove('current'); element.querySelector('.ly-custom-dropdown-list li[key="'+ valueToSelect +'"]').classList.add('current'); } if(element.querySelector('.ly-custom-dropdown-list li.current span')) currentLabel.innerHTML = element.querySelector('.ly-custom-dropdown-list li.current span').innerHTML; if(element.querySelector('.ly-custom-dropdown-list li.current .ly-icon')) currentIcon.classList = element.querySelector('.ly-custom-dropdown-list li.current .ly-icon').classList; } toggleOpen(e) { e.closest('.ly-recommendation').classList.toggle('ly-is-open'); if(!e.closest('.ly-recommendation').classList.contains('ly-is-open')) { LyHelper.setCookie('ly-lang-selected', this.recommended_language_code, 365); } } } /** * * * @class Langify */ class Langify { constructor(settings, locale) { LyHelper.log('Langify instantiation') var translationObserver = new TranslationObserver().init(); langify.helper = new LyHelper(); LyHelper.log(langify.helper); var lyForceOff = location.search.split('ly-force-off=')[1]; if(lyForceOff === 'true') { document.getElementById('preview-bar-iframe').classList.add('ly-hide'); return false; } if(settings.theme && ((settings.theme.loadJquery && settings.theme.loadJquery === true) || typeof settings.theme.loadJquery === 'undefined')) { if(typeof jQuery === 'undefined') { LyHelper.loadScript('//cdn.jsdelivr.net/jquery/1.9.1/jquery.min.js', function() {}); } } //document.addEventListener("DOMContentLoaded", function() { langify.switcher = new Switcher(); langify.switcher.init(); if(settings.switcher) { if(settings.switcher.recommendation && settings.switcher.recommendation_enabled) { langify.recommendation = new Recommendation(); langify.recommendation.init(); } else { if(settings.switcher.languageDetection) { langify.languageDetection = new LanguageDetection(); langify.languageDetection.init(); } } } //}); } } // Polyfills (function(){var t;null==window.MutationObserver&&(t=function(){function t(t){this.callBack=t}return t.prototype.observe=function(t,n){return this.element=t,this.interval=setInterval((e=this,function(){var t;if((t=e.element.innerHTML)!==e.oldHtml)return e.oldHtml=t,e.callBack.apply(null)}),200);var e},t.prototype.disconnect=function(){return window.clearInterval(this.interval)},t}(),window.MutationObserver=t)}).call(this); !function(){"use strict";if("object"==typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=function(t){for(var e=window.document,o=i(e);o;)o=i(e=o.ownerDocument);return e}(),e=[],o=null,n=null;s.prototype.THROTTLE_TIMEOUT=100,s.prototype.POLL_INTERVAL=null,s.prototype.USE_MUTATION_OBSERVER=!0,s._setupCrossOriginUpdater=function(){return o||(o=function(t,o){n=t&&o?l(t,o):{top:0,bottom:0,left:0,right:0,width:0,height:0},e.forEach(function(t){t._checkForIntersections()})}),o},s._resetCrossOriginUpdater=function(){o=null,n=null},s.prototype.observe=function(t){if(!this._observationTargets.some(function(e){return e.element==t})){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},s.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter(function(e){return e.element!=t}),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},s.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},s.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},s.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter(function(t,e,o){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==o[e-1]})},s.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map(function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}});return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},s.prototype._monitorIntersections=function(e){var o=e.defaultView;if(o&&-1==this._monitoringDocuments.indexOf(e)){var n=this._checkForIntersections,r=null,s=null;this.POLL_INTERVAL?r=o.setInterval(n,this.POLL_INTERVAL):(h(o,"resize",n,!0),h(e,"scroll",n,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in o&&(s=new o.MutationObserver(n)).observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push(function(){var t=e.defaultView;t&&(r&&t.clearInterval(r),c(t,"resize",n,!0)),c(e,"scroll",n,!0),s&&s.disconnect()});var u=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=u){var a=i(e);a&&this._monitorIntersections(a.ownerDocument)}}},s.prototype._unmonitorIntersections=function(e){var o=this._monitoringDocuments.indexOf(e);if(-1!=o){var n=this.root&&(this.root.ownerDocument||this.root)||t;if(!this._observationTargets.some(function(t){var o=t.element.ownerDocument;if(o==e)return!0;for(;o&&o!=n;){var r=i(o);if((o=r&&r.ownerDocument)==e)return!0}return!1})){var r=this._monitoringUnsubscribes[o];if(this._monitoringDocuments.splice(o,1),this._monitoringUnsubscribes.splice(o,1),r(),e!=n){var s=i(e);s&&this._unmonitorIntersections(s.ownerDocument)}}}},s.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e<t.length;e++)t[e]()},s.prototype._checkForIntersections=function(){if(this.root||!o||n){var t=this._rootIsInDom(),e=t?this._getRootRect():{top:0,bottom:0,left:0,right:0,width:0,height:0};this._observationTargets.forEach(function(n){var i=n.element,s=u(i),h=this._rootContainsTarget(i),c=n.entry,a=t&&h&&this._computeTargetAndRootIntersection(i,s,e),l=null;this._rootContainsTarget(i)?o&&!this.root||(l=e):l={top:0,bottom:0,left:0,right:0,width:0,height:0};var f=n.entry=new r({time:window.performance&&performance.now&&performance.now(),target:i,boundingClientRect:s,rootBounds:l,intersectionRect:a});c?t&&h?this._hasCrossedThreshold(c,f)&&this._queuedEntries.push(f):c&&c.isIntersecting&&this._queuedEntries.push(f):this._queuedEntries.push(f)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)}},s.prototype._computeTargetAndRootIntersection=function(e,i,r){if("none"!=window.getComputedStyle(e).display){for(var s,h,c,a,f,d,g,m,v=i,_=p(e),b=!1;!b&&_;){var w=null,y=1==_.nodeType?window.getComputedStyle(_):{};if("none"==y.display)return null;if(_==this.root||9==_.nodeType)if(b=!0,_==this.root||_==t)o&&!this.root?!n||0==n.width&&0==n.height?(_=null,w=null,v=null):w=n:w=r;else{var I=p(_),E=I&&u(I),T=I&&this._computeTargetAndRootIntersection(I,E,r);E&&T?(_=I,w=l(E,T)):(_=null,v=null)}else{var R=_.ownerDocument;_!=R.body&&_!=R.documentElement&&"visible"!=y.overflow&&(w=u(_))}if(w&&(s=w,h=v,c=void 0,a=void 0,f=void 0,d=void 0,g=void 0,m=void 0,c=Math.max(s.top,h.top),a=Math.min(s.bottom,h.bottom),f=Math.max(s.left,h.left),d=Math.min(s.right,h.right),m=a-c,v=(g=d-f)>=0&&m>=0&&{top:c,bottom:a,left:f,right:d,width:g,height:m}||null),!v)break;_=_&&p(_)}return v}},s.prototype._getRootRect=function(){var e;if(this.root&&!d(this.root))e=u(this.root);else{var o=d(this.root)?this.root:t,n=o.documentElement,i=o.body;e={top:0,left:0,right:n.clientWidth||i.clientWidth,width:n.clientWidth||i.clientWidth,bottom:n.clientHeight||i.clientHeight,height:n.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},s.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map(function(e,o){return"px"==e.unit?e.value:e.value*(o%2?t.width:t.height)/100}),o={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return o.width=o.right-o.left,o.height=o.bottom-o.top,o},s.prototype._hasCrossedThreshold=function(t,e){var o=t&&t.isIntersecting?t.intersectionRatio||0:-1,n=e.isIntersecting?e.intersectionRatio||0:-1;if(o!==n)for(var i=0;i<this.thresholds.length;i++){var r=this.thresholds[i];if(r==o||r==n||r<o!=r<n)return!0}},s.prototype._rootIsInDom=function(){return!this.root||f(t,this.root)},s.prototype._rootContainsTarget=function(e){var o=this.root&&(this.root.ownerDocument||this.root)||t;return f(o,e)&&(!this.root||o==e.ownerDocument)},s.prototype._registerInstance=function(){e.indexOf(this)<0&&e.push(this)},s.prototype._unregisterInstance=function(){var t=e.indexOf(this);-1!=t&&e.splice(t,1)},window.IntersectionObserver=s,window.IntersectionObserverEntry=r}function i(t){try{return t.defaultView&&t.defaultView.frameElement||null}catch(t){return null}}function r(t){this.time=t.time,this.target=t.target,this.rootBounds=a(t.rootBounds),this.boundingClientRect=a(t.boundingClientRect),this.intersectionRect=a(t.intersectionRect||{top:0,bottom:0,left:0,right:0,width:0,height:0}),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,o=e.width*e.height,n=this.intersectionRect,i=n.width*n.height;this.intersectionRatio=o?Number((i/o).toFixed(4)):this.isIntersecting?1:0}function s(t,e){var o,n,i,r=e||{};if("function"!=typeof t)throw new Error("callback must be a function");if(r.root&&1!=r.root.nodeType&&9!=r.root.nodeType)throw new Error("root must be a Document or Element");this._checkForIntersections=(o=this._checkForIntersections.bind(this),n=this.THROTTLE_TIMEOUT,i=null,function(){i||(i=setTimeout(function(){o(),i=null},n))}),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(r.rootMargin),this.thresholds=this._initThresholds(r.threshold),this.root=r.root||null,this.rootMargin=this._rootMarginValues.map(function(t){return t.value+t.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function h(t,e,o,n){"function"==typeof t.addEventListener?t.addEventListener(e,o,n||!1):"function"==typeof t.attachEvent&&t.attachEvent("on"+e,o)}function c(t,e,o,n){"function"==typeof t.removeEventListener?t.removeEventListener(e,o,n||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on"+e,o)}function u(t){var e;try{e=t.getBoundingClientRect()}catch(t){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):{top:0,bottom:0,left:0,right:0,width:0,height:0}}function a(t){return!t||"x"in t?t:{top:t.top,y:t.top,bottom:t.bottom,left:t.left,x:t.left,right:t.right,width:t.width,height:t.height}}function l(t,e){var o=e.top-t.top,n=e.left-t.left;return{top:o,left:n,height:e.height,width:e.width,bottom:o+e.height,right:n+e.width}}function f(t,e){for(var o=e;o;){if(o==t)return!0;o=p(o)}return!1}function p(e){var o=e.parentNode;return 9==e.nodeType&&e!=t?i(e):(o&&o.assignedSlot&&(o=o.assignedSlot.parentNode),o&&11==o.nodeType&&o.host?o.host:o)}function d(t){return t&&9===t.nodeType}}(); !function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(n,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var e=document.createEvent("CustomEvent");return e.initCustomEvent(n,t.bubbles,t.cancelable,t.detail),e}}(); var langify = window.langify || {}; var customContents = {}; var customContents_image = {}; var langifySettingsOverwrites = {}; var defaultSettings = { debug: false, // BOOL : Enable/disable console logs observe: true, // BOOL : Enable/disable the entire mutation observer (off switch) observeLinks: false, observeImages: true, observeCustomContents: true, maxMutations: 5, timeout: 100, // INT : Milliseconds to wait after a mutation, before the next mutation event will be allowed for the element linksBlacklist: [], }; if(langify.settings) { langifySettingsOverwrites = Object.assign({}, langify.settings); langify.settings = Object.assign(defaultSettings, langify.settings); } else { langify.settings = defaultSettings; }langify.settings = Object.assign(langify.settings, {"debug":false,"lazyload":false,"observe":true,"observeLinks":false,"observeImages":true,"observeCustomContents":true,"linksBlacklist":[],"loadJquery":false,"nonStrict":false}, langifySettingsOverwrites); langify.settings.theme = {"debug":false,"lazyload":false,"observe":true,"observeLinks":false,"observeImages":true,"observeCustomContents":true,"linksBlacklist":[],"loadJquery":false,"nonStrict":false}; langify.settings.switcher = {"customCSS":"","languageDetection":false,"languageDetectionDefault":"fr","enableDefaultLanguage":false,"breakpoints":[{"key":0,"label":"0px","config":{"type":"custom","corner":"bottom_right","position":"fixed","show_flags":true,"rectangle_icons":true,"square_icons":false,"round_icons":false,"show_label":true,"show_custom_name":true,"show_name":false,"show_iso_code":false,"is_dark":false,"is_transparent":false,"is_dropup":false,"arrow_size":100,"arrow_width":1,"arrow_filled":false,"h_space":0,"v_space":0,"h_item_space":0,"v_item_space":0,"h_item_padding":0,"v_item_padding":0,"text_color":"#000","link_color":"#000","arrow_color":"#000","bg_color":"#fff","border_color":"#000","border_width":0,"border_radius":0,"fontsize":14,"recommendation_fontsize":14,"recommendation_border_width":0,"recommendation_border_radius":0,"recommendation_text_color":"#000","recommendation_link_color":"#000","recommendation_button_bg_color":"#999","recommendation_button_text_color":"#fff","recommendation_bg_color":"#fff","recommendation_border_color":"#000","show_currency_selector":false,"currency_switcher_enabled":false,"country_switcher_enabled":false}},{"key":1000,"label":"1000px","config":{"type":"custom","corner":"bottom_right","position":"fixed","show_flags":true,"rectangle_icons":true,"square_icons":false,"round_icons":false,"show_label":true,"show_custom_name":false,"show_name":false,"show_iso_code":true,"is_dark":false,"is_transparent":false,"is_dropup":false,"arrow_size":73,"arrow_width":1,"arrow_filled":false,"h_space":0,"v_space":0,"h_item_space":0,"v_item_space":0,"h_item_padding":0,"v_item_padding":0,"text_color":"#000","link_color":"#000","arrow_color":"#000","bg_color":"#fff","border_color":"#000","border_width":0,"border_radius":0,"fontsize":20,"recommendation_fontsize":14,"recommendation_border_width":0,"recommendation_border_radius":0,"recommendation_text_color":"#000","recommendation_link_color":"#000","recommendation_button_bg_color":"#999","recommendation_button_text_color":"#fff","recommendation_bg_color":"#fff","recommendation_border_color":"#000","show_currency_selector":false,"currency_switcher_enabled":false,"country_switcher_enabled":false,"switcherLabel":"show_iso_code"}}],"languages":[{"iso_code":"fr","root_url":"\/","name":"French","primary":true,"domain":"www.m5t.com","published":true,"custom_name":false}],"recommendation_enabled":false,"recommendation_type":"popup","recommendation_switcher_key":-1,"recommendation_strings":{},"recommendation":{"recommendation_backdrop_show":true,"recommendation_corner":"center_center","recommendation_banner_corner":"top","recommendation_fontsize":14,"recommendation_border_width":0,"recommendation_border_radius":0,"recommendation_text_color":"#000","recommendation_link_color":"#000","recommendation_button_bg_color":"#999","recommendation_button_text_color":"#fff","recommendation_bg_color":"#fff","recommendation_border_color":"#000"}}; langify.locale = langify.locale || { primary: true, iso_code: "en", root_url: "\/", language_id: "ly190465", shop_url: "https:\/\/www.m5t.com", domain_feature_enabled: null, languages: [{ iso_code: "en", root_url: "\/", domain: null, },],}; // Disable link correction ALWAYS on languages with mapped domains if(langify.locale.root_url == '/') { langify.settings.observeLinks = false; } window.addEventListener('DOMContentLoaded', function() { langify.helper = new LyHelper(); // Custom Contents Section // Images Section var langifyInstance = new Langify(langify.settings, langify.locale); }); </script> <div data-breakpoint="0" class="ly-switcher-wrapper ly-breakpoint-1 fixed bottom_right ly-hide" style="font-size: 14px; margin: 0px 0px; "><div data-dropup="false" onclick="langify.switcher.toggleSwitcherOpen(this)" class="ly-languages-switcher ly-custom-dropdown-switcher ly-bright-theme" style=" margin: 0px 0px;"> <span role="button" tabindex="0" aria-label="Selected language: English" aria-expanded="false" aria-controls="languagesSwitcherList-1" class="ly-custom-dropdown-current" style="background: #fff; color: #000; border-style: solid; border-width: 0px; border-radius: 0px; border-color: #000; padding: 0px 0px;"><i class="ly-icon ly-flag-icon ly-flag-icon-en "></i><span class="ly-custom-dropdown-current-inner ly-custom-dropdown-current-inner-text"> </span> <div aria-hidden="true" class="ly-arrow ly-arrow-black stroke" style="vertical-align: middle; width: 14.0px; height: 14.0px;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.0 14.0" height="14.0px" width="14.0px" style="position: absolute;"> <path d="M1 4.5 L7.0 10.5 L13.0 4.5" fill="transparent" stroke="#000" stroke-width="1px"/> </svg> </div> </span> <ul id="languagesSwitcherList-1" role="list" class="ly-custom-dropdown-list ly-is-open ly-bright-theme" style="background: #fff; color: #000; border-style: solid; border-width: 0px; border-radius: 0px; border-color: #000;"><li key="en" class="current" style="color: #000; margin: 0px 0px; padding: 0px 0px;" tabindex="-1"> <a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme current_lang" href="#" data-language-code="en" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-en"></i><span class="ly-custom-dropdown-list-element-right"> </span></a> </li></ul> </div></div> <div data-breakpoint="1000" class="ly-switcher-wrapper ly-breakpoint-2 fixed bottom_right ly-hide" style="font-size: 20px; margin: 0px 0px; "><div data-dropup="false" onclick="langify.switcher.toggleSwitcherOpen(this)" class="ly-languages-switcher ly-custom-dropdown-switcher ly-bright-theme" style=" margin: 0px 0px;"> <span role="button" tabindex="0" aria-label="Selected language: English" aria-expanded="false" aria-controls="languagesSwitcherList-2" class="ly-custom-dropdown-current" style="background: #fff; color: #000; border-style: solid; border-width: 0px; border-radius: 0px; border-color: #000; padding: 0px 0px;"><i class="ly-icon ly-flag-icon ly-flag-icon-en "></i><span class="ly-custom-dropdown-current-inner ly-custom-dropdown-current-inner-text">EN</span> <div aria-hidden="true" class="ly-arrow ly-arrow-black stroke" style="vertical-align: middle; width: 14.6px; height: 14.6px;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.6 14.6" height="14.6px" width="14.6px" style="position: absolute;"> <path d="M1 4.65 L7.3 10.95 L13.6 4.65" fill="transparent" stroke="#000" stroke-width="1px"/> </svg> </div> </span> <ul id="languagesSwitcherList-2" role="list" class="ly-custom-dropdown-list ly-is-open ly-bright-theme" style="background: #fff; color: #000; border-style: solid; border-width: 0px; border-radius: 0px; border-color: #000;"><li key="en" class="current" style="color: #000; margin: 0px 0px; padding: 0px 0px;" tabindex="-1"> <a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme current_lang" href="#" data-language-code="en" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-en"></i><span class="ly-custom-dropdown-list-element-right">EN</span></a> </li></ul> </div></div> <style> .ly-flag-icon-en { background-image: url('//www.m5t.com/cdn/shop/t/3/assets/ly-icon-en.svg?v=168749326791323067301685984739'); } .ly-breakpoint-1 { display: none; } @media (min-width:0px) and (max-width: 999px ) { .ly-breakpoint-1 { display: inline-block; } .ly-recommendation .ly-banner-content, .ly-recommendation .ly-popup-modal-content { font-size: 14px !important; color: #000 !important; background: #fff !important; border-radius: 0px !important; border-width: 0px !important; border-color: #000 !important; } .ly-recommendation-form button[type="submit"] { font-size: 14px !important; color: #fff !important; background: #999 !important; } } .ly-breakpoint-1 .ly-flag-icon-en { background-image: url('//www.m5t.com/cdn/shop/t/3/assets/ly-icon-en.svg?v=168749326791323067301685984739') !important; } .ly-breakpoint-2 { display: none; } @media (min-width:1000px) { .ly-breakpoint-2 { display: inline-block; } .ly-recommendation .ly-banner-content, .ly-recommendation .ly-popup-modal-content { font-size: 14px !important; color: #000 !important; background: #fff !important; border-radius: 0px !important; border-width: 0px !important; border-color: #000 !important; } .ly-recommendation-form button[type="submit"] { font-size: 14px !important; color: #fff !important; background: #999 !important; } } .ly-breakpoint-2 .ly-flag-icon-en { background-image: url('//www.m5t.com/cdn/shop/t/3/assets/ly-icon-en.svg?v=168749326791323067301685984739') !important; } .ly-switcher-wrapper { } .ly-switcher-wrapper.fixed { position: fixed; z-index: 1000; } .ly-switcher-wrapper.absolute { position: absolute; z-index: 1000; } .ly-switcher-wrapper.fixed.top_left, .ly-switcher-wrapper.absolute.top_left { top: 0; left: 0; } .ly-switcher-wrapper.fixed.top_right, .ly-switcher-wrapper.absolute.top_right { top: 0; right: 0; } .ly-switcher-wrapper.fixed.bottom_left, .ly-switcher-wrapper.absolute.bottom_left { bottom: 0; left: 0; } .ly-switcher-wrapper.fixed.bottom_right, .ly-switcher-wrapper.absolute.bottom_right { bottom: 0; right: 0; } .ly-switcher-wrapper .shopify-currency-form { display: inline-block; } .ly-currency-switcher { font-size: 1em; } .ly-inner-text { margin: 0 0.2em; white-space: nowrap; } .ly-flag-icon { background-size: contain; background-position: 50%; background-repeat: no-repeat; position: relative; display: inline-block; width: 1.33333333em; line-height: 1em; } .ly-flag-icon:before { content: ''; display: inline-block; } .ly-flag-icon.ly-flag-squared { width: 1em; } .ly-flag-icon.ly-flag-rounded { width: 1em; border-radius: 50%; } .ly-languages-switcher { white-space: nowrap; list-style-type: none; display: flex; font-size: 1em; } .ly-languages-switcher-link { margin: 0 0.2em; cursor: pointer; white-space: nowrap; text-decoration: none; display: inline-block; } .ly-languages-switcher.ly-list { margin: 0; padding: 0; display: block; } .ly-languages-switcher.ly-native-select { } .ly-icon { margin: 0 0.2em; } .ly-arrow { display: inline-block; position: relative; vertical-align: middle; direction: ltr !important; -webkit-transition: transform 0.25s; -moz-transition: transform 0.25s; transition: transform 0.25s; margin: 0 0.2em; } .ly-custom-dropdown-switcher.ly-is-open .ly-arrow { transform: rotate(180deg); } .ly-custom-dropdown-switcher.ly-arrow.ly-arrow-up { transform: rotate(180deg); } .ly-custom-dropdown-switcher.ly-is-open .ly-arrow.ly-arrow-up { transform: rotate(0deg); } .ly-custom-dropdown-switcher { text-align: left; display: inline-block; position: relative; user-select: none; cursor: pointer; } .ly-custom-dropdown-current { display: block; vertical-align: middle; } .ly-custom-dropdown-current-inner { display: inline-block; vertical-align: middle; } .ly-custom-dropdown-current-inner-image { margin-right: 0.25em; } .ly-custom-dropdown-current-inner-text { margin: 0 0.2em; } .ly-custom-dropdown-list { display: none !important; list-style: none; position: absolute; left: 0; padding: inherit !important; padding: 0 !important; margin: 0; z-index: 99999; text-align: left; width: 100%; font-size: 1em; } .ly-custom-dropdown-list-element { color: inherit !important; display: block; } .ly-custom-dropdown-list > li { margin: 0 !important; display: block; } .ly-custom-dropdown-list-element-left { margin-right: 0.5em; } .ly-custom-dropdown-list-element-right { text-align: left; } .ly-custom-dropdown-list-element-left, .ly-custom-dropdown-list-element-right { vertical-align: middle; } .ly-custom-dropdown-switcher .ly-languages-switcher-link { margin: 0; } .ly-languages-switcher-dropdown { display: inline-block; } .ly-languages-links-switcher { display: inline-block; } .ly-languages-links-switcher > .ly-languages-link { /*margin-right: 0.5em;*/ padding: inherit !important; color: inherit !important; } .ly-custom-dropdown-list-element { /*padding: inherit !important;*/ text-decoration: none; } .ly-is-uppercase { text-transform: uppercase; } .ly-is-transparent.ly-links, .ly-is-transparent.ly-list, .ly-is-transparent.ly-currency-switcher, .ly-is-transparent.ly-custom-dropdown-switcher, .ly-is-transparent.ly-custom-dropdown-switcher .ly-custom-dropdown-list { background: transparent !important; } .ly-arrow-up { transform: rotateZ(180deg); } .ly-custom-dropdown-switcher .ly-custom-dropdown-list li.current{ display: none; } .ly-custom-dropdown-switcher.ly-is-open .ly-custom-dropdown-list { display: flex !important; min-width: 100%; width: 100%; flex-direction: column-reverse; right: 0; left: auto; overflow: auto; max-height: 350px; max-height: 50vh; } .ly-is-dropup .ly-custom-dropdown-list { bottom: 100%; } .ly-hide { display: none !important; } body.ly-force-off #preview-bar-iframe, body.ly-force-off .ly-languages-switcher { display: none !important; } .ly-close { position: absolute; opacity: 0.3; right: 0; top: 0; width: 3em; height: 3em; display: inline-block !important; background: rbga(0,0,0,0); padding: 1em; } .ly-close:hover { opacity: 1; } .ly-close .inner { transform: translateX(-50%); position: relative; width: 100%; height: 100%; display: inline-block; } .ly-close .inner:before, .ly-close .inner:after { position: absolute; left: 1em; content: ' '; height: 1em; width: 2px; background-color: #333; } .ly-close .inner:before { transform: rotate(45deg); } .ly-close .inner:after { transform: rotate(-45deg); } .ly-popup-switcher {} .ly-popup-switcher .ly-popup-current { cursor: pointer; background: transparent; } .ly-popup-switcher .ly-popup-modal { position: fixed; z-index: 1000; top: 0; left: 0; width: 100%; height: 100%; display: none; justify-content: center; align-items: center; } .ly-popup-switcher.ly-is-open .ly-popup-modal { display: flex; } .ly-popup-switcher .ly-popup-modal-backdrop { position: fixed; width: 100%; height: 100%; z-index: 0; top: 0; left: 0; background:rgba(0, 0, 0, 0.38); cursor: pointer; } .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content { padding: 1em; position: absolute; z-index: 1000; } .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul { padding: 0; margin: 12px 0 0 0; list-style: none; display: flex; flex-direction: column; } .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link { margin: 0; border: solid 1px; padding: 1em; display: block; min-width: 225px; margin-top: 1em; } .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link.current_lang { display: none; } /* Recommendation */ .ly-recommendation { display: none; } .ly-recommendation.ly-is-open { display: inline-block; } .ly-recommendation form { display: inline-block; } .ly-recommendation .ly-arrow, .ly-arrow.recommendation { display: none; } .ly-recommendation .ly-arrow.recommendation { display: inline-block; } .ly-recommendation .ly-switcher-wrapper { font-size: 1em !important; } .ly-recommendation .ly-popup-modal .ly-popup-switcher .ly-popup-modal .ly-popup-modal-backdrop { display: none; } .ly-recommendation-form button[type="submit"] { cursor: pointer; } /* Recommendation Banner */ .ly-recommendation .ly-banner { position: fixed; z-index: 100000; width: 100%; } .ly-recommendation .ly-banner .ly-banner-content { width: 100%; padding: 1em 30px 1em 1em; box-shadow: 0 0 20px rgba(0,0,0,.25); } .ly-recommendation .ly-banner.top { top: 0; } .ly-recommendation .ly-banner.bottom { bottom: 0; } .ly-recommendation .ly-banner .ly-banner-content .ly-switcher-wrapper { position: relative !important; margin: 0 !important; display: inline-block !important; } .ly-recommendation .ly-banner .ly-recommendation-form button[type="submit"] { margin-left: 10px; } /* Recommendation Popup */ .ly-recommendation .ly-popup-modal { position: fixed; z-index: 10000; } .ly-recommendation .ly-popup-modal .ly-switcher-wrapper { position: relative !important; margin: 0 !important; display: inline-block !important; } .ly-recommendation .ly-popup-modal-backdrop { position: fixed; width: 100%; height: 100%; z-index: 1000; top: 0; left: 0; background:rgba(0, 0, 0, 0.38); } .ly-recommendation .ly-popup-modal .ly-popup-modal-content { padding: 1em 30px 1em 1em; } .ly-recommendation .ly-popup-modal .ly-popup-modal-content .ly-languages-switcher { position: relative !important; margin: 0 !important; } .ly-recommendation .ly-popup-modal .ly-popup-modal-content h3 { margin: 0 2em 1em 0; font-size: inherit; position: relative; } .ly-recommendation .ly-popup-modal.top_left { top: 0; left: 0; margin-right: 0 !important; margin-bottom: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important;} .ly-recommendation .ly-popup-modal.top_center { top: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-bottom: 0 !important; margin-left: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important;} .ly-recommendation .ly-popup-modal.top_right { top: 0; right: 0; margin-left: 0 !important; margin-bottom: 0 !important; padding-left: 0 !important; padding-bottom: 0 !important; } .ly-recommendation .ly-popup-modal.center_center { top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); margin: 0 !important; padding: 0 !important; } .ly-recommendation .ly-popup-modal.bottom_left { bottom: 0; left: 0; margin-right: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-top: 0 !important; } .ly-recommendation .ly-popup-modal.bottom_center { bottom: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-left: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-left: 0 !important; padding-top: 0 !important; } .ly-recommendation .ly-popup-modal.bottom_right { bottom: 0; right: 0; margin-left: 0 !important; margin-top: 0 !important; padding-left: 0 !important; padding-top: 0 !important; } </style><!-- langify-v2-scripts-end --></body> </html>