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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=300 300w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=400 400w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=500 500w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=600 600w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=800 800w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=300 300w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=400 400w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=500 500w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=600 600w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=800 800w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=300 300w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=400 400w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=500 500w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=600 600w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=800 800w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&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&width=120" alt="TCL" srcset="//tclhomesecurity.com/cdn/shop/files/logo.avif?v=1778729853&width=120 120w, //tclhomesecurity.com/cdn/shop/files/logo.avif?v=1778729853&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&width=2147" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB_9ce98bef-a077-4626-bde8-e1000313aeb8.png?v=1742805581&width=120 120w, //tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB_9ce98bef-a077-4626-bde8-e1000313aeb8.png?v=1742805581&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-Matter-Smart-Lock-header.webp?v=1785741115&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Pro-header_84f6bd9c-3f2e-4559-b8db-420d6ac6a930.webp?v=1785741686&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-Pro-header_47c4e942-a9e9-4b21-b014-29999b914034.webp?v=1785741892&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2L-Header_fdfad751-4674-4d1f-a816-4e63e6b26e76.webp?v=1785742411&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-Plus-header_13a58ca4-592a-4db2-8e53-140b7f4206af.webp?v=1785742940&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D1-header_00b44d1f-7886-4d8a-ba69-d6bff11cd660.webp?v=1785743247&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-K1-header_817f61fc-49b3-4727-abfc-f3e098f1c3b4.webp?v=1785743486&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-D2-header_ce773314-b83e-4abf-be8a-97579bfc7e30.webp?v=1785743770&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=300 300w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=400 400w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=500 500w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=600 600w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&width=800 800w, //tclhomesecurity.com/cdn/shop/files/Door-Handle-header_832a1338-b8c8-47ec-a13d-f5aaa67e263e.webp?v=1785743887&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=300 300w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=400 400w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=500 500w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=600 600w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&width=800 800w, //tclhomesecurity.com/cdn/shop/files/FOB-Card-Header_2a361639-3c07-48ac-81e9-1bc0343d2c69.webp?v=1785744001&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=300 300w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=400 400w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=500 500w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=600 600w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&width=800 800w, //tclhomesecurity.com/cdn/shop/files/Extra-Battery.webp?v=1785744165&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-K11D-Ultra-Smart-lock.webp?v=1786352002&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-S60-Smart-safe.webp?v=1786412241&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&width=200 200w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=400 400w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=500 500w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=600 600w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&width=800 800w, //tclhomesecurity.com/cdn/shop/files/TCL-S30-Smart-safe.webp?v=1786412241&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&width=2147" alt="" srcset="//tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB.png?v=1741248634&width=300 300w, //tclhomesecurity.com/cdn/shop/files/TCL_-_LOGO-RGB.png?v=1741248634&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&utm_medium=shopify&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.