PageSourceSearch

https://tclhomesecurity.com/cart

html tclhomesecurity.com collected 2026-09-26 04:36:34 UTC 236,567 bytes, 3,503 lines download raw bytes

1<!doctype html>
2
3<html lang="en" dir="ltr">
4  <head>
5    <meta charset="utf-8">
6    <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=1.0">
7    <meta name="theme-color" content="#ffffff">
8
9    <title>Your Shopping Cart</title><link rel="canonical" href="https://tclhomesecurity.com/cart"><link rel="shortcut icon" href="//tclhomesecurity.com/cdn/shop/files/logo.png?v=1742893323&width=96">
10      <link rel="apple-touch-icon" href="//tclhomesecurity.com/cdn/shop/files/logo.png?v=1742893323&width=180"><link rel="preconnect" href="https://cdn.shopify.com" crossorigin>
11    <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin>
12    <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com"><link rel="preload" href="//tclhomesecurity.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//tclhomesecurity.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2" as="font" type="font/woff2" crossorigin><meta property="og:type" content="website">
13  <meta property="og:title" content="Your Shopping Cart"><meta property="og:image" content="http://tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB_9ce98bef-a077-4626-bde8-e1000313aeb8.png?v=1742805581&width=2048">
14  <meta property="og:image:secure_url" content="https://tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB_9ce98bef-a077-4626-bde8-e1000313aeb8.png?v=1742805581&width=2048">
15  <meta property="og:image:width" content="2147">
16  <meta property="og:image:height" content="721"><meta property="og:url" content="https://tclhomesecurity.com/cart">
17<meta property="og:site_name" content="TCL"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Your Shopping Cart">
18  <meta name="twitter:description" content="Your Shopping Cart"><meta name="twitter:image" content="https://tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB_9ce98bef-a077-4626-bde8-e1000313aeb8.png?crop=center&height=1200&v=1742805581&width=1200">
19  <meta name="twitter:image:alt" content="">
19<script type="application/ld+json">
20  {
21    "@context": "https://schema.org",
22    "@type": "BreadcrumbList",
23    "itemListElement": [{
24        "@type": "ListItem",
25        "position": 1,
26        "name": "Home",
27        "item": "https://tclhomesecurity.com"
28      }]
29  }
30</script>
30<style>/* Typography (heading) */
31  @font-face {
32  font-family: Roboto;
33  font-weight: 400;
34  font-style: normal;
35  font-display: fallback;
36  src: url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2") format("woff2"),
37       url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_n4.238690e0007583582327135619c5f7971652fa9d.woff") format("woff");
38}
39
40@font-face {
41  font-family: Roboto;
42  font-weight: 400;
43  font-style: italic;
44  font-display: fallback;
45  src: url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_i4.57ce898ccda22ee84f49e6b57ae302250655e2d4.woff2") format("woff2"),
46       url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_i4.b21f3bd061cbcb83b824ae8c7671a82587b264bf.woff") format("woff");
47}
48
49/* Typography (body) */
50  @font-face {
51  font-family: Roboto;
52  font-weight: 400;
53  font-style: normal;
54  font-display: fallback;
55  src: url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2") format("woff2"),
56       url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_n4.238690e0007583582327135619c5f7971652fa9d.woff") format("woff");
57}
58
59@font-face {
60  font-family: Roboto;
61  font-weight: 400;
62  font-style: italic;
63  font-display: fallback;
64  src: url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_i4.57ce898ccda22ee84f49e6b57ae302250655e2d4.woff2") format("woff2"),
65       url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_i4.b21f3bd061cbcb83b824ae8c7671a82587b264bf.woff") format("woff");
66}
67
68@font-face {
69  font-family: Roboto;
70  font-weight: 700;
71  font-style: normal;
72  font-display: fallback;
73  src: url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_n7.f38007a10afbbde8976c4056bfe890710d51dec2.woff2") format("woff2"),
74       url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_n7.94bfdd3e80c7be00e128703d245c207769d763f9.woff") format("woff");
75}
76
77@font-face {
78  font-family: Roboto;
79  font-weight: 700;
80  font-style: italic;
81  font-display: fallback;
82  src: url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_i7.7ccaf9410746f2c53340607c42c43f90a9005937.woff2") format("woff2"),
83       url("//tclhomesecurity.com/cdn/fonts/roboto/roboto_i7.49ec21cdd7148292bffea74c62c0df6e93551516.woff") format("woff");
84}
85
86:root {
87    /**
88     * ---------------------------------------------------------------------
89     * SPACING VARIABLES
90     *
91     * We are using a spacing inspired from frameworks like Tailwind CSS.
92     * ---------------------------------------------------------------------
93     */
94    --spacing-0-5: 0.125rem; /* 2px */
95    --spacing-1: 0.25rem; /* 4px */
96    --spacing-1-5: 0.375rem; /* 6px */
97    --spacing-2: 0.5rem; /* 8px */
98    --spacing-2-5: 0.625rem; /* 10px */
99    --spacing-3: 0.75rem; /* 12px */
100    --spacing-3-5: 0.875rem; /* 14px */
101    --spacing-4: 1rem; /* 16px */
102    --spacing-4-5: 1.125rem; /* 18px */
103    --spacing-5: 1.25rem; /* 20px */
104    --spacing-5-5: 1.375rem; /* 22px */
105    --spacing-6: 1.5rem; /* 24px */
106    --spacing-6-5: 1.625rem; /* 26px */
107    --spacing-7: 1.75rem; /* 28px */
108    --spacing-7-5: 1.875rem; /* 30px */
109    --spacing-8: 2rem; /* 32px */
110    --spacing-8-5: 2.125rem; /* 34px */
111    --spacing-9: 2.25rem; /* 36px */
112    --spacing-9-5: 2.375rem; /* 38px */
113    --spacing-10: 2.5rem; /* 40px */
114    --spacing-11: 2.75rem; /* 44px */
115    --spacing-12: 3rem; /* 48px */
116    --spacing-14: 3.5rem; /* 56px */
117    --spacing-16: 4rem; /* 64px */
118    --spacing-18: 4.5rem; /* 72px */
119    --spacing-20: 5rem; /* 80px */
120    --spacing-24: 6rem; /* 96px */
121    --spacing-28: 7rem; /* 112px */
122    --spacing-32: 8rem; /* 128px */
123    --spacing-36: 9rem; /* 144px */
124    --spacing-40: 10rem; /* 160px */
125    --spacing-44: 11rem; /* 176px */
126    --spacing-48: 12rem; /* 192px */
127    --spacing-52: 13rem; /* 208px */
128    --spacing-56: 14rem; /* 224px */
129    --spacing-60: 15rem; /* 240px */
130    --spacing-64: 16rem; /* 256px */
131    --spacing-72: 18rem; /* 288px */
132    --spacing-80: 20rem; /* 320px */
133    --spacing-96: 24rem; /* 384px */
134
135    /* Container */
136    --container-max-width: 1800px;
137    --container-narrow-max-width: 1550px;
138    --container-gutter: var(--spacing-5);
139    --section-outer-spacing-block: var(--spacing-10);
140    --section-inner-max-spacing-block: var(--spacing-9);
141    --section-inner-spacing-inline: var(--container-gutter);
142    --section-stack-spacing-block: var(--spacing-8);
143
144    /* Grid gutter */
145    --grid-gutter: var(--spacing-5);
146
147    /* Product list settings */
148    --product-list-row-gap: var(--spacing-8);
149    --product-list-column-gap: var(--grid-gutter);
150
151    /* Form settings */
152    --input-gap: var(--spacing-2);
153    --input-height: 2.625rem;
154    --input-padding-inline: var(--spacing-4);
155
156    /* Other sizes */
157    --sticky-area-height: calc(var(--sticky-announcement-bar-enabled, 0) * var(--announcement-bar-height, 0px) + var(--sticky-header-enabled, 0) * var(--header-height, 0px));
158
159    /* RTL support */
160    --transform-logical-flip: 1;
161    --transform-origin-start: left;
162    --transform-origin-end: right;
163
164    /**
165     * ---------------------------------------------------------------------
166     * TYPOGRAPHY
167     * ---------------------------------------------------------------------
168     */
169
170    /* Font properties */
171    --heading-font-family: Roboto, sans-serif;
172    --heading-font-weight: 400;
173    --heading-font-style: normal;
174    --heading-text-transform: normal;
175    --heading-letter-spacing: 0.0em;
176    --text-font-family: Roboto, sans-serif;
177    --text-font-weight: 400;
178    --text-font-style: normal;
179    --text-letter-spacing: 0.0em;
180
181    /* Font sizes */
182    --text-h0: 2.5rem;
183    --text-h1: 1.75rem;
184    --text-h2: 1.5rem;
185    --text-h3: 1.375rem;
186    --text-h4: 1.125rem;
187    --text-h5: 1.125rem;
188    --text-h6: 1rem;
189    --text-xs: 0.6875rem;
190    --text-sm: 0.75rem;
191    --text-base: 0.875rem;
192    --text-lg: 1.125rem;
193
194    /**
195     * ---------------------------------------------------------------------
196     * COLORS
197     * ---------------------------------------------------------------------
198     */
199
200    /* Color settings */--accent: 39 39 39;
201    --text-primary: 39 39 39;
202    --background-primary: 255 255 255;
203    --dialog-background: 255 255 255;
204    --border-color: var(--text-color, var(--text-primary)) / 0.12;
205
206    /* Button colors */
207    --button-background-primary: 39 39 39;
208    --button-text-primary: 255 255 255;
209    --button-background-secondary: 60 97 158;
210    --button-text-secondary: 255 255 255;
211
212    /* Status colors */
213    --success-background: 238 241 235;
214    --success-text: 112 138 92;
215    --warning-background: 252 240 227;
216    --warning-text: 227 126 22;
217    --error-background: 245 229 229;
218    --error-text: 170 40 38;
219
220    /* Product colors */
221    --on-sale-text: 227 79 79;
222    --on-sale-badge-background: 227 79 79;
223    --on-sale-badge-text: 255 255 255;
224    --sold-out-badge-background: 190 189 185;
225    --sold-out-badge-text: 0 0 0;
226    --primary-badge-background: 60 97 158;
227    --primary-badge-text: 255 255 255;
228    --star-color: 255 183 74;
229    --product-card-background: 255 255 255;
230    --product-card-text: 39 39 39;
231
232    /* Header colors */
233    --header-background: 255 255 255;
234    --header-text: 39 39 39;
235
236    /* Footer colors */
237    --footer-background: 255 255 255;
238    --footer-text: 0 0 0;
239
240    /* Rounded variables (used for border radius) */
241    --rounded-xs: 0.25rem;
242    --rounded-sm: 0.3125rem;
243    --rounded: 0.625rem;
244    --rounded-lg: 1.25rem;
245    --rounded-full: 9999px;
246
247    --rounded-block: 1.25rem;
248    --rounded-button: 3.75rem;
249    --rounded-input: 0.5rem;
250
251    /* Box shadow */
252    --shadow-sm: 0 2px 8px rgb(var(--text-primary) / 0.1);
253    --shadow: 0 5px 15px rgb(var(--text-primary) / 0.1);
254    --shadow-md: 0 5px 30px rgb(var(--text-primary) / 0.1);
255    --shadow-block: 0px 18px 50px rgb(var(--text-primary) / 0.1);
256
257    /**
258     * ---------------------------------------------------------------------
259     * OTHER
260     * ---------------------------------------------------------------------
261     */
262
263    --stagger-products-reveal-opacity: 0;
264    --cursor-close-svg-url: url(//tclhomesecurity.com/cdn/shop/t/18/assets/cursor-close.svg?v=147174565022153725511785728147);
265    --cursor-zoom-in-svg-url: url(//tclhomesecurity.com/cdn/shop/t/18/assets/cursor-zoom-in.svg?v=154953035094101115921785728148);
266    --cursor-zoom-out-svg-url: url(//tclhomesecurity.com/cdn/shop/t/18/assets/cursor-zoom-out.svg?v=16155520337305705181785728147);
267    --checkmark-svg-url: url(//tclhomesecurity.com/cdn/shop/t/18/assets/checkmark.svg?v=77552481021870063511785728147);
268  }
269
270  [dir="rtl"]:root {
271    /* RTL support */
272    --transform-logical-flip: -1;
273    --transform-origin-start: right;
274    --transform-origin-end: left;
275  }
276
277  @media screen and (min-width: 700px) {
278    :root {
279      /* Typography (font size) */
280      --text-h0: 3.25rem;
281      --text-h1: 2.25rem;
282      --text-h2: 1.75rem;
283      --text-h3: 1.625rem;
284      --text-h4: 1.25rem;
285      --text-h5: 1.25rem;
286      --text-h6: 1.125rem;
287
288      --text-xs: 0.875rem;
289      --text-sm: 1.0rem;
290      --text-base: 1.125rem;
291      --text-lg: 1.375rem;
292
293      /* Spacing */
294      --container-gutter: 2rem;
295      --section-outer-spacing-block: var(--spacing-14);
296      --section-inner-max-spacing-block: var(--spacing-10);
297      --section-inner-spacing-inline: var(--spacing-12);
298      --section-stack-spacing-block: var(--spacing-12);
299
300      /* Grid gutter */
301      --grid-gutter: var(--spacing-6);
302
303      /* Product list settings */
304      --product-list-row-gap: var(--spacing-12);
305
306      /* Form settings */
307      --input-gap: 1rem;
308      --input-height: 3.125rem;
309      --input-padding-inline: var(--spacing-5);
310    }
311  }
312
313  @media screen and (min-width: 1000px) {
314    :root {
315      /* Spacing settings */
316      --container-gutter: var(--spacing-12);
317      --section-outer-spacing-block: var(--spacing-16);
318      --section-inner-max-spacing-block: var(--spacing-14);
319      --section-inner-spacing-inline: var(--spacing-16);
320      --section-stack-spacing-block: var(--spacing-12);
321    }
322  }
323
324  @media screen and (min-width: 1150px) {
325    :root {
326      /* Spacing settings */
327      --container-gutter: var(--spacing-12);
328      --section-outer-spacing-block: var(--spacing-16);
329      --section-inner-max-spacing-block: var(--spacing-14);
330      --section-inner-spacing-inline: var(--spacing-16);
331      --section-stack-spacing-block: var(--spacing-12);
332    }
333  }
334
335  @media screen and (min-width: 1400px) {
336    :root {
337      /* Typography (font size) */
338      --text-h0: 4rem;
339      --text-h1: 3rem;
340      --text-h2: 2.5rem;
341      --text-h3: 1.75rem;
342      --text-h4: 1.5rem;
343      --text-h5: 1.25rem;
344      --text-h6: 1.25rem;
345
346      --section-outer-spacing-block: var(--spacing-20);
347      --section-inner-max-spacing-block: var(--spacing-16);
348      --section-inner-spacing-inline: var(--spacing-18);
349    }
350  }
351
352  @media screen and (min-width: 1600px) {
353    :root {
354      --section-outer-spacing-block: var(--spacing-20);
355      --section-inner-max-spacing-block: var(--spacing-18);
356      --section-inner-spacing-inline: var(--spacing-20);
357    }
358  }
359
360  /**
361   * ---------------------------------------------------------------------
362   * LIQUID DEPENDANT CSS
363   *
364   * Our main CSS is Liquid free, but some very specific features depend on
365   * theme settings, so we have them here
366   * ---------------------------------------------------------------------
367   */@media screen and (pointer: fine) {
368        /* The !important are for the Shopify Payment button to ensure we override the default from Shopify styles */
369        .button:not([disabled]):not(.button--outline):hover, .btn:not
369([disabled]):hover, .shopify-payment-button__button--unbranded:not([disabled]):hover {
370          background-color: transparent !important;
371          color: rgb(var(--button-outline-color) / var(--button-background-opacity, 1)) !important;
372          box-shadow: inset 0 0 0 2px currentColor !important;
373        }
374
375        .button--outline:not([disabled]):hover {
376          background: rgb(var(--button-background));
377          color: rgb(var(--button-text-color));
378          box-shadow: inset 0 0 0 2px rgb(var(--button-background));
379        }
380      }</style>
380<script>
381  // This allows to expose several variables to the global scope, to be used in scripts
382  window.themeVariables = {
383    settings: {
384      showPageTransition: false,
385      staggerProductsApparition: true,
386      reduceDrawerAnimation: false,
387      reduceMenuAnimation: false,
388      headingApparition: "none",
389      pageType: "cart",
390      moneyFormat: "${{amount}}",
391      moneyWithCurrencyFormat: "${{amount}} USD",
392      currencyCodeEnabled: true,
393      cartType: "drawer",
394      showDiscount: true,
395      discountMode: "saving",
396      pageBackground: "#ffffff",
397      textColor: "#272727"
398    },
399
400    strings: {
401      addedToCartWithTitle: "{{ product_title }} added to your cart",
402      accessibilityClose: "Close",
403      accessibilityNext: "Next",
404      accessibilityPrevious: "Previous",
405      closeGallery: "Close gallery",
406      zoomGallery: "Zoom",
407      errorGallery: "Image cannot be loaded",
408      searchNoResults: "No results could be found.",
409      addOrderNote: "Add order note",
410      editOrderNote: "Edit order note",
411      shippingEstimatorNoResults: "Sorry, we do not ship to your address.",
412      shippingEstimatorOneResult: "There is one shipping rate for your address:",
413      shippingEstimatorMultipleResults: "There are several shipping rates for your address:",
414      shippingEstimatorError: "One or more error occurred while retrieving shipping rates:"
415    },
416
417    breakpoints: {
418      'sm': 'screen and (min-width: 700px)',
419      'md': 'screen and (min-width: 1000px)',
420      'lg': 'screen and (min-width: 1150px)',
421      'xl': 'screen and (min-width: 1400px)',
422
423      'sm-max': 'screen and (max-width: 699px)',
424      'md-max': 'screen and (max-width: 999px)',
425      'lg-max': 'screen and (max-width: 1149px)',
426      'xl-max': 'screen and (max-width: 1399px)'
427    }
428  };
429
430  // For detecting native share
431  document.documentElement.classList.add(`native-share--${navigator.share ? 'enabled' : 'disabled'}`);</script>
431<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 431
431
432<script type="importmap">{
433        "imports": {
434          "vendor": "//tclhomesecurity.com/cdn/shop/t/18/assets/vendor.min.js?v=104794799272724577851785728101",
435          "theme": "//tclhomesecurity.com/cdn/shop/t/18/assets/theme.js?v=99599989850178670341785728101",
436          "photoswipe": "//tclhomesecurity.com/cdn/shop/t/18/assets/photoswipe.min.js?v=13374349288281597431785728099"
437        }
438      }
439    </script>
439<script type="module" src="//tclhomesecurity.com/cdn/shop/t/18/assets/vendor.min.js?v=104794799272724577851785728101" defer="defer"></script>
439
440    
440<script type="module" src="//tclhomesecurity.com/cdn/shop/t/18/assets/theme.js?v=99599989850178670341785728101" defer="defer"></script>
440<link rel="stylesheet" href="//tclhomesecurity.com/cdn/shop/t/18/assets/theme.css?v=13666072212725676531785728100">
441
442    
442<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
442<meta name="google-site-verification" content="iFE6dCPdNoGrqoKJiZstLmOEdgKvhLWu_OBGIm5GmqA">
443<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/91593539885/digital_wallets/dialog">
444<meta id="in-context-paypal-metadata" data-shop-id="91593539885" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
445<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://tclhomesecurity.com/cart">
446<link rel="alternate" hreflang="en" href="https://tclhomesecurity.com/cart">
447<link rel="alternate" hreflang="es" href="https://tclhomesecurity.com/es/cart">
448<link rel="alternate" hreflang="de" href="https://tclhomesecurity.com/de/cart">
449<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 449
449
450<script id="shopify-features" type="application/json">{"accessToken":"ea0209ed1e20ff4486e2fa3fcfd5298f","betas":["rich-media-storefront-analytics"],"domain":"tclhomesecurity.com","predictiveSearch":true,"shopId":91593539885,"locale":"en"}</script>
vendor: 1 bytes, line 450
450
451<script>var Shopify = Shopify || {};
452Shopify.shop = "fdibyh-ke.myshopify.com";
453Shopify.locale = "en";
454Shopify.currency = {"active":"USD","rate":"1.0"};
455Shopify.country = "US";
456Shopify.theme = {"name":"Impact-0803","id":182178808109,"schema_name":"Impact","schema_version":"7.0.1","theme_store_id":1190,"role":"main"};
457Shopify.theme.handle = "null";
458Shopify.theme.style = {"id":null,"handle":null};
459Shopify.cdnHost = "tclhomesecurity.com/cdn";
460Shopify.routes = Shopify.routes || {};
461Shopify.routes.root = "/";
462Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
463Shopify.SignInWithShop = Shopify.SignInWithShop || {};
464Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
465Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 465
465
466<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 466
466
467<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>
vendor: 1 bytes, line 467
467
468<script>
469  window.Shopify = window.Shopify || {};
470  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
471  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
472  window.Shopify.SignInWithShop.eligible = true;
473</script>
vendor: 1 bytes, line 473
473
474<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 474
474
475<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 475
475
476<script type="module">
477  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
478
479  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
480
481</script>
vendor: 1 bytes, line 481
481
482<script>
483  window.Shopify = window.Shopify || {};
484  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
485  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
486</script>
vendor: 1 bytes, line 486
486
487<script>(function() {
488  var isLoaded = false;
489  function asyncLoad() {
490    if (isLoaded) return;
491    isLoaded = true;
492    var urls = ["https:\/\/mds.oceanpayment.com\/assets\/shopifylogo\/paypal,visa,visa_electron,mastercard,maestro,jcb,american_express,diners_club,discover,afterpay,apple_pay,google_pay.js?shop=fdibyh-ke.myshopify.com","https:\/\/mds.oceanpayment.com\/assets\/shopifylogo\/paypal,visa,visa_electron,mastercard,maestro,jcb,american_express,diners_club,discover,afterpay,apple_pay,google_pay.js?shop=fdibyh-ke.myshopify.com"];
493    for (var i = 0; i < urls.length; i++) {
494      var s = document.createElement('script');
495      s.type = 'text/javascript';
496      s.async = true;
497      s.src = urls[i];
498      var x = document.getElementsByTagName('script')[0];
499      x.parentNode.insertBefore(s, x);
500    }
501  };
502  if(window.attachEvent) {
503    window.attachEvent('onload', asyncLoad);
504  } else {
505    window.addEventListener('load', asyncLoad, false);
506  }
507})();</script>
vendor: 1 bytes, line 507
507
508<script id="__st">var __st={"a":91593539885,"offset":-25200,"reqid":"b044b8de-74cd-466d-bf24-60bdddca628a-1790397394","pageurl":"tclhomesecurity.com\/cart","u":"d9f17b90f190","p":"cart"};</script>
vendor: 1 bytes, line 508
508
509<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 509
509
510<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.3.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>
vendor: 1 bytes, line 510
510
511<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//tclhomesecurity.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 511
511
512<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//tclhomesecurity.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
512<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 512
512
513<script>
514  window.Shopify = window.Shopify || {};
515  window.Shopify.MCP = window.Shopify.MCP || {};
516  window.Shopify.MCP.enabled = true;
517  window.Shopify.MCP.shop = "fdibyh-ke.myshopify.com";
518  window.Shopify.MCP.mcpEndpoint = "https:\/\/tclhomesecurity.com\/api\/mcp";
519  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
520</script>
vendor: 1 bytes, line 520
520
521<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/tclhomesecurity.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
522</script>
vendor: 1 bytes, line 522
522
523<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://tclhomesecurity.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
524</script>
vendor: 1 bytes, line 524
524
525<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
526  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);
527</script>
vendor: 1 bytes, line 527
527
528<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})}}));
529</script>
vendor: 1 bytes, line 529
529
530<script id='scb4127' type='text/javascript' async='' src='https://tclhomesecurity.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
530<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://tclhomesecurity.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
531<style id="shopify-accelerated-checkout-cart">
532        #shopify-buyer-consent {
533  margin-top: 1em;
534  display: inline-block;
535  width: 100%;
536}
537
538#shopify-buyer-consent.hidden {
539  display: none;
540}
541
542#shopify-subscription-policy-button {
543  background: none;
544  border: none;
545  padding: 0;
546  text-decoration: underline;
547  font-size: inherit;
548  cursor: pointer;
549}
550
551#shopify-subscription-policy-button::before {
552  box-shadow: none;
553}
554
555      </style>
556
557<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
557
558
559
560
561<script>
562      let lazyScriptsLoaded = false;
563      function loadDelayedScripts() {
564        if (!lazyScriptsLoaded) {
565          lazyScriptsLoaded = true;
566          
567          /* =========================================================
568             👇 请将你的 GTM、Facebook Pixel 等第三方追踪代码粘贴到下方 👇
569             ========================================================= */
570          
571          // 示例:Google Tag Manager (取消注释并替换 GTM-XXXXXXX 即可使用)
572          /*
vendor: 378 bytes, lines 572-577
572
573          (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
574          new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
575          j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
576          'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
577          })(window,document,'script','dataLayer','
577GTM-XXXXXXX
vendor: 14 bytes, lines 577-578
577');
578          
578*/
579
580          /* =========================================================
581             👆 粘贴区域结束 👆
582             ========================================================= */
583             
584          console.log("Lazy scripts triggered via user interaction.");
585        }
586      }
587
588      // 监听用户动作,一旦发生交互就立刻执行内部脚本
589      window.addEventListener('scroll', loadDelayedScripts, { once: true, passive: true });
590      window.addEventListener('mousemove', loadDelayedScripts, { once: true, passive: true });
591      window.addEventListener('touchstart', loadDelayedScripts, { once: true, passive: true });
592      window.addEventListener('click', loadDelayedScripts, { once: true, passive: true });
593      
594      // 兜底机制:如果用户打开网页后发呆了 5 秒钟没有任何操作,则强制执行,防止漏算数据
595      setTimeout(loadDelayedScripts, 5000);
596    </script>
596
597  <!-- BEGIN app block: shopify://apps/uppromote-affiliate/blocks/core-script/64c32457-930d-4cb9-9641-e24c0d9cf1f4 --><!-- BEGIN app snippet: core-metafields-setting --><!--suppress ES6ConvertVarToLetConst -->
598<script type="application/json" id="core-uppromote-settings">{"active_reg_from":true,"app_env":{"env":"production"}}</script>
vendor: 1 bytes, line 598
598
599<script type="application/json" id="core-uppromote-cart">{"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}</script>
vendor: 1 bytes, line 599
599
600<script id="core-uppromote-quick-store-tracking-vars">
601    function getDocumentContext(){const{href:a,hash:b,host:c,hostname:d,origin:e,pathname:f,port:g,protocol:h,search:i}=window.location,j=document.referrer,k=document.characterSet,l=document.title;return{location:{href:a,hash:b,host:c,hostname:d,origin:e,pathname:f,port:g,protocol:h,search:i},referrer:j||document.location.href,characterSet:k,title:l}}function getNavigatorContext(){const{language:a,cookieEnabled:b,languages:c,userAgent:d}=navigator;return{language:a,cookieEnabled:b,languages:c,userAgent:d}}function getWindowContext(){const{innerHeight:a,innerWidth:b,outerHeight:c,outerWidth:d,origin:e,screen:{height:j,width:k},screenX:f,screenY:g,scrollX:h,scrollY:i}=window;return{innerHeight:a,innerWidth:b,outerHeight:c,outerWidth:d,origin:e,screen:{screenHeight:j,screenWidth:k},screenX:f,screenY:g,scrollX:h,scrollY:i,location:getDocumentContext().location}}function getContext(){return{document:getDocumentContext(),navigator:getNavigatorContext(),window:getWindowContext()}}
602    if (window.location.href.includes('?sca_ref=')) {
603        localStorage.setItem('__up_lastViewedPageContext', JSON.stringify({
604            context: getContext(),
605            timestamp: new Date().toISOString(),
606        }))
607    }
608</script>
608
609
610<script id="core-uppromote-setting-booster">
611    var UpPromoteCoreSettings = JSON.parse(document.getElementById('core-uppromote-settings').textContent)
612    UpPromoteCoreSettings.currentCart = JSON.parse(document.getElementById('core-uppromote-cart')?.textContent || '{}')
613    const idToClean = ['core-uppromote-settings', 'core-uppromote-cart', 'core-uppromote-setting-booster', 'core-uppromote-quick-store-tracking-vars']
614    idToClean.forEach(id => {
615        document.getElementById(id)?.remove()
616    })
617</script>
617
618<!-- END app snippet -->
619
620
621<!-- END app block --><!-- BEGIN app block: shopify://apps/uppromote-affiliate/blocks/message-bar/64c32457-930d-4cb9-9641-e24c0d9cf1f4 -->
622
623<style>
624    body {
625        transition: padding-top .2s;
626    }
627    .scaaf-message-bar {
628        --primary-text-color: ;
629        --secondary-text-color: ;
630        --primary-bg-color: ;
631        --secondary-bg-color: ;
632        --primary-text-size: px;
633        --secondary-text-size: px;
634        text-align: center;
635        display: block;
636        width: 100%;
637        padding: 10px;
638        animation-duration: .5s;
639        animation-name: fadeIn;
640        position: absolute;
641        top: 0;
642        left: 0;
643        width: 100%;
644        z-index: 10;
645    }
646
647    .scaaf-message-bar-content {
648        margin: 0;
649        padding: 0;
650    }
651
652    .scaaf-message-bar[data-layout=referring] {
653        background-color: var(--primary-bg-color);
654        color: var(--primary-text-color);
655        font-size: var(--primary-text-size);
656    }
657
658    .scaaf-message-bar[data-layout=direct] {
659        background-color: var(--secondary-bg-color);
660        color: var(--secondary-text-color);
661        font-size: var(--secondary-text-size);
662    }
663
664</style>
665
666<script type="text/javascript">
667    (function() {
668        let container, contentContainer
669        const settingTag = document.querySelector('script#uppromote-message-bar-setting')
670
671        if (!settingTag || !settingTag.textContent) {
672            return
673        }
674
675        const setting = JSON.parse(settingTag.textContent)
676        if (!setting.referral_enable) {
677            return
678        }
679
680        const getCookie = (cName) => {
681            const name = cName + '='
682            const ca = document.cookie.split(';')
683            for (let i = 0; i < ca.length; i++) {
684                let c = ca[i]
685                while (c.charAt(0) === ' ') {
686                    c = c.substring(1)
687                }
688                if (c.indexOf(name) === 0) {
689                    const raw = c.substring(name.length, c.length)
690                    // Decode this value only, not the whole cookie string, so one malformed
691                    // cookie (bare %) or a ';' inside another value can't break parsing here.
692                    try {
693                        return decodeURIComponent(raw)
694                    } catch {
695                        return raw
696                    }
697                }
698            }
699
700            return null
701        }
702
703        function renderContainer() {
704            container = document.createElement('div')
705            container.classList.add('scaaf-message-bar')
706            contentContainer = document.createElement('p')
707            contentContainer.classList.add('scaaf-message-bar-content')
708            container.append(contentContainer)
709        }
710
711        function calculateLayout() {
712            const height = container.scrollHeight
713
714            function onMouseMove() {
715                document.body.style.paddingTop = `${height}px`
716                document.body.removeEventListener('mousemove', onMouseMove)
717                document.body.removeEventListener('touchstart', onMouseMove)
718            }
719
720            document.body.addEventListener('mousemove', onMouseMove)
721            document.body.addEventListener('touchstart', onMouseMove)
722        }
723
724        renderContainer()
725
726        function fillDirectContent() {
727            if (!setting.not_referral_enable) {
728                // Nothing to show: drop the optimistic "Loading" bar prepareForReferring may have left
729                container.remove()
730                return
731            }
732            contentContainer.style.visibility = 'visible'
733            container.dataset.layout = 'direct'
734            contentContainer.textContent = setting.not_referral_content
735            document.body.prepend(container)
736            calculateLayout()
737        }
738
739        function prepareForReferring() {
740            contentContainer.textContent = 'Loading'
741            contentContainer.style.visibility = 'hidden'
742            document.body.prepend(container)
743            calculateLayout()
744        }
745
746        function fillReferringContent(aff) {
747            container.dataset.layout = 'referring'
748            // Guard referral_content so a missing template can't throw and leave the bar stuck on "Loading"
749            contentContainer.textContent = (setting.referral_content || '')
750                .replaceAll('{affiliate_name}', aff.name)
751                .replaceAll('{company}', aff.company)
752                .replaceAll('{affiliate_firstname}', aff.first_name)
753                .replaceAll('{personal_detail}', aff.personal_detail)
754            contentContainer.style.visibility = 'visible'
755        }
756
757        function safeJsonParse (str) {
758            if (!str) return null;
759            try {
760                return JSON.parse(str);
761            } catch {
762                return null;
763            }
764        }
765
766        function renderFromCookie(affiliateID) {
767            if (!affiliateID) {
768                fillDirectContent()
769                return
770            }
771
772            prepareForReferring()
773
774            let info = null
775            const raw = getCookie('_up_a_info')
776            if (raw) {
777                info = safeJsonParse(raw)
778            }
779
780            if (!info) {
781                fillDirectContent()
782                return
783            }
784
785            const aff = {
786                company: info.company || '',
787                name: (info.first_name || '') + ' ' + (info.last_name || ''),
788                first_name: info.first_name || '',
789                personal_detail: getCookie('scaaf_pd') || ''
790            }
791
792            fillReferringContent(aff)
793        }
794
795        function paintMessageBar() {
796            if (!document.body) {
797                return requestAnimationFrame(paintMessageBar)
798            }
799
800            const urlParams = new URLSearchParams(window.location.search)
801            const scaRef = urlParams.get("sca_ref")
802            const urlAffiliateID = scaRef ? scaRef.split('.')[0] + '' : null
803            const cookieAffiliateID = getCookie('up_uppromote_aid')
804            const isReferralLink = !!scaRef
805
806            if (!isReferralLink) {
807                if (cookieAffiliateID) {
808                    renderFromCookie(cookieAffiliateID)
809                    return
810                }
811                fillDirectContent()
812                return
813            }
814
815            if (cookieAffiliateID === urlAffiliateID) {
816                renderFromCookie(cookieAffiliateID)
817                return
818            }
819
820            const lastClick = Number(getCookie('up_uppromote_lc') || 0)
821            const diffMinuteFromNow = (Date.now() - lastClick) / (60 * 1000)
822            if (diffMinuteFromNow <= 1) {
823                renderFromCookie(cookieAffiliateID)
824                return
825            }
826
827            let waited = 0
828            const MAX_WAIT = 5000
829            const INTERVAL = 300
830
831            const timer = setInterval(() => {
832                const newCookieID = getCookie('up_uppromote_aid')
833                const isStillThatAffiliate = newCookieID === urlAffiliateID
834                const isReceived = localStorage.getItem('up_uppromote_received') === '1'
835                let isLoadedAffiliateInfoDone = !!safeJsonParse(getCookie('_up_a_info'))
836
837                if (isReceived && isStillThatAffiliate && isLoadedAffiliateInfoDone) {
838                    clearInterval(timer)
839                    renderFromCookie(newCookieID)
840                    return
841                }
842
843                waited += INTERVAL
844                if (waited >= MAX_WAIT) {
845                    clearInterval(timer)
846                    fillDirectContent()
847                }
848            }, INTERVAL)
849        }
850
851        requestAnimationFrame(paintMessageBar)
852    })()
853</script>
853
854
855
856<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
857
858
859
860
861
862
863
864
865
866
867
868
869  
869<script async src="https://static.klaviyo.com/onsite/js/Wv45eA/klaviyo.js?company_id=Wv45eA"></script>
869
870  
870<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
870
871
872  
873
874
875
876
877  
877<script>
878    window.klaviyoReviewsProductDesignMode = false
879  </script>
879
880
881
882
883
884
885
886
887
888
889<!-- END app block --><!-- BEGIN app block: shopify://apps/pagefly-ai-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 -->
890
891<!-- BEGIN app snippet: pagefly-cro-ab-testing-main -->
892
893
894
895
896
897
898
899<script>
900  ;(function () {
901    const url = new URL(window.location)
902    const viewParam = url.searchParams.get('view')
903    if (viewParam && viewParam.includes('variant-pf-')) {
904      url.searchParams.set('pf_v', viewParam)
905      url.searchParams.delete('view')
906      window.history.replaceState({}, '', url)
907    }
908  })()
909</script>
909
910
911
912
913<script type='module'>
914  
915  window.PAGEFLY_CRO = window.PAGEFLY_CRO || {}
916
917  window.PAGEFLY_CRO['data_debug'] = {
918    original_template_suffix: "",
919    allow_ab_test: false,
920    ab_test_start_time: 0,
921    ab_test_end_time: 0,
922    today_date_time: 1790397394000,
923  }
924  window.PAGEFLY_CRO['GA4'] = { enabled: false}
925</script>
925
926
927<!-- END app snippet -->
928
929
930
931
932
933
934
935
936  
936<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-helper.js' defer='defer'></script>
936
937
938  
938<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-general-helper.js' defer='defer'></script>
938
939
940  
940<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-snap-slider.js' defer='defer'></script>
940
941
942  
942<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-slideshow-v3.js' defer='defer'></script>
942
943
944  
944<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-slideshow-v4.js' defer='defer'></script>
944
945
946  
946<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-glider.js' defer='defer'></script>
946
947
948  
948<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-slideshow-v1-v2.js' defer='defer'></script>
948
949
950  
950<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-product-media.js' defer='defer'></script>
950
951
952  
952<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-product.js' defer='defer'></script>
952
953
954
955<script id='pagefly-helper-data' type='application/json'>
956  {
957    "page_optimization": {
958      "assets_prefetching": false
959    },
960    "elements_asset_mapper": {
961      "Accordion": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-accordion.js",
962      "Accordion3": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-accordion3.js",
963      "CountDown": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-countdown.js",
964      "GMap1": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-gmap.js",
965      "GMap2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-gmap.js",
966      "GMapBasicV2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-gmap.js",
967      "GMapAdvancedV2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-gmap.js",
968      "HTML.Video": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-htmlvideo.js",
969      "HTML.Video2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-htmlvideo2.js",
970      "HTML.Video3": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-htmlvideo2.js",
971      "BackgroundVideo": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-htmlvideo2.js",
972      "Instagram": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-instagram.js",
973      "Instagram2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-instagram.js",
974      "Insta3": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-instagram3.js",
975      "Tabs": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-tab.js",
976      "Tabs3": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-tab3.js",
977      "ProductBox": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-cart.js",
978      "FBPageBox2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-facebook.js",
979      "FBLikeButton2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-facebook.js",
980      "TwitterFeed2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-twitter.js",
981      "Paragraph4": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-paragraph4.js",
982
983      "AliReviews": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
984      "BackInStock": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
985      "GloboBackInStock": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
986      "GrowaveWishlist": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
987      "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
988      "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder
988-359/assets/pagefly-3rd-elements.js",
989      "LimeSpot": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
990      "Loox": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
991      "Opinew": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
992      "Powr": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
993      "ProductReviews": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
994      "PushOwl": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
995      "ReCharge": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
996      "Rivyo": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
997      "TrackingMore": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
998      "Vitals": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js",
999      "Wiser": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js"
1000    },
1001    "custom_elements_mapper": {
1002      "pf-click-action-element": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-click-action-element.js",
1003      "pf-dialog-element": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-dialog-element.js"
1004    }
1005  }
1006</script>
1006
1007
1008<script id='pagefly-heatmap-config' type='application/json'>
1009  {}
1010</script>
vendor: 1 bytes, line 1010
1010
1011<script>
1012  (function () {
1013    var el = document.getElementById('pagefly-heatmap-config')
1014    if (!el) { window.__pagefly_heatmap_config__ = {}; return }
1015    try {
1016      window.__pagefly_heatmap_config__ = JSON.parse(el.textContent || '{}') || {}
1017    } catch (e) {
1018      window.__pagefly_heatmap_config__ = {}
1019    }
1020  })()
1021</script>
vendor: 1 bytes, line 1021
1021
1022<script>
1023  // Heatmap overlay loader. Three gates, all of them cheap, none of them trusting the URL:
1024  // the visitor must have arrived on a pf_heatmap link, the SERVER must have published an
1025  // overlay path in the metafield, and this page must already be one the merchant enabled
1026  // tracking for. The last gate is what stops a crafted link pulling the asset onto an
1027  // arbitrary storefront page. Everything else is decided inside the asset, and by the server.
1028  (function () {
1029    var cfg = window.__pagefly_heatmap_config__ || {}
1030    var id = (window.__pagefly_page_setting__ || {}).pageId
1031    if (!/[#&]pf_heatmap=/.test(window.location.hash || '')) return
1032    if (!cfg.overlay_data_path || !Array.isArray(cfg.enabled_page_ids)) return
1033    if (!id || cfg.enabled_page_ids.indexOf(id) === -1) return
1034    var s = document.createElement('script')
1035    s.src = 'https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-heatmap-overlay.js'
1036    s.defer = true
1037    document.head.appendChild(s)
1038  })()
1039</script>
1039
1040
1041<!-- BEGIN app snippet: pf-ai-schema -->
1042<!-- END app snippet -->
1043
1044
1045<!-- END app block --><!-- BEGIN app block: shopify://apps/firework-shoppable-video-ugc/blocks/firework-header/347a2e4c-f5cb-410d-8354-490d1e80558c -->
1046
1047<script async type="module" src='//asset.fwcdn3.com/js/module/integrations/shopify.js'></script>
1047
1048
1049  
1049<script
1050    async
1051    type="module"
1052    src='//asset.fwcdn3.com/js/module/fwn.js?business_id=oWnl35'
1053    
1054  ></script>
1054
1055
1056
1057
1058
1059
1060<!-- END app block --><!-- BEGIN app block: shopify://apps/uppromote-affiliate/blocks/customer-referral/64c32457-930d-4cb9-9641-e24c0d9cf1f4 --><link rel="preload" href="https://cdn.shopify.com/extensions/01a0cc10-8025-74bc-8561-6e03f24d6d18/affliate-by-secomapp-126/assets/customer-referral.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
1061<script>
1062  document.addEventListener("DOMContentLoaded", function () {
1063    const params = new URLSearchParams(window.location.search);
1064    if (params.has('sca_ref') || params.has('sca_crp')) {
1065      document.body.setAttribute('is-affiliate-link', '');
1066    }
1067  });
1068</script>
1068
1069
1070
1071<!-- END app block -->
1071<script src="https://cdn.shopify.com/extensions/01a0d8da-dbb6-759e-90f0-31975754fa90/forms-2597/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1071
1071
1072<script src="https://cdn.shopify.com/extensions/01a0cc10-8025-74bc-8561-6e03f24d6d18/affliate-by-secomapp-126/assets/core.min.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1072
1072
1073<script src="https://cdn.shopify.com/extensions/01a0cc10-8025-74bc-8561-6e03f24d6d18/affliate-by-secomapp-126/assets/customer-referral.js" type="text/javascript" defer="defer"></script>
1073
1074<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1075<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 91593539885,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};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>
vendor: 1 bytes, line 1075
1075
1076<script>
1077  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1078</script>
vendor: 1 bytes, line 1078
1078
1079<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={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:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-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:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1079).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 91593539885,storefrontBaseUrl: "https://tclhomesecurity.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://tclhomesecurity.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1608188205","configuration":"{\"pixel_id\":\"753413490861579\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
1079,{"id":"1560969517","configuration":"{\"accountID\":\"1848772\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c67c427e35bed2216d156eaeeacde779","type":"APP","apiClientId":4870017,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1518076205","configuration":"{\"accountID\":\"123\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"848c306667aa9461e745ee85952411fb","type":"APP","apiClientId":4415147,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1171882285","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-PFTJJD4DY0\\\",\\\"AW-17013520175\\\",\\\"GT-NB97P8H7\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-PFTJJD4DY0\\\",\\\"AW-17013520175\\\/oTIVCOzY2cQaEK_u1rA_\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-PFTJJD4DY0\\\",\\\"AW-17013520175\\\/07KICObY2cQaEK_u1rA_\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-PFTJJD4DY0\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-PFTJJD4DY0\\\",\\\"AW-17013520175\\\/VdJhCLfW2cQaEK_u1rA_\\\",\\\"MC-40TVEFGPMP\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-PFTJJD4DY0\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-PFTJJD4DY0\\\",\\\"AW-17013520175\\\/6F6QCLHW2cQaEK_u1rA_\\\",\\\"MC-40TVEFGPMP\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-PFTJJD4DY0\\\",\\\"AW-17013520175\\\/6Yt6CLTW2cQaEK_u1rA_\\\",\\\"MC-40TVEFGPMP\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-PFTJJD4DY0\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-PFTJJD4DY0\\\",\\\"AW-17013520175\\\/OAp-CO_Y2cQaEK_u1rA_\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-PFTJJD4DY0\\\",\\\"AW-17013520175\\\/730gCOnY2cQaEK_u1rA_\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-PFTJJD4DY0\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1138327853","configuration":"{\"shopId\":\"202206\",\"env\":\"production\",\"metaData\":\"[]\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"36f244aeba196ca7e2f6b8a611f4e21b","type":"APP","apiClientId":2773553,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"169083181","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"cj-network-integration-pixel"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"TCL","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"fdibyh-ke.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/tclhomesecurity.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"
107910046897520941","handle":"tcl-d2-pro-palm-vein-digital-smart-door-lock-with-keypad","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50795303698733","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9975397122349","handle":"tcl-d1-pro-palm-vein-digital-smart-door-lock-with-keypad","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50535818690861","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10047038554413","handle":"tcl-d2-plus-fingerprint-digital-smart-door-lock-with-keypad","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50796281495853","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9996765135149","handle":"tcl-d1-fingerprint-digital-smart-door-lock-with-keypad","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50738783322413","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10092931285293","handle":"tcl-k1-smart-fingerprint-door-knob-secure-biometric-lock-with-app-control-and-keyless-entry-for-home-office-and-garage","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51213291716909","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10047035506989","handle":"tcl-d2-app-unlock-digital-smart-door-lock-with-keypad","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"50796269207853","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10125474267437","handle":"tcl-front-door-handle-set-for-d2-series-smart-lock-exterior-handleset-with-interior-reversible-lever-non-locking-fits-standard-doors-dark-grey","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51519401525549","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10096824844589","handle":"tcl-fobs-for-smart-lock-13-56mhz-rfid-key-fob-ic-cards-for-smart-door-deadbolt-keyless-entry-fobs-for-door-lock-3-packs","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"51268936859949","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://tclhomesecurity.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"182178808109","themeStoreId":"1190","themePublished":"true","eventMetadataId":"9ba33fb4-db30-47b8-a4cb-2a7aef453d4f","pageType":"cart","shopId":"91593539885","storefrontBaseUrl":"https:\/\/tclhomesecurity.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1079<script>
1080  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1081  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1082  window.ShopifyAnalytics.meta.currency = 'USD';
1083  var meta = {"page":{"pageType":"cart","requestId":"b044b8de-74cd-466d-bf24-60bdddca628a-1790397394"}};
1084  for (var attr in meta) {
1085    window.ShopifyAnalytics.meta[attr] = meta[attr];
1086  }
1087</script>
vendor: 1 bytes, line 1087
1087
1088<script class="analytics">
1089  (function () {
1090    var customDocumentWrite = function(content) {
1091      var jquery = null;
1092
1093      if (window.jQuery) {
1094        jquery = window.jQuery;
1095      } else if (window.Checkout && window.Checkout.$) {
1096        jquery = window.Checkout.$;
1097      }
1098
1099      if (jquery) {
1100        jquery('body').append(content);
1101      }
1102    };
1103
1104    var hasLoggedConversion = function(token) {
1105      if (token) {
1106        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1107      }
1108      return false;
1109    }
1110
1111    var setCookieIfConversion = function(token) {
1112      if (token) {
1113        var twoMonthsFromNow = new Date(Date.now());
1114        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1115
1116        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1117      }
1118    }
1119
1120    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1121    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1122    if (trekkie.integrations) {
1123      return;
1124    }
1125    trekkie.methods = [
1126      'identify',
1127      'page',
1128      'ready',
1129      'track',
1130      'trackForm',
1131      'trackLink'
1132    ];
1133    trekkie.factory = function(method) {
1134      return function() {
1135        var args = Array.prototype.slice.call(arguments);
1136        args.unshift(method);
1137        trekkie.push(args);
1138        if (method == 'track' || method == 'page') {
1139          var pageUrl;
1140          try {
1141            pageUrl = window.location.href;
1142          } catch (e) {}
1143          var pageReferrer;
1144          try {
1145            pageReferrer = document.referrer;
1146          } catch (e) {}
1147          try {
1148            if (window.__TREKKIE_SHIM_QUEUE == null) {
1149              window.__TREKKIE_SHIM_QUEUE = [];
1150            }
1151            window.__TREKKIE_SHIM_QUEUE.push({
1152              from: 'trekkie-stub',
1153              method: method,
1154              args: args.slice(1),
1155              pageContext: {
1156                url: pageUrl,
1157                referrer: pageReferrer
1158              }
1159            });
1160          } catch (e) {
1161            // no-op
1162          }
1163        }
1164        return trekkie;
1165      };
1166    };
1167    for (var i = 0; i < trekkie.methods.length; i++) {
1168      var key = trekkie.methods[i];
1169      trekkie[key] = trekkie.factory(key);
1170    }
1171    trekkie.load = function(config) {
1172      trekkie.config = config || {};
1173      trekkie.config.initialDocumentCookie = document.cookie;
1174      var first = document.getElementsByTagName('script')[0];
1175var script = document.createElement('script');
1176script.type = 'text/javascript';
1177script.onerror = function(e) {
1178  var scriptFallback = document.createElement('script');
1179  scriptFallback.type = 'text/javascript';
1180  scriptFallback.onerror = function(error) {
1181          var Monorail = {
1182      produce: function produce(monorailDomain, schemaId, payload) {
1183        var currentMs = new Date().getTime();
1184        var event = {
1185          schema_id: schemaId,
1186          payload: payload,
1187          metadata: {
1188            event_created_at_ms: currentMs,
1189            event_sent_at_ms: currentMs
1190          }
1191        };
1192        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1193      },
1194      sendRequest: function sendRequest(endpointUrl, payload) {
1195        // Try the sendBeacon API
1196        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1197          var blobData = new window.Blob([payload], {
1198            type: 'text/plain'
1199          });
1200
1201          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1202            return true;
1203          } // sendBeacon was not successful
1204
1205        } // XHR beacon
1206
1207        var xhr = new XMLHttpRequest();
1208
1209        try {
1210          xhr.open('POST', endpointUrl);
1211          xhr.setRequestHeader('Content-Type', 'text/plain');
1212          xhr.send(payload);
1213        } catch (e) {
1214          console.log(e);
1215        }
1216
1217        return false;
1218      },
1219      isIos12: function isIos12() {
1220        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1221      }
1222    };
1223    Monorail.produce('monorail-edge.shopifysvc.com',
1224      'trekkie_storefront_load_errors/1.1',
1225      {shop_id: 91593539885,
1226      theme_id: 182178808109,
1227      app_name: "storefront",
1228      context_url: window.location.href,
1229      source_url: "//tclhomesecurity.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"});
1230
1231  };
1232  scriptFallback.async = true;
1233  scriptFallback.src = '//tclhomesecurity.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
1234  first.parentNode.insertBefore(scriptFallback, first);
1235};
1236script.async = true;
1237script.src = '//tclhomesecurity.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js';
1238first.parentNode.insertBefore(script, first);
1239
1240    };
1241    trekkie.load(
1242      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":91593539885,"isMerchantRequest":null,"themeId":182178808109,"themeCityHash":"1028288599325545137","contentLanguage":"en","currency":"USD","eventMetadataId":"9ba33fb4-
1242db30-47b8-a4cb-2a7aef453d4f"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1243    );
1244
1245    var loaded = false;
1246    trekkie.ready(function() {
1247      if (loaded) return;
1248      loaded = true;
1249
1250      window.ShopifyAnalytics.lib = window.trekkie;
1251
1252      var originalDocumentWrite = document.write;
1253      document.write = customDocumentWrite;
1254      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1255      document.write = originalDocumentWrite;
1256
1257      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1258      var token = match? match[1]: undefined;
1259      if (!hasLoggedConversion(token)) {
1260        setCookieIfConversion(token);
1261        
1262      }
1263    });
1264
1265    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"b044b8de-74cd-466d-bf24-60bdddca628a-1790397394","shopifyEmitted":true});
1266
1267    var eventsListenerScript = document.createElement('script');
1268    eventsListenerScript.async = true;
1269    eventsListenerScript.src = "//tclhomesecurity.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1270    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1271})();</script>
vendor: 1 bytes, line 1271
1271
1272<script
1273  defer
1274  src="https://tclhomesecurity.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1275  data-application="storefront-renderer"
1276  data-shop-id="91593539885"
1277  data-render-region="gcp-us-central1"
1278  data-page-type="cart"
1279  data-theme-instance-id="182178808109"
1280  data-theme-name="Impact"
1281  data-theme-version="7.0.1"
1282  data-monorail-region="shop_domain"
1283  data-resource-timing-sampling-rate="10"
1284  data-shs="true"
1285  data-shs-beacon="true"
1286  data-shs-export-with-fetch="true"
1287  data-shs-logs-sample-rate="1"
1288  data-shs-beacon-endpoint="https://tclhomesecurity.com/api/collect"
1289></script>
vendor: 1 bytes, line 1289
1289
1290<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
1290<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"91593539885","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":true},"visitor":{"country":"US","language":"en"}}</script>
1290
1291<meta name="shopify-y" content="a4afdf6b-9fc4-47fb-83bb-0af5d9fe7862" data-expiration="1821954994000"><meta name="shopify-s" content="5ea38c19-3607-4726-b116-0c1ba4bc3562" data-expiration="1790399194000"><meta name="new-cookie-storage-activated" content="t">
1292</head>
1293
1294  <body class="zoom-image--enabled"><!-- DRAWER -->
1295<template id="drawer-default-template">
1296  <style>
1297    [hidden] {
1298      display: none !important;
1299    }
1300  </style>
1301
1302  <button part="outside-close-button" is="close-button" aria-label="Close"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1303        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1304      </svg></button>
1305
1306  <div part="overlay"></div>
1307
1308  <div part="content">
1309    <header part="header">
1310      <slot name="header"></slot>
1311
1312      <button part="close-button" is="close-button" aria-label="Close"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1313        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1314      </svg></button>
1315    </header>
1316
1317    <div part="body">
1318      <slot></slot>
1319    </div>
1320
1321    <footer part="footer">
1322      <slot name="footer"></slot>
1323    </footer>
1324  </div>
1325</template>
1326
1327<!-- POPOVER -->
1328<template id="popover-default-template">
1329  <button part="outside-close-button" is="close-button" aria-label="Close"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1330        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1331      </svg></button>
1332
1333  <div part="overlay"></div>
1334
1335  <div part="content">
1336    <header part="title">
1337      <slot name="title"></slot>
1338    </header>
1339
1340    <div part="body">
1341      <slot></slot>
1342    </div>
1343  </div>
1344</template><a href="#main" class="skip-to-content sr-only">Skip to content</a><div class="sr-only" role="status" aria-live="polite" aria-atomic="true">
1345      <span id="status-announcement"></span>
1346    </div>
1347
1348    <div class="sr-only" role="alert" aria-live="assertive" aria-atomic="true">
1349      <span id="error-announcement"></span>
1350    </div><!-- BEGIN sections: header-group -->
1351<aside id="shopify-section-sections--25800461353261__announcement-bar" class="shopify-section shopify-section-group-header-group shopify-section--announcement-bar"><style>
1352      :root {
1353        --sticky-announcement-bar-enabled:0;
1354      }</style><height-observer variable="announcement-bar">
1355      <div class="announcement-bar bg-custom text-custom"style="--background: 26 26 26; --text-color: 255 255 255;"><div class="container">
1356            <div class="announcement-bar__wrapper justify-center"><announcement-bar swipeable  id="announcement-bar" class="announcement-bar__static-list"><p class="bold text-base " ><a href="/collections/smart-locks">Enjoy Free Shipping on Every Order!</a></p></announcement-bar></div>
1357          </div></div>
1358    </height-observer>
1359
1360    
1360<script>
1361      document.documentElement.style.setProperty('--announcement-bar-height', Math.round(document.getElementById('shopify-section-sections--25800461353261__announcement-bar').clientHeight) + 'px');
1362    </script>
1362</aside><header id="shopify-section-sections--25800461353261__header" class="shopify-section shopify-section-group-header-group shopify-section--header"><style>
1363  :root {
1364    --sticky-header-enabled:1;
1365  }
1366
1367  #shopify-section-sections--25800461353261__header {
1368    --header-grid-template: "main-nav logo secondary-nav" / minmax(0, 1fr) auto minmax(0, 1fr);
1369    --header-padding-block: var(--spacing-3);
1370    --header-background-opacity: 1.0;
1371    --header-background-blur-radius: 0px;
1372    --header-transparent-text-color: 255 255 255;--header-logo-width: 80px;
1373      --header-logo-height: 25px;position: sticky;
1374    top: 0;
1375    z-index: 10;
1376  }.shopify-section--announcement-bar ~ #shopify-section-sections--25800461353261__header {
1377      top: calc(var(--sticky-announcement-bar-enabled, 0) * var(--announcement-bar-height, 0px));
1378    }@media screen and (min-width: 700px) {
1379    #shopify-section-sections--25800461353261__header {--header-logo-width: 95px;
1380        --header-logo-height: 29px;--header-padding-block: var(--spacing-6);
1381    }
1382  }@media screen and (min-width: 1150px) {#shopify-section-sections--25800461353261__header {
1383        --header-grid-template: "logo main-nav secondary-nav" / minmax(0, 1fr) fit-content(70%) minmax(0, 1fr);
1384      }
1385    }</style>
1386
1387<height-observer variable="header">
1388  <store-header class="header"  sticky>
1389    <div class="header__wrapper"><div class="header__main-nav">
1390        <div class="header__icon-list">
1391          <button type="button" class="tap-area lg:hidden" aria-controls="header-sidebar-menu">
1392            <span class="sr-only">Menu</span><svg role="presentation" stroke-width="1" focusable="false" width="22" height="22" class="icon icon-hamburger" viewBox="0 0 22 22">
1393        <path d="M1 5h20M1 11h20M1 17h20" stroke="currentColor" stroke-linecap="round"></path>
1394      </svg></button>
1395
1396          <a href="/search" class="tap-area sm:hidden" aria-controls="search-drawer">
1397            <span class="sr-only">Search</span><svg role="presentation" stroke-width="1" focusable="false" width="22" height="22" class="icon icon-search" viewBox="0 0 22 22">
1398        <circle cx="11" cy="10" r="7" fill="none" stroke="currentColor"></circle>
1399        <path d="m16 15 3 3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1400      </svg></a><nav class="header__link-list justify-center wrap" role="navigation">
1401              <ul class="contents" role="list">
1402
1403                  <li><details is="mega-menu-disclosure" trigger="hover" >
1404                            <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/collections/palm-lock">Palm Lock<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
1405        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1406      </svg></summary><div id="mega-menu-mega_menu_PEx6zx" class="mega-menu justify-center">
1407
1408
1409
1410
1411
1412<style>
1413  #navigation-promo-mega_menu_PEx6zx-0- {
1414    --navigation-promo-grid: 
1415  
1416    auto / repeat(3, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
1417
1418  
1419;
1420    --mega-menu-promo-grid-image-max-width: 300px;
1421    --mega-menu-promo-grid-image-min-width: 172px;
1422    --promo-heading-font-size: var(--text-h5);
1423    --content-over-media-row-gap: var(--spacing-3);
1424    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
1425      --panel-wrapper-justify-content: flex-start;}
1426
1427  #navigation-promo-mega_menu_PEx6zx-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
1428
1429  @media screen and (min-width:700px) {
1430    #navigation-promo-mega_menu_PEx6zx-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
1431      --content-over-media-row-gap: var(--spacing-4);
1432      --content-over-media-column-gap: var(--spacing-5);
1433    }
1434  }@media screen and (min-width: 1150px) {
1435      #navigation-promo-mega_menu_PEx6zx-0- {
1436        --promo-heading-font-size: var(--text-h4);
1437        --promo-heading-line-height: 1.3;
1438        --navigation-promo-gap: var(--spacing-0-5);
1439        --mega-menu-promo-grid-image-min-width: 220px;
1440
1441        
1442
1443        
1444          margin-block-start: calc(-1 * var(--mega-menu-block-padding));
1445          margin-block-end: calc(-1 * var(--mega-menu-block-padding));
1446          margin-inline-end: calc(-1 * (100vw - min(100vw - var(--container-gutter) * 2, var(--container-max-width))) / 2);
1447
1448          
1449            margin-inline-start: calc(-1 * (100vw - min(100vw - var(--container-gutter) * 2, var(--container-max-width))) / 2);
1450          
1451        
1452      }
1453
1454      
1455        #navigation-promo-mega_menu_PEx6zx-0- {
1456          --content-over-media-row-gap: var(--spacing-8);
1457          --content-over-media-column-gap: var(--spacing-10);
1458        }
1459      
1460    }
1461
1462    @media screen and (min-width: 1400px) {
1463      #navigation-promo-mega_menu_PEx6zx-0- {
1464        --mega-menu-promo-grid-image-max-width: 440px;
1465
1466        
1467      }
1468
1469      
1470    }@media screen and (min-width: 1150px) {
1471      .mega-menu {
1472        box-sizing: border-box;
1473        height: 280px;
1474        min-height: 280px;
1475        max-height: 280px;
1476        padding-block: 24px;
1477      }
1478
1479      #navigation-promo-mega_menu_PEx6zx-0-.navigation-promo__wrapper {
1480        height: 232px;
1481        min-height: 232px;
1482        max-height: 232px;
1483        align-self: center;
1484      }
1485
1486      #navigation-promo-mega_menu_PEx6zx-0- > .navigation-promo,
1487      #navigation-promo-mega_menu_PEx6zx-0- > .relative,
1488      #navigation-promo-mega_menu_PEx6zx-0- > .relative > .navigation-promo {
1489        width: 100%;
1490        height: 100%;
1491        min-height: 0;
1492      }
1493
1494      #navigation-promo-mega_menu_PEx6zx-0- .content-over-media {
1495        height: 232px;
1496        min-height: 232px;
1497        aspect-ratio: auto;
1498        overflow: hidden;
1499      }
1500
1501      #navigation-promo-mega_menu_PEx6zx-0- .content-over-media > img {
1502        width: 100%;
1503        height: 100%;
1504        object-fit: contain;
1505        padding-bottom: 65px;
1506      }
1507
1508      #navigation-promo-mega_menu_PEx6zx-0- .content-over-media > .place-self-end-start {
1509        width: 100%;
1510        padding: 0 12px 10px;
1511        text-align: center;
1512        justify-self: center;
1513        background: transparent;
1514      }
1515
1516      #navigation-promo-mega_menu_PEx6zx-0- .content-over-media > .place-self-end-start p {
1517        margin: 0;
1518      }
1519    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_PEx6zx-0-"><div class="navigation-promo navigation-promo--collage scroll-area bleed">
1520      <a href="/pages/tcl-d2-pro-matter-palm-vein-smart-lock"
1521         class="content-over-media  group "
1522         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
1523" class="zoom-image"><div class="place-self-end-start text-custom">
1524            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2 Pro(Matter)</p>
1525          </div></a><a href="/products/tcl-d2-pro-palm-vein-digital-smart-door-lock-with-keypad"
1526         class="content-over-media  group "
1527         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
1528" class="zoom-image"><div class="place-self-end-start text-custom">
1529            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2 Pro</p>
1530          </div></a><a href="/products/tcl-d1-pro-palm-vein-digital-smart-door-lock-with-keypad"
1531         class="content-over-media  group "
1532         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
1533" class="zoom-image"><div class="place-self-end-start text-custom">
1534            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D1 Pro</p>
1535          </div></a>
1536    </div></div>
1537
1538
1539
1540</div></details></li>
1541
1542                  <li>
1542<details is="mega-menu-disclosure" trigger="hover" >
1543                            <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/pages/tcl-d2l-fingerprint-lever-lock">Lever Lock<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
1544        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1545      </svg></summary><div id="mega-menu-mega_menu_JiRdeq" class="mega-menu justify-center">
1546
1547
1548
1549
1550
1551<style>
1552  #navigation-promo-mega_menu_JiRdeq-0- {
1553    --navigation-promo-grid: 
1554  
1555    auto / repeat(1, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
1556
1557  
1558;
1559    --mega-menu-promo-grid-image-max-width: 300px;
1560    --mega-menu-promo-grid-image-min-width: 172px;
1561    --promo-heading-font-size: var(--text-h5);
1562    --content-over-media-row-gap: var(--spacing-3);
1563    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
1564      --panel-wrapper-justify-content: flex-start;}
1565
1566  #navigation-promo-mega_menu_JiRdeq-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
1567
1568  @media screen and (min-width:700px) {
1569    #navigation-promo-mega_menu_JiRdeq-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
1570      --content-over-media-row-gap: var(--spacing-4);
1571      --content-over-media-column-gap: var(--spacing-5);
1572    }
1573  }@media screen and (min-width: 1150px) {
1574      #navigation-promo-mega_menu_JiRdeq-0- {
1575        --promo-heading-font-size: var(--text-h4);
1576        --promo-heading-line-height: 1.3;
1577        --navigation-promo-gap: var(--spacing-4);
1578        --mega-menu-promo-grid-image-min-width: 220px;
1579
1580        
1581
1582        
1583      }
1584
1585      
1586        #navigation-promo-mega_menu_JiRdeq-0- {
1587          --content-over-media-row-gap: var(--spacing-6);
1588          --content-over-media-column-gap: var(--spacing-8);
1589        }
1590      
1591    }
1592
1593    @media screen and (min-width: 1400px) {
1594      #navigation-promo-mega_menu_JiRdeq-0- {
1595        --mega-menu-promo-grid-image-max-width: 360px;
1596
1597        
1598      }
1599
1600      
1601    }@media screen and (min-width: 1150px) {
1602      .mega-menu {
1603        box-sizing: border-box;
1604        height: 280px;
1605        min-height: 280px;
1606        max-height: 280px;
1607        padding-block: 24px;
1608      }
1609
1610      #navigation-promo-mega_menu_JiRdeq-0-.navigation-promo__wrapper {
1611        height: 232px;
1612        min-height: 232px;
1613        max-height: 232px;
1614        align-self: center;
1615      }
1616
1617      #navigation-promo-mega_menu_JiRdeq-0- > .navigation-promo,
1618      #navigation-promo-mega_menu_JiRdeq-0- > .relative,
1619      #navigation-promo-mega_menu_JiRdeq-0- > .relative > .navigation-promo {
1620        width: 100%;
1621        height: 100%;
1622        min-height: 0;
1623      }
1624
1625      #navigation-promo-mega_menu_JiRdeq-0- .content-over-media {
1626        height: 232px;
1627        min-height: 232px;
1628        aspect-ratio: auto;
1629        overflow: hidden;
1630      }
1631
1632      #navigation-promo-mega_menu_JiRdeq-0- .content-over-media > img {
1633        width: 100%;
1634        height: 100%;
1635        object-fit: contain;
1636        padding-bottom: 65px;
1637      }
1638
1639      #navigation-promo-mega_menu_JiRdeq-0- .content-over-media > .place-self-end-start {
1640        width: 100%;
1641        padding: 0 12px 10px;
1642        text-align: center;
1643        justify-self: center;
1644        background: transparent;
1645      }
1646
1647      #navigation-promo-mega_menu_JiRdeq-0- .content-over-media > .place-self-end-start p {
1648        margin: 0;
1649      }
1650    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_JiRdeq-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
1651      <a href="/pages/tcl-d2l-fingerprint-lever-lock"
1652         class="content-over-media rounded-sm group "
1653         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
1654" class="zoom-image"><div class="place-self-end-start text-custom">
1655            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2L</p>
1656          </div></a>
1657    </div></div>
1658
1659
1660
1661</div></details></li>
1662
1663                  <li>
1663<details is="mega-menu-disclosure" trigger="hover" >
1664                            <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/collections/fingerprint-lock">Fingerprint Lock<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
1665        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1666      </svg></summary><div id="mega-menu-mega_menu_QXCH3R" class="mega-menu justify-center">
1667
1668
1669
1670
1671
1672<style>
1673  #navigation-promo-mega_menu_QXCH3R-0- {
1674    --navigation-promo-grid: 
1675  
1676    auto / repeat(2, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
1677
1678  
1679;
1680    --mega-menu-promo-grid-image-max-width: 300px;
1681    --mega-menu-promo-grid-image-min-width: 172px;
1682    --promo-heading-font-size: var(--text-h5);
1683    --content-over-media-row-gap: var(--spacing-3);
1684    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
1685      --panel-wrapper-justify-content: flex-start;}
1686
1687  #navigation-promo-mega_menu_QXCH3R-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
1688
1689  @media screen and (min-width:700px) {
1690    #navigation-promo-mega_menu_QXCH3R-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
1691      --content-over-media-row-gap: var(--spacing-4);
1692      --content-over-media-column-gap: var(--spacing-5);
1693    }
1694  }@media screen and (min-width: 1150px) {
1695      #navigation-promo-mega_menu_QXCH3R-0- {
1696        --promo-heading-font-size: var(--text-h4);
1697        --promo-heading-line-height: 1.3;
1698        --navigation-promo-gap: var(--spacing-0-5);
1699        --mega-menu-promo-grid-image-min-width: 220px;
1700
1701        
1702
1703        
1704          margin-block-start: calc(-1 * var(--mega-menu-block-padding));
1705          margin-block-end: calc(-1 * var(--mega-menu-block-padding));
1706          margin-inline-end: calc(-1 * (100vw - min(100vw - var(--container-gutter) * 2, var(--container-max-width))) / 2);
1707
1708          
1709            margin-inline-start: calc(-1 * (100vw - min(100vw - var(--container-gutter) * 2, var(--container-max-width))) / 2);
1710          
1711        
1712      }
1713
1714      
1715        #navigation-promo-mega_menu_QXCH3R-0- {
1716          --content-over-media-row-gap: var(--spacing-8);
1717          --content-over-media-column-gap: var(--spacing-10);
1718        }
1719      
1720    }
1721
1722    @media screen and (min-width: 1400px) {
1723      #navigation-promo-mega_menu_QXCH3R-0- {
1724        --mega-menu-promo-grid-image-max-width: 440px;
1725
1726        
1727      }
1728
1729      
1730    }@media screen and (min-width: 1150px) {
1731      .mega-menu {
1732        box-sizing: border-box;
1733        height: 280px;
1734        min-height: 280px;
1735        max-height: 280px;
1736        padding-block: 24px;
1737      }
1738
1739      #navigation-promo-mega_menu_QXCH3R-0-.navigation-promo__wrapper {
1740        height: 232px;
1741        min-height: 232px;
1742        max-height: 232px;
1743        align-self: center;
1744      }
1745
1746      #navigation-promo-mega_menu_QXCH3R-0- > .navigation-promo,
1747      #navigation-promo-mega_menu_QXCH3R-0- > .relative,
1748      #navigation-promo-mega_menu_QXCH3R-0- > .relative > .navigation-promo {
1749        width: 100%;
1750        height: 100%;
1751        min-height: 0;
1752      }
1753
1754      #navigation-promo-mega_menu_QXCH3R-0- .content-over-media {
1755        height: 232px;
1756        min-height: 232px;
1757        aspect-ratio: auto;
1758        overflow: hidden;
1759      }
1760
1761      #navigation-promo-mega_menu_QXCH3R-0- .content-over-media > img {
1762        width: 100%;
1763        height: 100%;
1764        object-fit: contain;
1765        padding-bottom: 65px;
1766      }
1767
1768      #navigation-promo-mega_menu_QXCH3R-0- .content-over-media > .place-self-end-start {
1769        width: 100%;
1770        padding: 0 12px 10px;
1771        text-align: center;
1772        justify-self: center;
1773        background: transparent;
1774      }
1775
1776      #navigation-promo-mega_menu_QXCH3R-0- .content-over-media > .place-self-end-start p {
1777        margin: 0;
1778      }
1779    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_QXCH3R-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
1780      <a href="/products/tcl-d2-plus-fingerprint-digital-smart-door-lock-with-keypad"
1781         class="content-over-media  group "
1782         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
1783" class="zoom-image"><div class="place-self-end-start text-custom">
1784            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2 Plus</p>
1785          </div></a><a href="/products/tcl-d1-fingerprint-digital-smart-door-lock-with-keypad"
1786         class="content-over-media  group "
1787         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
1788" class="zoom-image"><div class="place-self-end-start text-custom">
1789            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D1</p>
1790          </div></a>
1791    </div></div>
1792
1793
1794
1795</div></details></li>
1796
1797                  <li>
1797<details is="mega-menu-disclosure" trigger="hover" >
1798                            <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/products/tcl-k1-smart-fingerprint-door-knob-secure-biometric-lock-with-app-control-and-keyless-entry-for-home-office-and-garage">Fingerprint Knob<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
1799        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1800      </svg></summary><div id="mega-menu-mega_menu_mH9rxi" class="mega-menu justify-center">
1801
1802
1803
1804
1805
1806<style>
1807  #navigation-promo-mega_menu_mH9rxi-0- {
1808    --navigation-promo-grid: 
1809  
1810    auto / repeat(1, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
1811
1812  
1813;
1814    --mega-menu-promo-grid-image-max-width: 300px;
1815    --mega-menu-promo-grid-image-min-width: 172px;
1816    --promo-heading-font-size: var(--text-h5);
1817    --content-over-media-row-gap: var(--spacing-3);
1818    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
1819      --panel-wrapper-justify-content: flex-start;}
1820
1821  #navigation-promo-mega_menu_mH9rxi-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
1822
1823  @media screen and (min-width:700px) {
1824    #navigation-promo-mega_menu_mH9rxi-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
1825      --content-over-media-row-gap: var(--spacing-4);
1826      --content-over-media-column-gap: var(--spacing-5);
1827    }
1828  }@media screen and (min-width: 1150px) {
1829      #navigation-promo-mega_menu_mH9rxi-0- {
1830        --promo-heading-font-size: var(--text-h4);
1831        --promo-heading-line-height: 1.3;
1832        --navigation-promo-gap: var(--spacing-4);
1833        --mega-menu-promo-grid-image-min-width: 220px;
1834
1835        
1836
1837        
1838      }
1839
1840      
1841        #navigation-promo-mega_menu_mH9rxi-0- {
1842          --content-over-media-row-gap: var(--spacing-6);
1843          --content-over-media-column-gap: var(--spacing-8);
1844        }
1845      
1846    }
1847
1848    @media screen and (min-width: 1400px) {
1849      #navigation-promo-mega_menu_mH9rxi-0- {
1850        --mega-menu-promo-grid-image-max-width: 360px;
1851
1852        
1853      }
1854
1855      
1856    }@media screen and (min-width: 1150px) {
1857      .mega-menu {
1858        box-sizing: border-box;
1859        height: 280px;
1860        min-height: 280px;
1861        max-height: 280px;
1862        padding-block: 24px;
1863      }
1864
1865      #navigation-promo-mega_menu_mH9rxi-0-.navigation-promo__wrapper {
1866        height: 232px;
1867        min-height: 232px;
1868        max-height: 232px;
1869        align-self: center;
1870      }
1871
1872      #navigation-promo-mega_menu_mH9rxi-0- > .navigation-promo,
1873      #navigation-promo-mega_menu_mH9rxi-0- > .relative,
1874      #navigation-promo-mega_menu_mH9rxi-0- > .relative > .navigation-promo {
1875        width: 100%;
1876        height: 100%;
1877        min-height: 0;
1878      }
1879
1880      #navigation-promo-mega_menu_mH9rxi-0- .content-over-media {
1881        height: 232px;
1882        min-height: 232px;
1883        aspect-ratio: auto;
1884        overflow: hidden;
1885      }
1886
1887      #navigation-promo-mega_menu_mH9rxi-0- .content-over-media > img {
1888        width: 100%;
1889        height: 100%;
1890        object-fit: contain;
1891        padding-bottom: 65px;
1892      }
1893
1894      #navigation-promo-mega_menu_mH9rxi-0- .content-over-media > .place-self-end-start {
1895        width: 100%;
1896        padding: 0 12px 10px;
1897        text-align: center;
1898        justify-self: center;
1899        background: transparent;
1900      }
1901
1902      #navigation-promo-mega_menu_mH9rxi-0- .content-over-media > .place-self-end-start p {
1903        margin: 0;
1904      }
1905    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_mH9rxi-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
1906      <a href="/products/tcl-k1-smart-fingerprint-door-knob-secure-biometric-lock-with-app-control-and-keyless-entry-for-home-office-and-garage"
1907         class="content-over-media rounded-sm group "
1908         style="--text-color: 26 26 26; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
1909" class="zoom-image"><div class="place-self-end-start text-custom">
1910            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL K1</p>
1911          </div></a>
1912    </div></div>
1913
1914
1915
1916</div></details></li>
1917
1918                  <li>
1918<details is="mega-menu-disclosure" trigger="hover" >
1919                            <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/products/tcl-d2-app-unlock-digital-smart-door-lock-with-keypad">Keypad Lock<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
1920        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1921      </svg></summary><div id="mega-menu-mega_menu_p4pkWL" class="mega-menu justify-center">
1922
1923
1924
1925
1926
1927<style>
1928  #navigation-promo-mega_menu_p4pkWL-0- {
1929    --navigation-promo-grid: 
1930  
1931    auto / repeat(1, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
1932
1933  
1934;
1935    --mega-menu-promo-grid-image-max-width: 300px;
1936    --mega-menu-promo-grid-image-min-width: 172px;
1937    --promo-heading-font-size: var(--text-h5);
1938    --content-over-media-row-gap: var(--spacing-3);
1939    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
1940      --panel-wrapper-justify-content: flex-start;}
1941
1942  #navigation-promo-mega_menu_p4pkWL-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
1943
1944  @media screen and (min-width:700px) {
1945    #navigation-promo-mega_menu_p4pkWL-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
1946      --content-over-media-row-gap: var(--spacing-4);
1947      --content-over-media-column-gap: var(--spacing-5);
1948    }
1949  }@media screen and (min-width: 1150px) {
1950      #navigation-promo-mega_menu_p4pkWL-0- {
1951        --promo-heading-font-size: var(--text-h4);
1952        --promo-heading-line-height: 1.3;
1953        --navigation-promo-gap: var(--spacing-0-5);
1954        --mega-menu-promo-grid-image-min-width: 220px;
1955
1956        
1957
1958        
1959          margin-block-start: calc(-1 * var(--mega-menu-block-padding));
1960          margin-block-end: calc(-1 * var(--mega-menu-block-padding));
1961          margin-inline-end: calc(-1 * (100vw - min(100vw - var(--container-gutter) * 2, var(--container-max-width))) / 2);
1962
1963          
1964            margin-inline-start: calc(-1 * (100vw - min(100vw - var(--container-gutter) * 2, var(--container-max-width))) / 2);
1965          
1966        
1967      }
1968
1969      
1970        #navigation-promo-mega_menu_p4pkWL-0- {
1971          --content-over-media-row-gap: var(--spacing-8);
1972          --content-over-media-column-gap: var(--spacing-10);
1973        }
1974      
1975    }
1976
1977    @media screen and (min-width: 1400px) {
1978      #navigation-promo-mega_menu_p4pkWL-0- {
1979        --mega-menu-promo-grid-image-max-width: 440px;
1980
1981        
1982      }
1983
1984      
1985    }@media screen and (min-width: 1150px) {
1986      .mega-menu {
1987        box-sizing: border-box;
1988        height: 280px;
1989        min-height: 280px;
1990        max-height: 280px;
1991        padding-block: 24px;
1992      }
1993
1994      #navigation-promo-mega_menu_p4pkWL-0-.navigation-promo__wrapper {
1995        height: 232px;
1996        min-height: 232px;
1997        max-height: 232px;
1998        align-self: center;
1999      }
2000
2001      #navigation-promo-mega_menu_p4pkWL-0- > .navigation-promo,
2002      #navigation-promo-mega_menu_p4pkWL-0- > .relative,
2003      #navigation-promo-mega_menu_p4pkWL-0- > .relative > .navigation-promo {
2004        width: 100%;
2005        height: 100%;
2006        min-height: 0;
2007      }
2008
2009      #navigation-promo-mega_menu_p4pkWL-0- .content-over-media {
2010        height: 232px;
2011        min-height: 232px;
2012        aspect-ratio: auto;
2013        overflow: hidden;
2014      }
2015
2016      #navigation-promo-mega_menu_p4pkWL-0- .content-over-media > img {
2017        width: 100%;
2018        height: 100%;
2019        object-fit: contain;
2020        padding-bottom: 65px;
2021      }
2022
2023      #navigation-promo-mega_menu_p4pkWL-0- .content-over-media > .place-self-end-start {
2024        width: 100%;
2025        padding: 0 12px 10px;
2026        text-align: center;
2027        justify-self: center;
2028        background: transparent;
2029      }
2030
2031      #navigation-promo-mega_menu_p4pkWL-0- .content-over-media > .place-self-end-start p {
2032        margin: 0;
2033      }
2034    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_p4pkWL-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2035      <a href="/products/tcl-d2-app-unlock-digital-smart-door-lock-with-keypad"
2036         class="content-over-media  group "
2037         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
2038" class="zoom-image"><div class="place-self-end-start text-custom">
2039            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2</p>
2040          </div></a>
2041    </div></div>
2042
2043
2044
2045</div></details></li>
2046
2047                  <li>
2047<details is="mega-menu-disclosure" trigger="hover" >
2048                            <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/collections/accessories">Accessories<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
2049        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
2050      </svg></summary><div id="mega-menu-mega_menu_CxhEfD" class="mega-menu justify-center">
2051
2052
2053
2054
2055
2056<style>
2057  #navigation-promo-mega_menu_CxhEfD-0- {
2058    --navigation-promo-grid: 
2059  
2060    auto / repeat(3, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2061
2062  
2063;
2064    --mega-menu-promo-grid-image-max-width: 300px;
2065    --mega-menu-promo-grid-image-min-width: 172px;
2066    --promo-heading-font-size: var(--text-h5);
2067    --content-over-media-row-gap: var(--spacing-3);
2068    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2069      --panel-wrapper-justify-content: flex-start;}
2070
2071  #navigation-promo-mega_menu_CxhEfD-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
2072
2073  @media screen and (min-width:700px) {
2074    #navigation-promo-mega_menu_CxhEfD-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2075      --content-over-media-row-gap: var(--spacing-4);
2076      --content-over-media-column-gap: var(--spacing-5);
2077    }
2078  }@media screen and (min-width: 1150px) {
2079      #navigation-promo-mega_menu_CxhEfD-0- {
2080        --promo-heading-font-size: var(--text-h4);
2081        --promo-heading-line-height: 1.3;
2082        --navigation-promo-gap: var(--spacing-0-5);
2083        --mega-menu-promo-grid-image-min-width: 220px;
2084
2085        
2086
2087        
2088          margin-block-start: calc(-1 * var(--mega-menu-block-padding));
2089          margin-block-end: calc(-1 * var(--mega-menu-block-padding));
2090          margin-inline-end: calc(-1 * (100vw - min(100vw - var(--container-gutter) * 2, var(--container-max-width))) / 2);
2091
2092          
2093            margin-inline-start: calc(-1 * (100vw - min(100vw - var(--container-gutter) * 2, var(--container-max-width))) / 2);
2094          
2095        
2096      }
2097
2098      
2099        #navigation-promo-mega_menu_CxhEfD-0- {
2100          --content-over-media-row-gap: var(--spacing-8);
2101          --content-over-media-column-gap: var(--spacing-10);
2102        }
2103      
2104    }
2105
2106    @media screen and (min-width: 1400px) {
2107      #navigation-promo-mega_menu_CxhEfD-0- {
2108        --mega-menu-promo-grid-image-max-width: 440px;
2109
2110        
2111      }
2112
2113      
2114    }@media screen and (min-width: 1150px) {
2115      .mega-menu {
2116        box-sizing: border-box;
2117        height: 280px;
2118        min-height: 280px;
2119        max-height: 280px;
2120        padding-block: 24px;
2121      }
2122
2123      #navigation-promo-mega_menu_CxhEfD-0-.navigation-promo__wrapper {
2124        height: 232px;
2125        min-height: 232px;
2126        max-height: 232px;
2127        align-self: center;
2128      }
2129
2130      #navigation-promo-mega_menu_CxhEfD-0- > .navigation-promo,
2131      #navigation-promo-mega_menu_CxhEfD-0- > .relative,
2132      #navigation-promo-mega_menu_CxhEfD-0- > .relative > .navigation-promo {
2133        width: 100%;
2134        height: 100%;
2135        min-height: 0;
2136      }
2137
2138      #navigation-promo-mega_menu_CxhEfD-0- .content-over-media {
2139        height: 232px;
2140        min-height: 232px;
2141        aspect-ratio: auto;
2142        overflow: hidden;
2143      }
2144
2145      #navigation-promo-mega_menu_CxhEfD-0- .content-over-media > img {
2146        width: 100%;
2147        height: 100%;
2148        object-fit: contain;
2149        padding-bottom: 65px;
2150      }
2151
2152      #navigation-promo-mega_menu_CxhEfD-0- .content-over-media > .place-self-end-start {
2153        width: 100%;
2154        padding: 0 12px 10px;
2155        text-align: center;
2156        justify-self: center;
2157        background: transparent;
2158      }
2159
2160      #navigation-promo-mega_menu_CxhEfD-0- .content-over-media > .place-self-end-start p {
2161        margin: 0;
2162      }
2163    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_CxhEfD-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2164      <a href="/products/tcl-front-door-handle-set-for-d2-series-smart-lock-exterior-handleset-with-interior-reversible-lever-non-locking-fits-standard-doors-dark-grey"
2165         class="content-over-media  group "
2166         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
2167" class="zoom-image"><div class="place-self-end-start text-custom">
2168            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">
2168Door Handle</p>
2169          </div></a><a href="/products/tcl-fobs-for-smart-lock-13-56mhz-rfid-key-fob-ic-cards-for-smart-door-deadbolt-keyless-entry-fobs-for-door-lock-3-packs"
2170         class="content-over-media  group "
2171         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
2172" class="zoom-image"><div class="place-self-end-start text-custom">
2173            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">FOB Card</p>
2174          </div></a><a 
2175         class="content-over-media  group "
2176         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
2177" class="zoom-image"><div class="place-self-end-start text-custom">
2178            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">Extra Battery</p>
2179          </div></a>
2180    </div></div>
2181
2182
2183
2184</div></details></li>
2185
2186                  <li><details is="mega-menu-disclosure" trigger="hover" >
2187                            <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/pages/tcl-k11d-ultra-video-smart-lock">Video Lock<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
2188        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
2189      </svg></summary><div id="mega-menu-mega_menu_zA7Khi" class="mega-menu justify-center">
2190
2191
2192
2193
2194
2195<style>
2196  #navigation-promo-mega_menu_zA7Khi-0- {
2197    --navigation-promo-grid: 
2198  
2199    auto / repeat(1, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2200
2201  
2202;
2203    --mega-menu-promo-grid-image-max-width: 300px;
2204    --mega-menu-promo-grid-image-min-width: 172px;
2205    --promo-heading-font-size: var(--text-h5);
2206    --content-over-media-row-gap: var(--spacing-3);
2207    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2208      --panel-wrapper-justify-content: flex-start;}
2209
2210  #navigation-promo-mega_menu_zA7Khi-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
2211
2212  @media screen and (min-width:700px) {
2213    #navigation-promo-mega_menu_zA7Khi-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2214      --content-over-media-row-gap: var(--spacing-4);
2215      --content-over-media-column-gap: var(--spacing-5);
2216    }
2217  }@media screen and (min-width: 1150px) {
2218      #navigation-promo-mega_menu_zA7Khi-0- {
2219        --promo-heading-font-size: var(--text-h4);
2220        --promo-heading-line-height: 1.3;
2221        --navigation-promo-gap: var(--spacing-4);
2222        --mega-menu-promo-grid-image-min-width: 220px;
2223
2224        
2225
2226        
2227      }
2228
2229      
2230        #navigation-promo-mega_menu_zA7Khi-0- {
2231          --content-over-media-row-gap: var(--spacing-6);
2232          --content-over-media-column-gap: var(--spacing-8);
2233        }
2234      
2235    }
2236
2237    @media screen and (min-width: 1400px) {
2238      #navigation-promo-mega_menu_zA7Khi-0- {
2239        --mega-menu-promo-grid-image-max-width: 360px;
2240
2241        
2242      }
2243
2244      
2245    }@media screen and (min-width: 1150px) {
2246      .mega-menu {
2247        box-sizing: border-box;
2248        height: 280px;
2249        min-height: 280px;
2250        max-height: 280px;
2251        padding-block: 24px;
2252      }
2253
2254      #navigation-promo-mega_menu_zA7Khi-0-.navigation-promo__wrapper {
2255        height: 232px;
2256        min-height: 232px;
2257        max-height: 232px;
2258        align-self: center;
2259      }
2260
2261      #navigation-promo-mega_menu_zA7Khi-0- > .navigation-promo,
2262      #navigation-promo-mega_menu_zA7Khi-0- > .relative,
2263      #navigation-promo-mega_menu_zA7Khi-0- > .relative > .navigation-promo {
2264        width: 100%;
2265        height: 100%;
2266        min-height: 0;
2267      }
2268
2269      #navigation-promo-mega_menu_zA7Khi-0- .content-over-media {
2270        height: 232px;
2271        min-height: 232px;
2272        aspect-ratio: auto;
2273        overflow: hidden;
2274      }
2275
2276      #navigation-promo-mega_menu_zA7Khi-0- .content-over-media > img {
2277        width: 100%;
2278        height: 100%;
2279        object-fit: contain;
2280        padding-bottom: 65px;
2281      }
2282
2283      #navigation-promo-mega_menu_zA7Khi-0- .content-over-media > .place-self-end-start {
2284        width: 100%;
2285        padding: 0 12px 10px;
2286        text-align: center;
2287        justify-self: center;
2288        background: transparent;
2289      }
2290
2291      #navigation-promo-mega_menu_zA7Khi-0- .content-over-media > .place-self-end-start p {
2292        margin: 0;
2293      }
2294    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_zA7Khi-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2295      <a href="/pages/tcl-k11d-ultra-video-smart-lock"
2296         class="content-over-media rounded-sm group "
2297         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
2298" class="zoom-image"><div class="place-self-end-start text-custom">
2299            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL K11D Ultra</p>
2300          </div></a>
2301    </div></div>
2302
2303
2304
2305</div></details></li>
2306
2307                  <li>
2307<details is="mega-menu-disclosure" trigger="hover" >
2308                            <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/">Smart Safe<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
2309        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
2310      </svg></summary><div id="mega-menu-mega_menu_kPzWhQ" class="mega-menu justify-center">
2311
2312
2313
2314
2315
2316<style>
2317  #navigation-promo-mega_menu_kPzWhQ-0- {
2318    --navigation-promo-grid: 
2319  
2320    auto / repeat(2, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2321
2322  
2323;
2324    --mega-menu-promo-grid-image-max-width: 300px;
2325    --mega-menu-promo-grid-image-min-width: 172px;
2326    --promo-heading-font-size: var(--text-h5);
2327    --content-over-media-row-gap: var(--spacing-3);
2328    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2329      --panel-wrapper-justify-content: flex-start;}
2330
2331  #navigation-promo-mega_menu_kPzWhQ-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
2332
2333  @media screen and (min-width:700px) {
2334    #navigation-promo-mega_menu_kPzWhQ-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2335      --content-over-media-row-gap: var(--spacing-4);
2336      --content-over-media-column-gap: var(--spacing-5);
2337    }
2338  }@media screen and (min-width: 1150px) {
2339      #navigation-promo-mega_menu_kPzWhQ-0- {
2340        --promo-heading-font-size: var(--text-h4);
2341        --promo-heading-line-height: 1.3;
2342        --navigation-promo-gap: var(--spacing-4);
2343        --mega-menu-promo-grid-image-min-width: 220px;
2344
2345        
2346
2347        
2348      }
2349
2350      
2351        #navigation-promo-mega_menu_kPzWhQ-0- {
2352          --content-over-media-row-gap: var(--spacing-6);
2353          --content-over-media-column-gap: var(--spacing-8);
2354        }
2355      
2356    }
2357
2358    @media screen and (min-width: 1400px) {
2359      #navigation-promo-mega_menu_kPzWhQ-0- {
2360        --mega-menu-promo-grid-image-max-width: 360px;
2361
2362        
2363      }
2364
2365      
2366    }@media screen and (min-width: 1150px) {
2367      .mega-menu {
2368        box-sizing: border-box;
2369        height: 280px;
2370        min-height: 280px;
2371        max-height: 280px;
2372        padding-block: 24px;
2373      }
2374
2375      #navigation-promo-mega_menu_kPzWhQ-0-.navigation-promo__wrapper {
2376        height: 232px;
2377        min-height: 232px;
2378        max-height: 232px;
2379        align-self: center;
2380      }
2381
2382      #navigation-promo-mega_menu_kPzWhQ-0- > .navigation-promo,
2383      #navigation-promo-mega_menu_kPzWhQ-0- > .relative,
2384      #navigation-promo-mega_menu_kPzWhQ-0- > .relative > .navigation-promo {
2385        width: 100%;
2386        height: 100%;
2387        min-height: 0;
2388      }
2389
2390      #navigation-promo-mega_menu_kPzWhQ-0- .content-over-media {
2391        height: 232px;
2392        min-height: 232px;
2393        aspect-ratio: auto;
2394        overflow: hidden;
2395      }
2396
2397      #navigation-promo-mega_menu_kPzWhQ-0- .content-over-media > img {
2398        width: 100%;
2399        height: 100%;
2400        object-fit: contain;
2401        padding-bottom: 65px;
2402      }
2403
2404      #navigation-promo-mega_menu_kPzWhQ-0- .content-over-media > .place-self-end-start {
2405        width: 100%;
2406        padding: 0 12px 10px;
2407        text-align: center;
2408        justify-self: center;
2409        background: transparent;
2410      }
2411
2412      #navigation-promo-mega_menu_kPzWhQ-0- .content-over-media > .place-self-end-start p {
2413        margin: 0;
2414      }
2415    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_kPzWhQ-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2416      <a href="/pages/tcl-s60-smart-safe"
2417         class="content-over-media rounded-sm group "
2418         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
2419" class="zoom-image"><div class="place-self-end-start text-custom">
2420            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL S60</p>
2421          </div></a><a href="/pages/tcl-s30-smart-safe"
2422         class="content-over-media rounded-sm group "
2423         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,minmax(220px, 440px)
2424" class="zoom-image"><div class="place-self-end-start text-custom">
2425            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL S30</p>
2426          </div></a>
2427    </div></div>
2428
2429
2430
2431</div></details></li>
2432
2433                  <li>
2433<details class="relative" is="dropdown-disclosure" trigger="hover">
2434                          <summary class="text-with-icon gap-2.5 bold link-faded-reverse" data-url="/">Support<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
2435        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
2436      </svg></summary>
2437
2438                          <div class="dropdown-menu dropdown-menu--restrictable">
2439                            <ul class="contents" role="list"><li><a href="/pages/contact-us" class="dropdown-menu__item group" >
2440                                      <span><span class="reversed-link">Contact Us</span></span>
2441                                    </a></li><li><a href="/pages/user-manual" class="dropdown-menu__item group" >
2442                                      <span><span class="reversed-link">User Manual</span></span>
2443                                    </a></li><li><a href="/pages/installation-video" class="dropdown-menu__item group" >
2444                                      <span><span class="reversed-link">Tutorial Video</span></span>
2445                                    </a></li><li><a href="/pages/faq" class="dropdown-menu__item group" >
2446                                      <span><span class="reversed-link">FAQ</span></span>
2447                                    </a></li></ul>
2448                          </div>
2449                        </details></li></ul>
2450            </nav></div>
2451      </div>
2452        <a href="/" class="header__logo"><span class="sr-only">TCL</span><img src="//tclhomesecurity.com/cdn/shop/files/logo.avif?v=1778729853&amp;width=120" alt="TCL" srcset="//tclhomesecurity.com/cdn/shop/files/logo.avif?v=1778729853&amp;width=120 120w, //tclhomesecurity.com/cdn/shop/files/logo.avif?v=1778729853&amp;width=120 120w" width="120" height="37" sizes="95px" class="header__logo-image"><img src="//tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB_9ce98bef-a077-4626-bde8-e1000313aeb8.png?v=1742805581&amp;width=2147" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB_9ce98bef-a077-4626-bde8-e1000313aeb8.png?v=1742805581&amp;width=120 120w, //tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB_9ce98bef-a077-4626-bde8-e1000313aeb8.png?v=1742805581&amp;width=120 120w" width="2147" height="721" sizes="95px" class="header__logo-image header__logo-image--transparent"></a>
2453      
2454<div class="header__secondary-nav"><ul class="header__icon-list"><li>
2455            <a href="/search" class="hidden tap-area sm:block" aria-controls="search-drawer">
2456              <span class="sr-only">Search</span><svg role="presentation" stroke-width="1" focusable="false" width="22" height="22" class="icon icon-search" viewBox="0 0 22 22">
2457        <circle cx="11" cy="10" r="7" fill="none" stroke="currentColor"></circle>
2458        <path d="m16 15 3 3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
2459      </svg></a>
2460          </li><li>
2461              <shopify-store store-domain="https://tclhomesecurity.com" country="US" language="en"></shopify-store>
2462<shopify-account class="hidden sm:block" menu="customer-account-main-menu">
2463                <div slot="signed-out-avatar" class="tap-area">
2464                  <span class="sr-only">Login</span><svg role="presentation" stroke-width="1" focusable="false" width="22" height="22" class="icon icon-account" viewBox="0 0 22 22">
2465        <circle cx="11" cy="7" r="4" fill="none" stroke="currentColor"></circle>
2466        <path d="M3.5 19c1.421-2.974 4.247-5 7.5-5s6.079 2.026 7.5 5" fill="none" stroke="currentColor" stroke-linecap="round"></path>
2467      </svg></div>
2468              </shopify-account>
2469            </li><li>
2470            <a href="/cart" data-no-instant class="relative block tap-area" >
2471              <span class="sr-only">Cart</span><svg role="presentation" stroke-width="1" focusable="false" width="22" height="22" class="icon icon-cart" viewBox="0 0 22 22">
2472            <path d="M9.182 18.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="currentColor"></path>
2473            <path d="M5.336 6.636H21l-3.636 8.182H6.909L4.636 3H1m8.182 15.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
2474          </svg><div class="header__cart-count">
2475                <cart-count class="count-bubble opacity-0">
2476                  <span class="sr-only">0 items</span>
2477                  <span aria-hidden="true">0</span>
2478                </cart-count>
2479              </div>
2480            </a>
2481          </li>
2482        </ul>
2483      </div>
2484    </div>
2485  </store-header>
2486</height-observer><navigation-drawer mobile-opening="bottom" open-from="left" id="header-sidebar-menu" class="navigation-drawer drawer lg:hidden" >
2487    <button is="close-button" aria-label="Close"class="sm-max:hidden"><svg role="presentation" stroke-width="2" focusable="false" width="19" height="19" class="icon icon-close" viewBox="0 0 24 24">
2488        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
2489      </svg></button><div class="panel-list__wrapper">
2490  <div class="panel">
2491    <div class="panel__wrapper" >
2492      <div class="panel__scroller v-stack gap-8"><ul class="v-stack gap-4">
2493<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-0">
2494                  <span>Palm Lock</span>
2495                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2496        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2497      </svg></span>
2498                </button></li>
2499<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-1">
2500                  <span>Lever Lock</span>
2501                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2502        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2503      </svg></span>
2504                </button></li>
2505<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-2">
2506                  <span>Fingerprint Lock</span>
2507                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2508        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2509      </svg></span>
2510                </button></li>
2511<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-3">
2512                  <span>Fingerprint Knob</span>
2513                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2514        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2515      </svg></span>
2516                </button></li>
2517<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-4">
2518                  <span>Keypad Lock</span>
2519                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2520        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2521      </svg></span>
2522                </button></li>
2523<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-5">
2524                  <span>Accessories</span>
2525                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2526        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2527      </svg></span>
2528                </button></li>
2529<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-6">
2530                  <span>Video Lock</span>
2531                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2532        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2533      </svg></span>
2534                </button></li>
2535<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-7">
2536                  <span>Smart Safe</span>
2537                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2538        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2539      </svg></span>
2540                </button></li>
2541<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-8">
2542                  <span>Support</span>
2543                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
2544        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
2545      </svg></span>
2546                </button></li></ul></div><div class="panel-footer v-stack gap-5"><ul class="social-media " role="list"><li>
2547      <a href="https://www.facebook.com/profile.php?id=61576188047299" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Facebook"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-facebook" viewBox="0 0 24 24">
2548        <path fill-rule="evenodd" clip-rule="evenodd" d="M10.183 21.85v-8.868H7.2V9.526h2.983V6.982a4.17 4.17 0 0 1 4.44-4.572 22.33 22.33 0 0 1 2.667.144v3.084h-1.83a1.44 1.44 0 0 0-1.713 1.68v2.208h3.423l-.447 3.456h-2.97v8.868h-3.57Z" fill="currentColor"/>
2549      </svg></a>
2550    </li><li>
2551      <a href="https://x.com/TCLHomesecurity" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Twitter"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-twitter" viewBox="0 0 24 24">
2552        <path d="M16.94 4h2.715l-5.93 6.777L20.7 20h-5.462l-4.278-5.593L6.065 20H3.35l6.342-7.25L3 4h5.6l3.868 5.113L16.94 4Zm-.952 14.375h1.504L7.784 5.54H6.17l9.818 12.836Z" fill="currentColor"/>
2553      </svg></a>
2554    </li><li>
2555      <a href="https://www.instagram.com/tclhomesecurity/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Instagram"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-instagram" viewBox="0 0 24 24">
2556        <path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.4c-2.607 0-2.934.011-3.958.058-1.022.046-1.72.209-2.33.446a4.705 4.705 0 0 0-1.7 1.107 4.706 4.706 0 0 0-1.108 1.7c-.237.611-.4 1.31-.446 2.331C2.41 9.066 2.4 9.392 2.4 12c0 2.607.011 2.934.058 3.958.046 1.022.209 1.72.446 2.33a4.706 4.706 0 0 0 1.107 1.7c.534.535 1.07.863 1.7 1.108.611.237 1.309.4 2.33.446 1.025.047 1.352.058 3.959.058s2.934-.011 3.958-.058c1.022-.046 1.72-.209 2.33-.446a4.706 4.706 0 0 0 1.7-1.107 4.706 4.706 0 0 0 1.108-1.7c.237-.611.4-1.31.446-2.33.047-1.025.058-1.352.058-3.959s-.011-2.934-.058-3.958c-.047-1.022-.209-1.72-.446-2.33a4.706 4.706 0 0 0-1.107-1.7 4.705 4.705 0 0 0-1.7-1.108c-.611-.237-1.31-.4-2.331-.446C14.934 2.41 14.608 2.4 12 2.4Zm0 1.73c2.563 0 2.867.01 3.88.056.935.042 1.443.199 1.782.33.448.174.768.382 1.104.718.336.336.544.656.718 1.104.131.338.287.847.33 1.783.046 1.012.056 1.316.056 3.879 0 2.563-.01 2.867-.056 3.88-.043.935-.199 1.444-.33 1.782a2.974 2.974 0 0 1-.719 1.104 2.974 2.974 0 0 1-1.103.718c-.339.131-.847.288-1.783.33-1.012.046-1.316.056-3.88.056-2.563 0-2.866-.01-3.878-.056-.936-.042-1.445-.199-1.783-.33a2.974 2.974 0 0 1-1.104-.718 2.974 2.974 0 0 1-.718-1.104c-.131-.338-.288-.847-.33-1.783-.047-1.012-.056-1.316-.056-3.879 0-2.563.01-2.867.056-3.88.042-.935.199-1.443.33-1.782.174-.448.382-.768.718-1.104a2.974 2.974 0 0 1 1.104-.718c.338-.131.847-.288 1.783-.33C9.133 4.14 9.437 4.13 12 4.13Zm0 11.07a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4Zm0-8.13a4.93 4.93 0 1 0 0 9.86 4.93 4.93 0 0 0 0-9.86Zm6.276-.194a1.152 1.152 0 1 1-2.304 0 1.152 1.152 0 0 1 2.304 0Z" fill="currentColor"/>
2557      </svg></a>
2558    </li><li>
2559      <a href="https://www.pinterest.com/TCLHomesecurity/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Pinterest"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-pinterest" viewBox="0 0 24 24">
2560        <path fill-rule="evenodd" clip-rule="evenodd" d="M11.765 2.401c3.59-.054 5.837 1.4 6.895 3.95.349.842.722 2.39.442 3.675-.112.512-.144 1.048-.295 1.53-.308.983-.708 1.853-1.238 2.603-.72 1.02-1.81 1.706-3.182 2.052-1.212.305-2.328-.152-2.976-.643-.206-.156-.483-.36-.56-.643h-.029c-.046.515-.244 1.062-.383 1.531-.193.65-.23 1.321-.472 1.929a12.345 12.345 0 0 1-.942 1.868c-.184.302-.692 1.335-1.061 1.347-.04-.078-.057-.108-.06-.245-.118-.19-.035-.508-.087-.766-.082-.4-.145-1.123-.06-1.53v-.643c.096-.442.092-.894.207-1.317.25-.92.39-1.895.648-2.848.249-.915.477-1.9
256016.678-2.847.045-.21-.21-.815-.265-1.041-.174-.713-.042-1.7.176-2.236.275-.674 1.08-1.703 2.122-1.439.838.212 1.371 1.118 1.09 2.266-.295 1.205-.677 2.284-.943 3.49-.068.311.05.641.118.827.248.672 1 1.324 2.004 1.072 1.52-.383 2.193-1.76 2.652-3.246.124-.402.109-.781.206-1.225.204-.935.118-2.331-.177-3.061-.472-1.17-1.353-1.92-2.563-2.328L12.707 4.3c-.56-.128-1.626.064-2.004.183-1.69.535-2.737 1.427-3.388 3.032-.222.546-.344 1.1-.383 1.868l-.03.276c.13.686.144 1.14.413 1.653.132.252.447.451.5.765.032.185-.104.464-.147.613-.065.224-.041.48-.147.673-.192.349-.714.087-.943-.061-1.192-.77-2.175-2.995-1.62-5.144.085-.332.09-.62.206-.919.723-1.844 1.802-2.978 3.359-3.95.583-.364 1.37-.544 2.092-.734l1.149-.154Z" fill="currentColor"/>
2561      </svg></a>
2562    </li><li>
2563      <a href="https://www.youtube.com/@TCLHomesecurity" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on YouTube"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-youtube" viewBox="0 0 24 24">
2564        <path fill-rule="evenodd" clip-rule="evenodd" d="M20.44 5.243c.929.244 1.66.963 1.909 1.876.451 1.654.451 5.106.451 5.106s0 3.452-.451 5.106a2.681 2.681 0 0 1-1.91 1.876c-1.684.443-8.439.443-8.439.443s-6.754 0-8.439-.443a2.682 2.682 0 0 1-1.91-1.876c-.45-1.654-.45-5.106-.45-5.106s0-3.452.45-5.106a2.681 2.681 0 0 1 1.91-1.876c1.685-.443 8.44-.443 8.44-.443s6.754 0 8.438.443Zm-5.004 6.982L9.792 15.36V9.091l5.646 3.134Z" fill="currentColor"/>
2565      </svg></a>
2566    </li><li>
2567      <a href="https://www.tiktok.com/@tclhomesecurity1" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on TikTok"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-tiktok" viewBox="0 0 24 24">
2568        <path d="M20.027 10.168a5.125 5.125 0 0 1-4.76-2.294v7.893a5.833 5.833 0 1 1-5.834-5.834c.122 0 .241.011.361.019v2.874c-.12-.014-.237-.036-.36-.036a2.977 2.977 0 0 0 0 5.954c1.644 0 3.096-1.295 3.096-2.94L12.56 2.4h2.75a5.122 5.122 0 0 0 4.72 4.573v3.195" fill="currentColor"/>
2569      </svg></a>
2570    </li></ul><div class="panel-footer__localization-wrapper h-stack gap-6 border-t md:hidden"><shopify-account menu="customer-account-main-menu">
2571                    <div slot="signed-out-avatar" class="tap-area">
2572                      <span class="panel-footer__account-link bold text-sm">Account</span>
2573                    </div>
2574                  </shopify-account></div></div></div>
2575  </div><div class="panel gap-8">
2576      <div class="panel__wrapper" style="--panel-wrapper-justify-content: flex-start" hidden>
2577                  <ul class="v-stack gap-4">
2578                    <li class="lg:hidden">
2579                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
2580        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
2581      </svg>Palm Lock
2582                      </button>
2583                    </li></ul>
2584
2585
2586
2587<style>
2588  #navigation-promo-mega_menu_PEx6zx-drawer-0- {
2589    --navigation-promo-grid: 
2590  
2591    auto / repeat(3, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2592
2593  
2594;
2595    --mega-menu-promo-grid-image-max-width: 300px;
2596    --mega-menu-promo-grid-image-min-width: 172px;
2597    --promo-heading-font-size: var(--text-h5);
2598    --content-over-media-row-gap: var(--spacing-3);
2599    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2600      --panel-wrapper-justify-content: flex-start;}
2601
2602  #navigation-promo-mega_menu_PEx6zx-drawer-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
2603
2604  @media screen and (min-width:700px) {
2605    #navigation-promo-mega_menu_PEx6zx-drawer-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2606      --content-over-media-row-gap: var(--spacing-4);
2607      --content-over-media-column-gap: var(--spacing-5);
2608    }
2609  }@media screen and (min-width: 1150px) {
2610      #navigation-promo-mega_menu_PEx6zx-drawer-0- {
2611        --promo-heading-font-size: var(--text-h5);
2612        --content-over-media-row-gap: var(--spacing-5);
2613        --content-over-media-column-gap: var(--spacing-7);
2614        --mega-menu-promo-grid-image-min-width: 220px;
2615
2616      
2617      }
2618    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_PEx6zx-drawer-0-"><div class="navigation-promo navigation-promo--collage scroll-area bleed">
2619      <a href="/pages/tcl-d2-pro-matter-palm-vein-smart-lock"
2620         class="content-over-media  group "
2621         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2622" class="zoom-image"><div class="place-self-end-start text-custom">
2623            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2 Pro(Matter)</p>
2624          </div></a><a href="/products/tcl-d2-pro-palm-vein-digital-smart-door-lock-with-keypad"
2625         class="content-over-media  group "
2626         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2627" class="zoom-image"><div class="place-self-end-start text-custom">
2628            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2 Pro</p>
2629          </div></a><a href="/products/tcl-d1-pro-palm-vein-digital-smart-door-lock-with-keypad"
2630         class="content-over-media  group "
2631         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2632" class="zoom-image"><div class="place-self-end-start text-custom">
2633            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D1 Pro</p>
2634          </div></a>
2635    </div></div>
2636
2637
2638
2639</div><div class="panel__wrapper" style="--panel-wrapper-justify-content: flex-start" hidden>
2640                  <ul class="v-stack gap-4">
2641                    <li class="lg:hidden">
2642                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewB
2642ox="0 0 7 10">
2643        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
2644      </svg>Lever Lock
2645                      </button>
2646                    </li></ul>
2647
2648
2649
2650<style>
2651  #navigation-promo-mega_menu_JiRdeq-drawer-0- {
2652    --navigation-promo-grid: 
2653  
2654    auto / repeat(1, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2655
2656  
2657;
2658    --mega-menu-promo-grid-image-max-width: 300px;
2659    --mega-menu-promo-grid-image-min-width: 172px;
2660    --promo-heading-font-size: var(--text-h5);
2661    --content-over-media-row-gap: var(--spacing-3);
2662    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2663      --panel-wrapper-justify-content: flex-start;}
2664
2665  #navigation-promo-mega_menu_JiRdeq-drawer-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
2666
2667  @media screen and (min-width:700px) {
2668    #navigation-promo-mega_menu_JiRdeq-drawer-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2669      --content-over-media-row-gap: var(--spacing-4);
2670      --content-over-media-column-gap: var(--spacing-5);
2671    }
2672  }@media screen and (min-width: 1150px) {
2673      #navigation-promo-mega_menu_JiRdeq-drawer-0- {
2674        --promo-heading-font-size: var(--text-h5);
2675        --content-over-media-row-gap: var(--spacing-5);
2676        --content-over-media-column-gap: var(--spacing-7);
2677        --mega-menu-promo-grid-image-min-width: 220px;
2678
2679      
2680      }
2681    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_JiRdeq-drawer-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2682      <a href="/pages/tcl-d2l-fingerprint-lever-lock"
2683         class="content-over-media rounded-sm group "
2684         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2685" class="zoom-image"><div class="place-self-end-start text-custom">
2686            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2L</p>
2687          </div></a>
2688    </div></div>
2689
2690
2691
2692</div><div class="panel__wrapper" style="--panel-wrapper-justify-content: flex-start" hidden>
2693                  <ul class="v-stack gap-4">
2694                    <li class="lg:hidden">
2695                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
2696        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
2697      </svg>Fingerprint Lock
2698                      </button>
2699                    </li></ul>
2700
2701
2702
2703<style>
2704  #navigation-promo-mega_menu_QXCH3R-drawer-0- {
2705    --navigation-promo-grid: 
2706  
2707    auto / repeat(2, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2708
2709  
2710;
2711    --mega-menu-promo-grid-image-max-width: 300px;
2712    --mega-menu-promo-grid-image-min-width: 172px;
2713    --promo-heading-font-size: var(--text-h5);
2714    --content-over-media-row-gap: var(--spacing-3);
2715    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2716      --panel-wrapper-justify-content: flex-start;}
2717
2718  #navigation-promo-mega_menu_QXCH3R-drawer-0- .navigation-promo__carousel-control
2718s {inset-block-end: var(--content-over-media-column-gap);}
2719
2720  @media screen and (min-width:700px) {
2721    #navigation-promo-mega_menu_QXCH3R-drawer-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2722      --content-over-media-row-gap: var(--spacing-4);
2723      --content-over-media-column-gap: var(--spacing-5);
2724    }
2725  }@media screen and (min-width: 1150px) {
2726      #navigation-promo-mega_menu_QXCH3R-drawer-0- {
2727        --promo-heading-font-size: var(--text-h5);
2728        --content-over-media-row-gap: var(--spacing-5);
2729        --content-over-media-column-gap: var(--spacing-7);
2730        --mega-menu-promo-grid-image-min-width: 220px;
2731
2732      
2733      }
2734    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_QXCH3R-drawer-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2735      <a href="/products/tcl-d2-plus-fingerprint-digital-smart-door-lock-with-keypad"
2736         class="content-over-media  group "
2737         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2738" class="zoom-image"><div class="place-self-end-start text-custom">
2739            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2 Plus</p>
2740          </div></a><a href="/products/tcl-d1-fingerprint-digital-smart-door-lock-with-keypad"
2741         class="content-over-media  group "
2742         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2743" class="zoom-image"><div class="place-self-end-start text-custom">
2744            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D1</p>
2745          </div></a>
2746    </div></div>
2747
2748
2749
2750</div><div class="panel__wrapper" style="--panel-wrapper-justify-content: flex-start" hidden>
2751                  <ul class="v-stack gap-4">
2752                    <li class="lg:hidden">
2753                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewB
2753ox="0 0 7 10">
2754        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
2755      </svg>Fingerprint Knob
2756                      </button>
2757                    </li></ul>
2758
2759
2760
2761<style>
2762  #navigation-promo-mega_menu_mH9rxi-drawer-0- {
2763    --navigation-promo-grid: 
2764  
2765    auto / repeat(1, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2766
2767  
2768;
2769    --mega-menu-promo-grid-image-max-width: 300px;
2770    --mega-menu-promo-grid-image-min-width: 172px;
2771    --promo-heading-font-size: var(--text-h5);
2772    --content-over-media-row-gap: var(--spacing-3);
2773    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2774      --panel-wrapper-justify-content: flex-start;}
2775
2776  #navigation-promo-mega_menu_mH9rxi-drawer-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
2777
2778  @media screen and (min-width:700px) {
2779    #navigation-promo-mega_menu_mH9rxi-drawer-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2780      --content-over-media-row-gap: var(--spacing-4);
2781      --content-over-media-column-gap: var(--spacing-5);
2782    }
2783  }@media screen and (min-width: 1150px) {
2784      #navigation-promo-mega_menu_mH9rxi-drawer-0- {
2785        --promo-heading-font-size: var(--text-h5);
2786        --content-over-media-row-gap: var(--spacing-5);
2787        --content-over-media-column-gap: var(--spacing-7);
2788        --mega-menu-promo-grid-image-min-width: 220px;
2789
2790      
2791      }
2792    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_mH9rxi-drawer-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2793      <a href="/products/tcl-k1-smart-fingerprint-door-knob-secure-biometric-lock-with-app-control-and-keyless-entry-for-home-office-and-garage"
2794         class="content-over-media rounded-sm group "
2795         style="--text-color: 26 26 26; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2796" class="zoom-image"><div class="place-self-end-start text-custom">
2797            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL K1</p>
2798          </div></a>
2799    </div></div>
2800
2801
2802
2803</div><div class="panel__wrapper" style="--panel-wrapper-justify-content: flex-start" hidden>
2804                  <ul class="v-stack gap-4">
2805                    <li class="lg:hidden">
2806                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
2807        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
2808      </svg>Keypad Lock
2809                      </button>
2810                    </li></ul>
2811
2812
2813
2814<style>
2815  #navigation-promo-mega_menu_p4pkWL-drawer-0- {
2816    --navigation-promo-grid: 
2817  
2818    auto / repeat(1, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2819
2820  
2821;
2822    --mega-menu-promo-grid-image-max-width: 300px;
2823    --mega-menu-promo-grid-image-min-width: 172px;
2824    --promo-heading-font-size: var(--text-h5);
2825    --content-over-media-row-gap: var(--spacing-3);
2826    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2827      --panel-wrapper-justify-content: flex-start;}
2828
2829  #navigation-promo-mega_menu_p4pkWL-drawer-0- .navigation-promo__carousel-control
2829s {inset-block-end: var(--content-over-media-column-gap);}
2830
2831  @media screen and (min-width:700px) {
2832    #navigation-promo-mega_menu_p4pkWL-drawer-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2833      --content-over-media-row-gap: var(--spacing-4);
2834      --content-over-media-column-gap: var(--spacing-5);
2835    }
2836  }@media screen and (min-width: 1150px) {
2837      #navigation-promo-mega_menu_p4pkWL-drawer-0- {
2838        --promo-heading-font-size: var(--text-h5);
2839        --content-over-media-row-gap: var(--spacing-5);
2840        --content-over-media-column-gap: var(--spacing-7);
2841        --mega-menu-promo-grid-image-min-width: 220px;
2842
2843      
2844      }
2845    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_p4pkWL-drawer-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2846      <a href="/products/tcl-d2-app-unlock-digital-smart-door-lock-with-keypad"
2847         class="content-over-media  group "
2848         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2849" class="zoom-image"><div class="place-self-end-start text-custom">
2850            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL D2</p>
2851          </div></a>
2852    </div></div>
2853
2854
2855
2856</div><div class="panel__wrapper" style="--panel-wrapper-justify-content: flex-start" hidden>
2857                  <ul class="v-stack gap-4">
2858                    <li class="lg:hidden">
2859                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
2860        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
2861      </svg>Accessories
2862                      </button>
2863                    </li></ul>
2864
2865
2866
2867<style>
2868  #navigation-promo-mega_menu_CxhEfD-drawer-0- {
2869    --navigation-promo-grid: 
2870  
2871    auto / repeat(3, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2872
2873  
2874;
2875    --mega-menu-promo-grid-image-max-width: 300px;
2876    --mega-menu-promo-grid-image-min-width: 172px;
2877    --promo-heading-font-size: var(--text-h5);
2878    --content-over-media-row-gap: var(--spacing-3);
2879    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2880      --panel-wrapper-justify-content: flex-start;}
2881
2882  #navigation-promo-mega_menu_CxhEfD-drawer-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
2883
2884  @media screen and (min-width:700px) {
2885    #navigation-promo-mega_menu_CxhEfD-drawer-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2886      --content-over-media-row-gap: var(--spacing-4);
2887      --content-over-media-column-gap: var(--spacing-5);
2888    }
2889  }@media screen and (min-width: 1150px) {
2890      #navigation-promo-mega_menu_CxhEfD-drawer-0- {
2891        --promo-heading-font-size: var(--text-h5);
2892        --content-over-media-row-gap: var(--spacing-5);
2893        --content-over-media-column-gap: var(--spacing-7);
2894        --mega-menu-promo-grid-image-min-width: 220px;
2895
2896      
2897      }
2898    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_CxhEfD-drawer-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2899      <a href="/products/tcl-front-door-handle-set-for-d2-series-smart-lock-exterior-handleset-with-interior-reversible-lever-non-locking-fits-standard-doors-dark-grey"
2900         class="content-over-media  group "
2901         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2902" class="zoom-image"><div class="place-self-end-start text-custom">
2903            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">
2903Door Handle</p>
2904          </div></a><a href="/products/tcl-fobs-for-smart-lock-13-56mhz-rfid-key-fob-ic-cards-for-smart-door-deadbolt-keyless-entry-fobs-for-door-lock-3-packs"
2905         class="content-over-media  group "
2906         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2907" class="zoom-image"><div class="place-self-end-start text-custom">
2908            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">FOB Card</p>
2909          </div></a><a 
2910         class="content-over-media  group "
2911         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2912" class="zoom-image"><div class="place-self-end-start text-custom">
2913            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">Extra Battery</p>
2914          </div></a>
2915    </div></div>
2916
2917
2918
2919</div><div class="panel__wrapper" style="--panel-wrapper-justify-content: flex-start" hidden>
2920                  <ul class="v-stack gap-4">
2921                    <li class="lg:hidden">
2922                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
2923        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
2924      </svg>Video Lock
2925                      </button>
2926                    </li></ul>
2927
2928
2929
2930<style>
2931  #navigation-promo-mega_menu_zA7Khi-drawer-0- {
2932    --navigation-promo-grid: 
2933  
2934    auto / repeat(1, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2935
2936  
2937;
2938    --mega-menu-promo-grid-image-max-width: 300px;
2939    --mega-menu-promo-grid-image-min-width: 172px;
2940    --promo-heading-font-size: var(--text-h5);
2941    --content-over-media-row-gap: var(--spacing-3);
2942    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2943      --panel-wrapper-justify-content: flex-start;}
2944
2945  #navigation-promo-mega_menu_zA7Khi-drawer-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
2946
2947  @media screen and (min-width:700px) {
2948    #navigation-promo-mega_menu_zA7Khi-drawer-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
2949      --content-over-media-row-gap: var(--spacing-4);
2950      --content-over-media-column-gap: var(--spacing-5);
2951    }
2952  }@media screen and (min-width: 1150px) {
2953      #navigation-promo-mega_menu_zA7Khi-drawer-0- {
2954        --promo-heading-font-size: var(--text-h5);
2955        --content-over-media-row-gap: var(--spacing-5);
2956        --content-over-media-column-gap: var(--spacing-7);
2957        --mega-menu-promo-grid-image-min-width: 220px;
2958
2959      
2960      }
2961    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_zA7Khi-drawer-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
2962      <a href="/pages/tcl-k11d-ultra-video-smart-lock"
2963         class="content-over-media rounded-sm group "
2964         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
2965" class="zoom-image"><div class="place-self-end-start text-custom">
2966            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL K11D Ultra</p>
2967          </div></a>
2968    </div></div>
2969
2970
2971
2972</div><div class="panel__wrapper" style="--panel-wrapper-justify-content: flex-start" hidden>
2973                  <ul class="v-stack gap-4">
2974                    <li class="lg:hidden">
2975                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewB
2975ox="0 0 7 10">
2976        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
2977      </svg>Smart Safe
2978                      </button>
2979                    </li></ul>
2980
2981
2982
2983<style>
2984  #navigation-promo-mega_menu_kPzWhQ-drawer-0- {
2985    --navigation-promo-grid: 
2986  
2987    auto / repeat(2, minmax(var(--mega-menu-promo-grid-image-min-width), var(--mega-menu-promo-grid-image-max-width)))
2988
2989  
2990;
2991    --mega-menu-promo-grid-image-max-width: 300px;
2992    --mega-menu-promo-grid-image-min-width: 172px;
2993    --promo-heading-font-size: var(--text-h5);
2994    --content-over-media-row-gap: var(--spacing-3);
2995    --content-over-media-column-gap: var(--spacing-4);--navigation-promo-gap: var(--spacing-2);
2996      --panel-wrapper-justify-content: flex-start;}
2997
2998  #navigation-promo-mega_menu_kPzWhQ-drawer-0- .navigation-promo__carousel-controls {inset-block-end: var(--content-over-media-column-gap);}
2999
3000  @media screen and (min-width:700px) {
3001    #navigation-promo-mega_menu_kPzWhQ-drawer-0- {--promo-heading-font-size: var(--text-h6);--mega-menu-promo-grid-image-min-width: 192px;
3002      --content-over-media-row-gap: var(--spacing-4);
3003      --content-over-media-column-gap: var(--spacing-5);
3004    }
3005  }@media screen and (min-width: 1150px) {
3006      #navigation-promo-mega_menu_kPzWhQ-drawer-0- {
3007        --promo-heading-font-size: var(--text-h5);
3008        --content-over-media-row-gap: var(--spacing-5);
3009        --content-over-media-column-gap: var(--spacing-7);
3010        --mega-menu-promo-grid-image-min-width: 220px;
3011
3012      
3013      }
3014    }</style><div class="navigation-promo__wrapper  " id="navigation-promo-mega_menu_kPzWhQ-drawer-0-"><div class="navigation-promo navigation-promo--grid scroll-area bleed">
3015      <a href="/pages/tcl-s60-smart-safe"
3016         class="content-over-media rounded-sm group "
3017         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
3018" class="zoom-image"><div class="place-self-end-start text-custom">
3019            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL S60</p>
3020          </div></a><a href="/pages/tcl-s30-smart-safe"
3021         class="content-over-media rounded-sm group "
3022         style="--text-color: 0 0 0; grid-area: ;"><img src="//tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&amp;width=1000 1000w" width="1200" height="1200" loading="lazy" sizes="(max-width: 699px) 172px, (max-width: 1149px) 192px,220px
3023" class="zoom-image"><div class="place-self-end-start text-custom">
3024            <p class="bold" style="font-size: var(--promo-heading-font-size); line-height: var(--promo-heading-line-height, 1.4)">TCL S30</p>
3025          </div></a>
3026    </div></div>
3027
3028
3029
3030</div><div class="panel__wrapper"  hidden>
3031                  <ul class="v-stack gap-4">
3032                    <li class="lg:hidden">
3033                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewB
3033ox="0 0 7 10">
3034        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
3035      </svg>Support
3036                      </button>
3037                    </li><li class="h3 sm:h4"><a class="group block w-full" href="/pages/contact-us"><span><span class="reversed-link">Contact Us</span></span>
3038                            </a></li><li class="h3 sm:h4"><a class="group block w-full" href="/pages/user-manual"><span><span class="reversed-link">User Manual</span></span>
3039                            </a></li><li class="h3 sm:h4"><a class="group block w-full" href="/pages/installation-video"><span><span class="reversed-link">Tutorial Video</span></span>
3040                            </a></li><li class="h3 sm:h4"><a class="group block w-full" href="/pages/faq"><span><span class="reversed-link">FAQ</span></span>
3041                            </a></li></ul></div>
3042    </div></div></navigation-drawer>
3042<script>
3043  document.documentElement.style.setProperty('--header-height', Math.round(document.getElementById('shopify-section-sections--25800461353261__header').clientHeight) + 'px');
3044</script>
3044
3045
3046<style> #shopify-section-sections--25800461353261__header header {padding-top: 0.8rem !important; padding-bottom: 0.8rem !important;} #shopify-section-sections--25800461353261__header /* 普通 Logo 保持原来的 0.8 倍 */.header__logo-image {transform: scale(0.8); transform-origin: left center;} #shopify-section-sections--25800461353261__header /* 透明 Logo 改为 1.4 倍 */.header__logo-image.header__logo-image--transparent {transform: scale(1.4);} #shopify-section-sections--25800461353261__header .header__primary-nav, #shopify-section-sections--25800461353261__header .header__secondary-nav {gap: 1rem !important;} </style></header>
3047<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->
3048<div id="shopify-section-sections--25800461386029__cart-drawer" class="shopify-section shopify-section-group-overlay-group"><cart-drawer  class="cart-drawer drawer drawer--lg" id="cart-drawer"><button is="close-button" aria-label="Close"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
3049        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
3050      </svg></button>
3051
3052    <div class="empty-state align-self-center">
3053      <div class="empty-state__icon-wrapper"><svg role="presentation" stroke-width="1" focusable="false" width="32" height="32" class="icon icon-cart" viewBox="0 0 22 22">
3054            <path d="M9.182 18.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="currentColor"></path>
3055            <path d="M5.336 6.636H21l-3.636 8.182H6.909L4.636 3H1m8.182 15.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
3056          </svg><span class="count-bubble count-bubble--lg">0</span>
3057      </div>
3058
3059      <div class="prose">
3060        <p class="h5">Your cart is empty</p>
3061<a class="button button--xl button--outline"
3062  
3063  
3064  
3065  
3066  
3067  href="/collections/all"
3068  
3069  
3070 >Continue shopping</a></div>
3071    </div></cart-drawer>
3072
3073
3074</div><div id="shopify-section-sections--25800461386029__search-drawer" class="shopify-section shopify-section-group-overlay-group"><search-drawer  class="search-drawer  drawer drawer--lg" id="search-drawer">
3075  <form action="/search" method="get" class="v-stack gap-5 sm:gap-8" role="search">
3076    <div class="search-input">
3077      <input type="search" name="q" placeholder="Search for..." autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" aria-label="Search">
3078      <button type="reset" class="text-subdued">Clear</button>
3079      <button type="button" is="close-button">
3080        <span class="sr-only">Close</span><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
3081        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
3082      </svg></button>
3083    </div>
3084
3085    <predictive-search class="predictive-search" section-id="sections--25800461386029__search-drawer"><div slot="idle">
3086          <div class="v-stack gap-3 sm:gap-4"><p class="bold text-subdued">Main Menu</p><ul class="v-stack gap-2 sm:gap-3" role="list"><li>
3087                  <a href="/collections/smart-locks" class="h5">
3088                    <span class="reversed-link hover:show">Smart Locks</span>
3089                  </a>
3090                </li><li>
3091                  <a href="/collections/security-cameras" class="h5">
3092                    <span class="reversed-link hover:show">Security Cameras</span>
3093                  </a>
3094                </li><li>
3095                  <a href="/pages/about-tcl" class="h5">
3096                    <span class="reversed-link hover:show">About TCL</span>
3097                  </a>
3098                </li><li>
3099                  <a href="#" class="h5">
3100                    <span class="reversed-link hover:show">Support</span>
3101                  </a>
3102                </li><li>
3103                  <a href="#" class="h5">
3104                    <span class="reversed-link hover:show">On Sale</span>
3105                  </a>
3106                </li></ul>
3107          </div>
3108        </div><div slot="results"></div>
3109
3110      <div slot="loading">
3111        <div class="v-stack gap-5 sm:gap-6 ">
3112          <div class="h-stack gap-4 sm:gap-5"><span class="skeleton skeleton--tab"></span><span class="skeleton skeleton--tab"></span><span class="skeleton skeleton--tab"></span></div>
3113
3114          <div class="v-stack gap-4 sm:gap-6"><div class="h-stack align-center gap-5 sm:gap-6">
3115                <span class="skeleton skeleton--thumbnail"></span>
3116
3117                <div class="v-stack gap-3 w-full">
3118                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 20%"></span>
3119                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 80%"></span>
3120                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 40%"></span>
3121                </div>
3122              </div><div class="h-stack align-center gap-5 sm:gap-6">
3123                <span class="skeleton skeleton--thumbnail"></span>
3124
3125                <div class="v-stack gap-3 w-full">
3126                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 20%"></span>
3127                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 80%"></span>
3128                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 40%"></span>
3129                </div>
3130              </div><div class="h-stack align-center gap-5 sm:gap-6">
3131                <span class="skeleton skeleton--thumbnail"></span>
3132
3133                <div class="v-stack gap-3 w-full">
3134                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 20%"></span>
3135                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 80%"></span>
3136                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 40%"></span>
3137                </div>
3138              </div><div class="h-stack align-center gap-5 sm:gap-6">
3139                <span class="skeleton skeleton--thumbnail"></span>
3140
3141                <div class="v-stack gap-3 w-full">
3142                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 20%"></span>
3143                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 80%"></span>
3144                  <span class="skeleton skeleton--text" style="--skeleton-text-width: 40%"></span>
3145                </div>
3146              </div></div>
3147        </div></div>
3148    </predictive-search>
3149  </form>
3150</search-drawer>
3151
3152</div>
3153<!-- END sections: overlay-group --><main role="main" id="main" class="anchor">
3154      <section id="shopify-section-template--25800458928429__main" class="shopify-section shopify-section--main-cart"><div class="container"><div class="empty-state">
3155      <div class="empty-state__icon-wrapper"><svg role="presentation" stroke-width="1" focusable="false" width="32" height="32" class="icon icon-cart" viewBox="0 0 22 22">
3156            <path d="M9.182 18.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="currentColor"></path>
3157            <path d="M5.336 6.636H21l-3.636 8.182H6.909L4.636 3H1m8.182 15.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
3158          </svg><span class="count-bubble count-bubble--lg">0</span>
3159      </div>
3160
3161      <div class="prose">
3162        <p class="h4">Your cart is empty</p>
3163<a class="button button--xl button--outline"
3164  
3165  
3166  
3167  
3168  
3169  href="/collections/all"
3170  
3171  
3172 >Continue shopping</a></div>
3173    </div></div>
3174
3175</section>
3176<!-- BEGIN sections: footer-group -->
3177<footer id="shopify-section-sections--25800461320493__footer" class="shopify-section shopify-section-group-footer-group shopify-section--footer"><style>
3178  @media screen and (min-width: 1000px) {
3179    #shopify-section-sections--25800461320493__footer {--footer-block-list-gap: var(--spacing-10);--footer-block-list-justify-content: space-between;
3180    }
3181  }
3182</style><div class="footer">
3183  <div class="container">
3184    <div class="footer__wrapper"><div class="footer__block-list empty:hidden"><div class="footer__block footer__block--newsletter" ><img src="//tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB.png?v=1741248634&amp;width=2147" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB.png?v=1741248634&amp;width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB.png?v=1741248634&amp;width=600 600w" width="2147" height="721" loading="lazy" style="max-width: 300px" sizes="300px"><div class="v-stack gap-6"><form method="post" action="/contact#footer-newsletter" id="footer-newsletter" accept-charset="UTF-8" class="footer__newsletter-form 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="form-control" ><input id="input-sections--25800461320493__footer--contactemail" class="input is-floating" type="email" dir="ltr" name="contact[email]" placeholder=" " 
3185  
3186  
3187  
3188  
3189  autocomplete="email"
3190  
3191  enterkeyhint="send"
3192  required
3193  
3194><label for="input-sections--25800461320493__footer--contactemail" class="floating-label">E-mail</label>
3194<div class="self-submit-button">
3195        <button type="submit" class="circle-chevron hover:colors">
3196          <span class="sr-only">Subscribe</span><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
3197        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
3198      </svg></button>
3199      </div></div></form></div>
3200                </div><div class="footer__block footer__block--menu" ><p class="bold">Products</p><ul class="v-stack gap-3" role="list"><li>
3201                          <a href="/collections/smart-deadbolt" class="inline-block link-faded break-all">Smart Deadbolt</a>
3202                        </li><li>
3203                          <a href="/products/tcl-k1-smart-fingerprint-door-knob-secure-biometric-lock-with-app-control-and-keyless-entry-for-home-office-and-garage" class="inline-block link-faded break-all">Door Knob</a>
3204                        </li><li>
3205                          <a href="/" class="inline-block link-faded break-all">Lever Lock</a>
3206                        </li><li>
3207                          <a href="/products/tcl-d1-max-video-digital-smart-door-lock-with-keypad" class="inline-block link-faded break-all">Video Lock</a>
3208                        </li><li>
3209                          <a href="/products/b1-security-camera-with-solar-panel" class="inline-block link-faded break-all">Security Camera</a>
3210                        </li></ul>
3211                  </div><div class="footer__block footer__block--menu" ><p class="bold">Explore</p><ul class="v-stack gap-3" role="list"><li>
3212                          <a href="/pages/about-tcl-smart-home" class="inline-block link-faded break-all">About Us</a>
3213                        </li><li>
3214                          <a href="/" class="inline-block link-faded break-all">News</a>
3215                        </li><li>
3216                          <a href="/blogs/smart-locks-blog" class="inline-block link-faded break-all">Blog</a>
3217                        </li><li>
3218                          <a href="/pages/become-an-affiliate" class="inline-block link-faded break-all">Affiliate Program</a>
3219                        </li><li>
3220                          <a href="/pages/partner-with-tcl" class="inline-block link-faded break-all">Dealer</a>
3221                        </li></ul>
3222                  </div><div class="footer__block footer__block--menu" ><p class="bold">Support</p><ul class="v-stack gap-3" role="list"><li>
3223                          <a href="/pages/contact-us" class="inline-block link-faded break-all">Contact Us</a>
3224                        </li><li>
3225                          <a href="/pages/user-manual" class="inline-block link-faded break-all">User Manual</a>
3226                        </li><li>
3227                          <a href="/pages/installation-video" class="inline-block link-faded break-all">Tutorial Video</a>
3228                        </li><li>
3229                          <a href="/pages/faq" class="inline-block link-faded break-all">FAQ</a>
3230                        </li><li>
3231                          <a href="https://verify-code.tcljd.com" class="inline-block link-faded break-all">Product Verification</a>
3232                        </li></ul>
3233                  </div></div><div class="footer__aside empty:hidden"><div class="footer__aside-top"><ul class="social-media " role="list"><li>
3234      <a href="https://www.facebook.com/profile.php?id=61576188047299" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Facebook"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-facebook" viewBox="0 0 24 24">
3235        <path fill-rule="evenodd" clip-rule="evenodd" d="M10.183 21.85v-8.868H7.2V9.526h2.983V6.982a4.17 4.17 0 0 1 4.44-4.572 22.33 22.33 0 0 1 2.667.144v3.084h-1.83a1.44 1.44 0 0 0-1.713 1.68v2.208h3.423l-.447 3.456h-2.97v8.868h-3.57Z" fill="currentColor"/>
3236      </svg></a>
3237    </li><li>
3238      <a href="https://x.com/TCLHomesecurity" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Twitter"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-twitter" viewBox="0 0 24 24">
3239        <path d="M16.94 4h2.715l-5.93 6.777L20.7 20h-5.462l-4.278-5.593L6.065 20H3.35l6.342-7.25L3 4h5.6l3.868 5.113L16.94 4Zm-.952 14.375h1.504L7.784 5.54H6.17l9.818 12.836Z" fill="currentColor"/>
3240      </svg></a>
3241    </li><li>
3242      <a href="https://www.instagram.com/tclhomesecurity/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Instagram"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-instagram" viewBox="0 0 24 24">
3243        <path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.4c-2.607 0-2.934.011-3.958.058-1.022.046-1.72.209-2.33.446a4.705 4.705 0 0 0-1.7 1.107 4.706 4.706 0 0 0-1.108 1.7c-.237.611-.4 1.31-.446 2.331C2.41 9.066 2.4 9.392 2.4 12c0 2.607.011 2.934.058 3.958.046 1.022.209 1.72.446 2.33a4.706 4.706 0 0 0 1.107 1.7c.534.535 1.07.863 1.7 1.108.611.237 1.309.4 2.33.446 1.025.
3243047 1.352.058 3.959.058s2.934-.011 3.958-.058c1.022-.046 1.72-.209 2.33-.446a4.706 4.706 0 0 0 1.7-1.107 4.706 4.706 0 0 0 1.108-1.7c.237-.611.4-1.31.446-2.33.047-1.025.058-1.352.058-3.959s-.011-2.934-.058-3.958c-.047-1.022-.209-1.72-.446-2.33a4.706 4.706 0 0 0-1.107-1.7 4.705 4.705 0 0 0-1.7-1.108c-.611-.237-1.31-.4-2.331-.446C14.934 2.41 14.608 2.4 12 2.4Zm0 1.73c2.563 0 2.867.01 3.88.056.935.042 1.443.199 1.782.33.448.174.768.382 1.104.718.336.336.544.656.718 1.104.131.338.287.847.33 1.783.046 1.012.056 1.316.056 3.879 0 2.563-.01 2.867-.056 3.88-.043.935-.199 1.444-.33 1.782a2.974 2.974 0 0 1-.719 1.104 2.974 2.974 0 0 1-1.103.718c-.339.131-.847.288-1.783.33-1.012.046-1.316.056-3.88.056-2.563 0-2.866-.01-3.878-.056-.936-.042-1.445-.199-1.783-.33a2.974 2.974 0 0 1-1.104-.718 2.974 2.974 0 0 1-.718-1.104c-.131-.338-.288-.847-.33-1.783-.047-1.012-.056-1.316-.056-3.879 0-2.563.01-2.867.056-3.88.042-.935.199-1.443.33-1.782.174-.448.382-.768.718-1.104a2.974 2.974 0 0 1 1.104-.718c.338-.131.847-.288 1.783-.33C9.133 4.14 9.437 4.13 12 4.13Zm0 11.07a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4Zm0-8.13a4.93 4.93 0 1 0 0 9.86 4.93 4.93 0 0 0 0-9.86Zm6.276-.194a1.152 1.152 0 1 1-2.304 0 1.152 1.152 0 0 1 2.304 0Z" fill="currentColor"/>
3244      </svg></a>
3245    </li><li>
3246      <a href="https://www.pinterest.com/TCLHomesecurity/" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on Pinterest"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-pinterest" viewBox="0 0 24 24">
3247        <path fill-rule="evenodd" clip-rule="evenodd" d="M11.765 2.401c3.59-.054 5.837 1.4 6.895 3.95.349.842.722 2.39.442 3.675-.112.512-.144 1.048-.295 1.53-.308.983-.708 1.853-1.238 2.603-.72 1.02-1.81 1.706-3.182 2.052-1.212.305-2.328-.152-2.976-.643-.206-.156-.483-.36-.56-.643h-.029c-.046.515-.244 1.062-.383 1.531-.193.65-.23 1.321-.472 1.929a12.345 12.345 0 0 1-.942 1.868c-.184.302-.692 1.335-1.061 1.347-.04-.078-.057-.108-.06-.245-.118-.19-.035-.508-.087-.766-.082-.4-.145-1.123-.06-1.53v-.643c.096-.442.092-.894.207-1.317.25-.92.39-1.895.648-2.848.249-.915.477-1.916.678-2.847.045-.21-.21-.815-.265-1.041-.174-.713-.042-1.7.176-2.236.275-.674 1.08-1.703 2.122-1.439.838.212 1.371 1.118 1.09 2.266-.295 1.205-.677 2.284-.943 3.49-.068.311.05.641.118.827.248.672 1 1.324 2.004 1.072 1.52-.383 2.193-1.76 2.652-3.246.124-.402.109-.781.206-1.225.204-.935.118-2.331-.177-3.061-.472-1.17-1.353-1.92-2.563-2.328L12.707 4.3c-.56-.128-1.626.064-2.004.183-1.69.535-2.737 1.427-3.388 3.032-.222.546-.344 1.1-.383 1.868l-.03.276c.13.686.144 1.14.413 1.653.132.252.447.451.5.765.032.185-.104.464-.147.613-.065.224-.041.48-.147.673-.192.349-.714.087-.943-.061-1.192-.77-2.175-2.995-1.62-5.144.085-.332.09-.62.206-.919.723-1.844 1.802-2.978 3.359-3.95.583-.364 1.37-.544 2.092-.734l1.149-.154Z" fill="currentColor"/>
3248      </svg></a>
3249    </li><li>
3250      <a href="https://www.youtube.com/@TCLHomesecurity" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on YouTube"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-youtube" viewBox="0 0 24 24">
3251        <path fill-rule="evenodd" clip-rule="evenodd" d="M20.44 5.243c.929.244 1.66.963 1.909 1.876.451 1.654.451 5.106.451 5.106s0 3.452-.451 5.106a2.681 2.681 0 0 1-1.91 1.876c-1.684.443-8.439.443-8.439.443s-6.754 0-8.439-.443a2.682 2.682 0 0 1-1.91-1.876c-.45-1.654-.45-5.106-.45-5.106s0-3.452.45-5.106a2.681 2.681 0 0 1 1.91-1.876c1.685-.443 8.44-.443 8.44-.443s6.754 0 8.438.443Zm-5.004 6.982L9.792 15.36V9.091l5.646 3.134Z" fill="currentColor"/>
3252      </svg></a>
3253    </li><li>
3254      <a href="https://www.tiktok.com/@tclhomesecurity1" class="tap-area" target="_blank" rel="noopener" aria-label="Follow on TikTok"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-tiktok" viewBox="0 0 24 24">
3255        <path d="M20.027 10.168a5.125 5.125 0 0 1-4.76-2.294v7.893a5.833 5.833 0 1 1-5.834-5.834c.122 0 .241.011.361.019v2.874c-.12-.014-.237-.036-.36-.036a2.977 2.977 0 0 0 0 5.954c1.644 0 3.096-1.295 3.096-2.94L12.56 2.4h2.75a5.122 5.122 0 0 0 4.72 4.573v3.195" fill="currentColor"/>
3256      </svg></a>
3257    </li></ul><div class="h-stack gap-6"><link rel="stylesheet" href="//tclhomesecurity.com/cdn/shop/t/18/assets/country-flags.css?v=26840824572816899921785728147" media="print" onload="this.media='all'; this.onload = null"><div class="relative">
3258      <button type="button" class="text-with-icon gap-2.5 group" aria-label="Change country or currency" aria-controls="popover-localization-form-country--sections--25800461320493__footer" aria-expanded="false">
3259        <div class="h-stack gap-2"><span class="country-flags country-flags--US"></span><span class="bold text-sm">United States (USD $)</span>
3260        </div><svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
3261        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
3262      </svg></button>
3263
3264      <x-popover id="popover-localization-form-country--sections--25800461320493__footer" initial-focus="[aria-selected='true']" anchor-horizontal="end" anchor-vertical="start" class="popover">
3265        <p class="h5" slot="title">Country</p><form method="post" action="/localization" id="localization-form-country--sections--25800461320493__footer" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/cart" /><x-listbox class="popover-listbox popover-listbox--sm" role="listbox"><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="AU" >
3266                <span class="country-flags country-flags--AU"></span>
3267                <span>Australia (USD $)</span>
3268              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="BE" >
3269                <span class="country-flags country-flags--BE"></span>
3270                <span>Belgium (USD $)</span>
3271              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CA" >
3272                <span class="country-flags country-flags--CA"></span>
3273                <span>Canada (USD $)</span>
3274              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="DK" >
3275                <span class="country-flags country-flags--DK"></span>
3276                <span>Denmark (USD $)</span>
3277              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="FR" >
3278                <span class="country-flags country-flags--FR"></span>
3279                <span>France (USD $)</span>
3280              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="DE" >
3281                <span class="country-flags country-flags--DE"></span>
3282                <span>Germany (USD $)</span>
3283              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="IE" >
3284                <span class="country-flags country-flags--IE"></span>
3285                <span>Ireland (USD $)</span>
3286              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="IT" >
3287                <span class="country-flags country-flags--IT"></span>
3288                <span>Italy (USD $)</span>
3289              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="NL" >
3290                <span class="country-flags country-flags--NL"></span>
3291                <span>Netherlands (USD $)</span>
3292              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="NZ" >
3293                <span class="country-flags country-flags--NZ"></span>
3294                <span>New Zealand (USD $)</span>
3295              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="PH" >
3296                <span class="country-flags country-flags--PH"></span>
3297                <span>Philippines (USD $)</span>
3298              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="ES" >
3299                <span class="country-flags country-flags--ES"></span>
3300                <span>Spain (USD $)</span>
3301              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="GB" >
3302                <span class="country-flags country-flags--GB"></span>
3303                <span>United Kingdom (USD $)</span>
3304              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="US" aria-selected="true">
3305                <span class="country-flags country-flags--US"></span>
3306                <span>United States (USD $)</span>
3307              </button></x-listbox></form></x-popover>
3308    </div><div class="relative">
3309      <button type="button" class="text-with-icon gap-2.5 group" aria-label="Change language" aria-controls="popover-localization-form-locale--sections--25800461320493__footer" aria-expanded="false">
3310        <span class="bold text-sm">English</span><svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
3311        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
3312      </svg></button>
3313
3314      <x-popover id="popover-localization-form-locale--sections--25800461320493__footer" initial-focus="[aria-selected='true']" anchor-horizontal="end" anchor-vertical="start" class="popover">
3315        <p class="h5" slot="title">Language</p><form method="post" action="/localization" id="localization-form-locale--sections--25800461320493__footer" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/cart" /><x-listbox class="popover-listbox popover-listbox--sm" role="listbox"><button type="submit" class="popover-listbox__option" name="locale_code" role="option" value="en" aria-selected="true">English</button><button type="submit" class="popover-listbox__option" name="locale_code" role="option" value="es" >Español</button><button type="submit" class="popover-listbox__option" name="locale_code" role="option" value="de" >Deutsch</button></x-listbox></form></x-popover>
3316    </div></div></div><div class="footer__aside-bottom">
3316<div class="footer__copyright v-stack gap-1">
3317            <p class="text-sm text-subdued">© 2026, TCL. <a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&amp;utm_medium=shopify&amp;utm_source=onlinestore">Powered by Shopify</a></p><ul class="footer__policy-links unstyled-list"><li class="contents"><a href="/policies/privacy-policy" class="text-sm link-faded">Privacy policy</a></li><li class="contents"><a href="/policies/refund-policy" class="text-sm link-faded">Refund policy</a></li><li class="contents"><a href="/policies/terms-of-service" class="text-sm link-faded">Terms of service</a></li><li class="contents"><a href="/policies/shipping-policy" class="text-sm link-faded">Shipping policy</a></li><li class="contents"><a href="/policies/contact-information" class="text-sm link-faded">Contact information</a></li></ul></div>
3318        </div>
3319      </div>
3320    </div>
3321  </div>
3322</div>
3323
3324</footer>
3325<!-- END sections: footer-group --></main>
3326  <div id="shopify-block-AeVZVUFFVMzBRQkhBN__16789939927838974014" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: rivyo-metafields -->
3327
3328<script>
3329  (function() {
3330    window.rivyoShopMetafields = window.rivyoShopMetafields || {};
3331
3332    
3333      
3334      
3335    
3336      
3337      
3338        
3339        window.rivyoShopMetafields["floating_tab_settings"] = {"enabled":"1","tab_style":"text","tab_side":"right","tab_offset_left":"13","tab_offset_right":"13","tab_text":"Reviews","tab_text_direction":"down","tab_offset_y":"50","tab_bg":"#0f766e","tab_text_color":"#ffffff","tab_border_radius":"10","popup_width":"800","popup_height":"600","popup_bg":"#E5E5E5","popup_border_radius":"12","popup_heading":"Let customers speak for us","max_reviews":"6","hide_on_mobile":"0","display_on_home":"1","display_on_product":"1","display_on_cart":"1","display_on_other":"1"};
3340      
3341    
3342      
3343      
3344        
3345        window.rivyoShopMetafields["setting"] = {"rating_icon":"\u003csvg fill=\"#ffcf47\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" id=\"Capa_1\" x=\"0px\" y=\"0px\" width=\"20px\" height=\"20px\" viewBox=\"0 0 475.075 475.075\" style=\"enable-background:new 0 0 475.075 475.075;\" xml:space=\"preserve\"\u003e\u003cg\u003e\u003cpath d=\"M475.075,186.573c0-7.043-5.328-11.42-15.992-13.135L315.766,152.6L251.529,22.694c-3.614-7.804-8.281-11.704-13.99-11.704   c-5.708,0-10.372,3.9-13.989,11.704L159.31,152.6L15.986,173.438C5.33,175.153,0,179.53,0,186.573c0,3.999,2.38,8.567,7.139,13.706   l103.924,101.068L86.51,444.096c-0.381,2.666-0.57,4.575-0.57,5.712c0,3.997,0.998,7.374,2.996,10.136   c1.997,2.766,4.993,4.142,8.992,4.142c3.428,0,7.233-1.137,11.42-3.423l128.188-67.386l128.197,67.386   c4.004,2.286,7.81,3.423,11.416,3.423c3.819,0,6.715-1.376,8.713-4.142c1.992-2.758,2.991-6.139,2.991-10.136   c0-2.471-0.096-4.374-0.287-5.712l-24.555-142.749l103.637-101.068C472.604,195.33,475.075,190.76,475.075,186.573z\"\/\u003e\u003c\/g\u003e\u003c\/svg\u003e","rating_color":"FFCF47","rating_size":"18","hide_empty_review":0,"frontend_js_version":2};
3346      
3347    
3348
3349    
3350    delete window.rivyoShopMetafields.product_badge_text;
3351    delete window.rivyoShopMetafields.number_of_stars;
3352    delete window.rivyoShopMetafields.average_review_label;
3353
3354    
3355    
3356      if (!window.rivyoShopMetafields.setting) {
3357        window.rivyoShopMetafields['setting'] = {"rating_icon":"\u003csvg fill=\"#ffcf47\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" id=\"Capa_1\" x=\"0px\" y=\"0px\" width=\"20px\" height=\"20px\" viewBox=\"0 0 475.075 475.075\" style=\"enable-background:new 0 0 475.075 475.075;\" xml:space=\"preserve\"\u003e\u003cg\u003e\u003cpath d=\"M475.075,186.573c0-7.043-5.328-11.42-15.992-13.135L315.766,152.6L251.529,22.694c-3.614-7.804-8.281-11.704-13.99-11.704   c-5.708,0-10.372,3.9-13.989,11.704L159.31,152.6L15.986,173.438C5.33,175.153,0,179.53,0,186.573c0,3.999,2.38,8.567,7.139,13.706   l103.924,101.068L86.51,444.096c-0.381,2.666-0.57,4.575-0.57,5.712c0,3.997,0.998,7.374,2.996,10.136   c1.997,2.766,4.993,4.142,8.992,4.142c3.428,0,7.233-1.137,11.42-3.423l128.188-67.386l128.197,67.386   c4.004,2.286,7.81,3.423,11.416,3.423c3.819,0,6.715-1.376,8.713-4.142c1.992-2.758,2.991-6.139,2.991-10.136   c0-2.471-0.096-4.374-0.287-5.712l-24.555-142.749l103.637-101.068C472.604,195.33,475.075,190.76,475.075,186.573z\"\/\u003e\u003c\/g\u003e\u003c\/svg\u003e","rating_color":"FFCF47","rating_size":"18","hide_empty_review":0,"frontend_js_version":2};
3358      }
3359    
3360    
3361      if (!window.rivyoShopMetafields.floating_tab_settings) {
3362        window.rivyoShopMetafields['floating_tab_settings'] = {"enabled":"1","tab_style":"text","tab_side":"right","tab_offset_left":"13","tab_offset_right":"13","tab_text":"Reviews","tab_text_direction":"down","tab_offset_y":"50","tab_bg":"#0f766e","tab_text_color":"#ffffff","tab_border_radius":"10","popup_width":"800","popup_height":"600","popup_bg":"#E5E5E5","popup_border_radius":"12","popup_heading":"Let customers speak for us","max_reviews":"6","hide_on_mobile":"0","display_on_home":"1","display_on_product":"1","display_on_cart":"1","display_on_other":"1"};
3363      }
3364    
3365    
3366
3367    
3368    window.rivyoShopMetafields.productsArray = window.rivyoShopMetafields.productsArray || [];
3369
3370    
3371
3372    
3373
3374    
3375
3376    
3377
3378    window.rivyoCollectionProduct = window.rivyoShopMetafields.productsArray;
3379
3380    window.getRivyoShopMetafields = function() {
3381      return window.rivyoShopMetafields;
3382    };
3383
3384    window.getRivyoMetafields = function() {
3385      return window.rivyoShopMetafields;
3386    };
3387  })();
3388</script>
3388
3389<!-- END app snippet -->
3390
3391<meta id="th_rivyo_shop_url" content="fdibyh-ke.myshopify.com">
3392<meta id="wc_rivyo_shop_url" content="fdibyh-ke.myshopify.com">
3393<meta id="th_rivyo_shop_money" content="${{amount}}"><style>
3394  .rivyoReviewWidget .rivyoReviewRatingIcon svg{
3395    width:18px;
3396    height:18px;
3397  }
3398  .rivyoReviewWidget .rivyoReviewRatingIcon>svg,
3399  .rivyoReviewWidget .rivyoReviewRatingIcon>.rivyoReviewFill>svg{
3400    fill:#FFCF47;
3401    width:18px;
3402    height:18px;
3403  }
3404  .rivyoReviewWidget {
3405    position: relative;
3406    display: flex !important;
3407    flex-wrap: wrap;
3408    line-height: 0;
3409    gap: 10px;
3410    align-items: center;
3411    padding: 5px 0;
3412    cursor: pointer;
3413  }
3414  .rivyoReviewWidget .rivyoReviewRatingIcon {
3415    position: relative;
3416    display: inline-block;
3417  }
3418  .rivyoReviewWidget span.rivyoReviewEmpty svg path {
3419    fill: #DEDEDE;
3420  }
3421  .rivyoReviewWidget span.rivyoReviewFill {
3422    position: absolute;
3423    top: 0;
3424    width: 100%;
3425    overflow: hidden;
3426    left:0;
3427  }
3428</style>
3429
3430
3431
3432
3433
3434  
3435  <link
3436    href="https://cdn.shopify.com/extensions/01a0cd9c-f648-7db4-a32b-210108a28b86/rivyo-product-review-433/assets/rivyo-style.css?shop=fdibyh-ke.myshopify.com&v=2"
3437    rel="stylesheet"
3438    type="text/css"
3439    media="all"
3440  >
3441  <link
3442    href="https://cdn.shopify.com/extensions/01a0cd9c-f648-7db4-a32b-210108a28b86/rivyo-product-review-433/assets/wc-rivyo-swiper.css?shop=fdibyh-ke.myshopify.com&v=2"
3443    rel="stylesheet"
3444    type="text/css"
3445    media="all"
3446  >
3447  
3447<script
3448    src="https://cdn.shopify.com/extensions/01a0cd9c-f648-7db4-a32b-210108a28b86/rivyo-product-review-433/assets/rivyo-script.js?shop=fdibyh-ke.myshopify.com&v=2"
3449    type="text/javascript"
3450    defer
3451  ></script>
3451
3452  
3452<script
3453    src="https://cdn.shopify.com/extensions/01a0cd9c-f648-7db4-a32b-210108a28b86/rivyo-product-review-433/assets/wc-star-autosetup.js?shop=fdibyh-ke.myshopify.com&v=2"
3454    type="text/javascript"
3455    defer
3456  ></script>
3456
3457  
3458  
3459  
3460  <style id="wcRivyoStyle">
3461    
3462  </style>
3463  
3463<script>
3464    const rivyoCustomerDetails = {
3465      name: '',
3466      email: '',
3467    };
3468  </script>
3468
3469  
3469<script>
3470    (function () {
3471      var meta = window.rivyoShopMetafields;
3472      var arr = meta && Array.isArray(meta.productsArray) ? meta.productsArray : [];
3473      if (!Array.isArray(window.rivyoCollectionProduct) || window.rivyoCollectionProduct.length === 0) {
3474        window.rivyoCollectionProduct = arr;
3475      }
3476    })();
3477  </script>
3477
3478
3479
3480<div is="th-rivyo-embed-code" data-frontend_js_version="2" style="display:none;"></div>
3481
3482
3483</div><div id="shopify-block-AZFd6aGFnS21FS1hVa__13768625480086291342" class="shopify-block shopify-app-block">
3483<script>
3484  window['ShopifyForms'] = {
3485    ...window['ShopifyForms'],
3486    currentPageType: "cart"
3487  };
3488</script>
3488
3489
3490
3491</div><div id="shopify-block-AU3RpOHNzMElZU0pJQ__6143736321357441667" class="shopify-block shopify-app-block">
3492<script src="//code.tidio.co/h4oosap1qpopnfbp5dgtz1inqyfojxne.js?extensionVersion=1.4.1" async></script>
3492
3493
3494    <!-- BEGIN app snippet: visitor-identity-verification -->
3495
3496
3497
3498
3499<!-- END app snippet -->
3500
3501</div>
3501<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3501
3502</body>
3503</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.