{"title":"Productos Lafaer y Umino","description":"","products":[{"product_id":"umino-adaptor-kit","title":"Umino Kit de cables y adaptadores de carga USB","description":"\u003carticle\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eContar con las herramientas adecuadas para mantener la alimentación y la conexión es esencial. \u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan data-type=\"text\"\u003ePresentamos Umino Multi USB Charging Adaptor Cable Kit, una solución completa diseñada para mantener sus dispositivos cargados y listos incluso en las situaciones más inesperadas. Este kit versátil combina 7 piezas esenciales en un diseño compacto y práctico para viajar, para que siempre esté preparado para emergencias y circunstancias imprevistas.\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003carticle\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eAdaptabilidad todo en uno\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: Con Umino Multi USB Charging Adaptor Cable Kit, nada le tomará por sorpresa. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eDisfruta de la flexibilidad de 7 adaptadores en 1, con conexiones Type-C, Lightning y USB, para una amplia gama de dispositivos y para mantenerse conectado en cualquier situación.\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eCarga preparada para emergencias\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: Cuando cada segundo cuenta, Umino Multi USB Charging Adaptor Cable Kit está ahí para proporcionar la energía que necesitas. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eDiseñado para funcionar con una amplia gama de cargadores y fuentes de alimentación, este kit te permite cargar tus dispositivos de forma rápida y fiable, incluso en plena emergencia.\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eAlmacenamiento para dos tarjetas\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: En plena emergencia, tener fácil acceso a los artículos esenciales puede marcar la diferencia. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eUmino Multi USB Charging Adaptor Cable Kit cuenta con ranuras específicas para tarjetas nano SIM y microSD, lo que te permite tener a mano opciones de almacenamiento de respaldo y conectividad internacional.\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eEl kit permite guardar y acceder a dos tarjetas simultáneamente, para que esté preparado para cualquier eventualidad.\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eTenga en cuenta que las tarjetas nano SIM y microSD mostradas en la imagen son solo ilustrativas y \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eno se incluyen\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e con este producto.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eDiseño portátil\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: Fabricado con\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e materiales ABS duraderos,\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e Umino Multi USB Charging Adaptor Cable Kit está diseñado para soportar las exigencias de cualquier situación. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eSu tamaño compacto y construcción ligera lo convierten en un complemento indispensable para tu kit de preparación para emergencias.\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eDeberías comprar Umino Multi USB Charging Adaptor Cable Kit si tú eres:\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eUna persona que viaja con frecuencia\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e que valora poder cargar y sincronizar dispositivos rápidamente durante \u003c\/span\u003e\u003cspan data-type=\"text\"\u003ecortes de electricidad inesperados\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e o \u003c\/span\u003e\u003cspan data-type=\"text\"\u003einterrupciones de viaje\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eUn nómada digital\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e o \u003c\/span\u003e\u003cspan data-type=\"text\"\u003etrabajador remoto\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e que necesita \u003c\/span\u003e\u003cspan data-type=\"text\"\u003euna transferencia de datos eficiente\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e y \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eUna persona consciente de la seguridad que comprende la importancia de estar preparada para \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eemergencias y circunstancias inesperadas\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eAlguien que aprecia la \u003c\/span\u003e\u003cspan data-type=\"text\"\u003ecomodidad\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e de disponer de adaptadores esenciales y soluciones de almacenamiento en un\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e solo paquete compacto\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003e*Umino Multi USB Charging Adaptor Cable Kit incluye una garantía de 12 meses.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/article\u003e\n","brand":"GL.iNet","offers":[{"title":"Almacén de la Unión Europea","offer_id":45442083881143,"sku":"UM-Storage Box-EU","price":9.9,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0711\/7733\/9063\/files\/umino---cablekit.png?v=1774447428"},{"product_id":"umino-30w-pd-charger","title":"Umino Cargador PD de 30W","description":"\u003carticle\u003e\n\u003ch2\u003e\u003cspan data-type=\"text\"\u003eUmino 30W PD Charger: energía con un toque de nostalgia\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eEste cargador rápido de 30W combina una estética sencilla y moderna con un guiño al diseño de los videojuegos clásicos. Su diseño compacto y enchufe plegable lo hacen perfecto para viajar: fíjelo fácilmente a tu bolso o llavero. El cable Type-C de 1m incluido ofrece flexibilidad y lo convierte en una solución de carga práctica para dispositivos como teléfonos inteligentes y consolas portátiles.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCarga rápida con estilo: Con capacidad de carga rápida de 30W y un diseño compacto, este cargador combina rapidez y comodidad.\u003c\/li\u003e\n\u003cli\u003eListo para emergencias durante sus desplazamientos: El cable de 20cm incluido también sirve como cordón o llavero, lo que permite colgarlo fácilmente de una bolsa de viaje para acceder a él rápidamente en caso de emergencia.\u003c\/li\u003e\n\u003cli\u003eConectividad flexible: Incluye un cable Type-C adicional de 1m para un mayor alcance y la libertad de cargar desde una distancia cómoda.\u003c\/li\u003e\n\u003cli\u003eCompacto y práctico: Tu enchufe plegable y diseño portátil lo hacen perfecto para viajar o mantener tu espacio ordenado.\u003c\/li\u003e\n\u003cli\u003eCompatibilidad versátil: Compatible con una amplia gama de dispositivos para que puedas cargar distintos aparatos de forma sencilla y eficiente.\u003c\/li\u003e\n\u003cli\u003eEncanto retro y tecnología moderna: Diseñado para parecerse a una consola retro, es un guiño nostálgico al pasado con funciones de vanguardia.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eDeberías comprarlo si tú eres\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eUna persona que viaja con frecuencia:\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e Su tamaño compacto y enchufe plegable hacen que este cargador sea ideal para llevarlo en un bolso o una maleta sin ocupar mucho espacio. El cable corto incluido, que puede utilizarse como cordón, lo hace aún más práctico para viajar.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eUn aficionado a los videojuegos retro: \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eSi era aficionado a Game Boy, este cargador añadirá un toque de diversión nostálgica a tu vida. Su diseño combina a la perfección la comodidad moderna y la estética de los videojuegos clásicos. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan data-type=\"text\"\u003eAlguien que valora tanto el estilo como la funcionalidad:\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e Si deseas un cargador potente (carga rápida de 30W) y visualmente atractivo, este cargador combina tecnología avanzada con un diseño retro único.\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003e\u003cstrong\u003e\u003cb\u003e*\u003c\/b\u003e\u003c\/strong\u003eUmino 30W PD Charger incluye una garantía de 18 meses\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/article\u003e\n","brand":"GL.iNet","offers":[{"title":"Almacén de China","offer_id":46901780644023,"sku":"UM-30W PD Power-GL","price":19.9,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0711\/7733\/9063\/files\/umino---30w-retro.png?v=1774446598"},{"product_id":"umino-100w-4-port-gan-fast-charger","title":"Umino Cargador rápido GaN de 100W con 4 puertos","description":"\u003carticle\u003e\n\u003ch3\u003e\u003cspan data-type=\"text\"\u003ePotencia sin esfuerzo para cada dispositivo:\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cbr data-path=\"0,1\"\u003e\u003cspan data-type=\"text\"\u003eEl cargador Umino 100W GaN ofrece una carga potente y eficiente en un diseño excepcionalmente compacto, ideal para el estilo de vida moderno en movimiento. Este versátil cargador cuenta con cuatro puertos, tres USB-C y un USB-A, que garantizan una compatibilidad fluida con una amplia gama de dispositivos, desde teléfonos inteligentes y tabletas hasta portátiles y mucho más.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eDisfruta de un tamaño más reducido, velocidades de carga más rápidas y una menor generación de calor gracias a la tecnología GaN, en comparación con los cargadores tradicionales. Tanto si es un profesional ocupado como si viajas con frecuencia o es un entusiasta de la tecnología, el cargador Umino 100W GaN es la solución definitiva para todas tus necesidades de carga.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003carticle\u003e\n\u003ch3\u003e\u003cspan data-type=\"text\"\u003eCaracterísticas principales:\u003c\/span\u003e\u003c\/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eCarga ultrarrápida USB-C de 100W\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,0,0,1\"\u003e\u003cspan data-type=\"text\"\u003eCarga por completo un dispositivo de alto rendimiento, como un portátil de 13-inch, en menos de una hora con un solo puerto USB-C, ideal para profesionales que se desplazan o trabajadores remotos que necesitan rapidez y eficiencia.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eUn cargador, cuatro dispositivos\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,1,0,1\"\u003e\u003cspan data-type=\"text\"\u003eCon \u003c\/span\u003e\u003cspan data-type=\"text\"\u003e\u003cstrong\u003etres puertos USB-C\u003c\/strong\u003e\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e y \u003c\/span\u003e\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eun USB-A\u003c\/span\u003e\u003c\/strong\u003e\u003cspan data-type=\"text\"\u003e, este cargador compacto ofrece carga de alta velocidad para todos tus dispositivos cotidianos, desde teléfonos y tabletas hasta portátiles y accesorios, al mismo tiempo.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eTecnología GaN\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,2,0,1\"\u003e\u003cspan data-type=\"text\"\u003eFabricado con componentes de nitruro de galio (GaN), funciona a menor temperatura, carga más rápido y desperdicia menos energía que los cargadores tradicionales de silicio. Esto permite un tamaño más compacto, menos calor y una mayor eficiencia energética, ideal para los estilos de vida modernos que requieren mucha energía.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eAmplia \u003c\/span\u003e\u003cspan data-type=\"text\"\u003ecompatibilidad\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e \u003c\/span\u003e\u003cspan data-type=\"text\"\u003econ dispositivos\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,3,0,1\"\u003e\u003cspan data-type=\"text\"\u003eCompatible con una amplia gama de dispositivos, incluidos portátiles, tabletas, teléfonos inteligentes y muchos más, gracias a la compatibilidad con los principales protocolos de carga rápida, como Power Delivery (PD) y Quick Charge (QC), para una carga rápida y eficiente de todos tus dispositivos.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eDiseño listo para viajar con adaptadores internacionales\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,4,0,1\"\u003e\u003cspan data-type=\"text\"\u003eDiseñado para la vida en movimiento, su enchufe plegable y sus adaptadores intercambiables EU, US y UK convierten este cargador en el compañero perfecto para viajes internacionales. Compacto, versátil y siempre listo: ya no tendrá que llevar varios adaptadores.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eOrdene tu escritorio. Dé energía a tu mundo.\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,5,0,1\"\u003e\u003cspan data-type=\"text\"\u003ePrescinda de varios adaptadores: este potente cargador de 4 puertos carga todo en una sola unidad elegante, para mantener sus dispositivos organizados y con energía, con menos desorden y más libertad.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e \u003cmeta charset=\"UTF-8\"\u003e\u003c\/p\u003e\n\u003carticle\u003e\n\u003ch3 style=\"text-align: center;\"\u003e\u003cspan data-type=\"text\"\u003eCompatibilidad universal (lista parcial)\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003carticle\u003e\n\u003ctable style=\"width: 100.027%;\" height=\"684\"\u003e\n\u003ccolgroup\u003e \u003ccol style=\"width: 35.368%;\" width=\"197\"\u003e \u003ccol style=\"width: 91.0233%;\" width=\"507\"\u003e \u003c\/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con iPhone\/iPad\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eiPhone 16,16 Plus, 16 Pro, 16 Pro Max,15,15 Plus,15 Pro,15 Pro Max, iPhone 14, 14 Mini, 14 Pro, 14 Pro Max, 13, 13 Mini, 13 Pro, 13 Pro Max, 12, 12 Mini, 12 Pro, 12 Pro Max, 11 Pro, 11 Pro Max, SE 2020, XS, XS Max, XR, X, 8, 8 Plus, 6s, 5s, iPad Pro 2020\/ 2018, AirPods Pro, MagSafe, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con Galaxy\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eGalaxy S24\/ S24+\/ S24 Ultra\/ S23 \/ S23 Ultra \/ S22 \/ S22 Ultra \/ S21+ \/ S21 \/ S20 FE \/ S10 \/ S8 \/ Note 20 \/ Note 10 \/ Note 9 \/ A53 \/ A12 \/ A21s, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con Pixel\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003ePixel 9\/8\/7\/ 6 Pro \/ 6 \/ 5 \/ 5a \/ 4 \/ 4a \/ 4XL \/ 3 \/ 3XL \/ 2 \/ 2XL \/ XL, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con Mi\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eRedmi Note 11 pro \/ 11 \/ 10 Pro \/ 10 \/ 9 Pro \/ 9 \/ MI 11 Pro \/ Mi 11 \/ Mi 10 \/ Mi 9 \/ Mi 8, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con Moto\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eMoto G71 \/ G60 \/ G51 \/ G50 \/ G41 \/ G31 \/ G30 \/ G20 \/ G10 \/ G9, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con MacBook\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eMacBook Pro 16\" \/ 15\" \/ 13\", MacBook Air 2022 \/ 2020 \/ 2019 \/ 2018, MacBook 12\", etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con Dell\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eXPS 13, Inspiron 3793, Vostro 5391, Dell Latitude 5500; Dell Precision 3540\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con HP\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eHP ENVY 13 \/ 17 \/ X360, EliteBook x360 \/ 1030 \/ 1040, Spectre X360 15 \/ 13 \/ Folio 13, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con ASUS\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eASUS Zenbook S UX391 \/ Flip 13 UX362, Classic Series, Chromebook, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eCompatible con Lenovo\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd colspan=\"1\" rowspan=\"1\"\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eThinkPad X1 \/ T 490, Yoga C940 \/ C740, ideapad S940 \/ S740, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/article\u003e\n\u003cbr\u003e\n\n\u003c\/article\u003e\n\u003c\/article\u003e\n\u003c\/article\u003e\n","brand":"GL.iNet","offers":[{"title":"Almacén de Alemania","offer_id":46989732544695,"sku":"GL-100W PD Charger-EU-4PX","price":34.37,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0711\/7733\/9063\/files\/table_umino_100w-charger.png?v=1770885829"},{"product_id":"umino-um-d1","title":"Umino D1 Mini \u0026 D1 Pro | Cámaras de salpicadero de viaje para coches de alquiler","description":"\u003cstyle\u003e\n  .umino-d1-main-container .umino-d1-muted {\n    color: rgba(255, 255, 255, 0.7);\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs .nav-link {\n    position: relative;\n    color: inherit;\n    border-left: 3px solid #777;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs .nav-link.active::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: -3px;\n    width: 3px;\n    background-color: #17A2B8;\n    transform: scaleY(0);\n    transform-origin: center top;\n    animation: umino-d1-adas-progress 5s linear forwards paused;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs.is-running .nav-link.active::after {\n    animation-play-state: running;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs.is-resetting .nav-link.active::after {\n    animation-name: none;\n  }\n\n  @keyframes umino-d1-adas-progress {\n    from { transform: scaleY(0); }\n    to { transform: scaleY(1); }\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs .nav-link h3 {\n    color: inherit;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-description {\n    display: grid;\n    grid-template-rows: 0fr;\n    opacity: 0;\n    transition: grid-template-rows 0.3s ease, opacity 0.3s ease;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-description \u003e div {\n    min-height: 0;\n    overflow: hidden;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs .nav-link.active .umino-d1-adas-description {\n    grid-template-rows: 1fr;\n    opacity: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-section video {\n    aspect-ratio: 16 \/ 9;\n    object-fit: contain;\n  }\n\n  .umino-d1-main-container .umino-d1-crowdfunding-card {\n    background: linear-gradient(\n      150deg, \n      rgba(97, 127, 167, 0.7) 0%, \n      rgba(15, 35, 61, 0.7) 50%, \n      rgba(15, 35, 61, 0.7) 60%, \n      rgba(13, 23, 42, 1) 100%\n    );\n  }\n\n  .umino-d1-main-container .umino-d1-crowdfunding-card hr {\n    border-top-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-media video {\n    width: 100%;\n    height: clamp(260px, 60vw, 500px);\n    object-fit: cover;\n    border-radius: 15px;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-products {\n    position: relative;\n    display: block;\n    width: 280px;\n    max-width: 100%;\n    margin: 0 auto -8rem;\n    z-index: 2;\n  }\n\n  @media (min-width: 992px) {\n    .umino-d1-main-container .top-banner .row {\n      min-height: 68vh;\n    }\n\n    .umino-d1-main-container .top-banner .top-banner-copy {\n      padding-right: 2rem;\n    }\n\n    .umino-d1-main-container .top-banner .logo img:first-child {\n      margin-left: calc(54px * -28.6 \/ 172.1);\n    }\n\n    .umino-d1-main-container .top-banner .top-banner-media video {\n      position: absolute;\n      top: 0;\n      left: 15px;\n      width: calc(50vw + 100% \/ 7 - 15px);\n      height: 100%;\n      padding-left: 9.5rem;\n      border-radius: 0;\n      \/* border-radius: 999px 0 0; *\/\n    }\n\n    .umino-d1-main-container .top-banner .top-banner-products {\n      position: absolute;\n      top: 20%;\n      left: 0%;\n      width: 520px;\n      max-width: none;\n      margin: 0;\n    }\n  }\n\n  @media (min-width: 992px) and (max-width: 1199px) {\n    .umino-d1-main-container .top-banner .top-banner-products {\n      top: 26%;\n      width: 380px;\n    }\n  }\n\n  .umino-d1-main-container .top-banner .logo img {\n    width: auto;\n    height: 54px;\n    filter: brightness(0) invert(1);\n  }\n\n  .umino-d1-main-container .top-banner .logo-separator {\n    width: 1px;\n    height: 36px;\n    background-color: rgba(255, 255, 255, 0.4);\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-heading {\n    gap: 0.75rem 2rem;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-actions {\n    gap: 2rem;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-kickstarter {\n    width: auto;\n    height: 56px;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-heading \u003e *,\n  .umino-d1-main-container .top-banner .top-banner-actions \u003e * {\n    margin: 0;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-status {\n    font-size: 12px;\n    color: #1ed780;\n    letter-spacing: 0.08em;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-status::before {\n    content: \"\";\n    width: 0.375rem;\n    height: 0.375rem;\n    margin-right: 0.5rem;\n    border-radius: 50%;\n    background-color: currentColor;\n    flex-shrink: 0;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-actions .btn {\n    font-family: \"Poppins\", sans-serif;\n    text-transform: none;\n  }\n\n  .umino-d1-main-container .top-banner .text-link {\n    display: inline-flex;\n    align-items: center;\n    color: #fff;\n    font-family: \"Poppins\", sans-serif;\n    font-size: 14px;\n    font-weight: 600;\n  }\n\n  .umino-d1-main-container .top-banner .text-link i {\n    transition: transform 0.25s ease;\n  }\n\n  .umino-d1-main-container .top-banner .text-link:hover i {\n    transform: translateX(4px);\n  }\n\n  .umino-d1-main-container .top-banner #global-banner-container iframe {\n    visibility: hidden;\n  }\n\n  .umino-d1-main-container .top-banner #global-banner-container iframe[data-subscribe-styled] {\n    visibility: visible;\n  }\n\n  @media (max-width: 767px) {\n    .umino-d1-main-container .top-banner .logo img {\n      height: 36px;\n    }\n\n    .umino-d1-main-container .top-banner .logo-separator {\n      height: 20px;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row {\n    display: grid;\n    gap: 8px;\n    margin-bottom: 8px;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row-1 .umino-d1-highlight-card {\n    height: 440px;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row-1 {\n    grid-template-columns: minmax(0, 5fr) minmax(0, 2fr);\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row-2 {\n    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) minmax(0, 2fr);\n    margin-bottom: 0;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row-2 .umino-d1-highlight-card {\n    height: 320px;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card {\n    background-color: #000;\n    background-size: cover;\n    background-position: center;\n    background-repeat: no-repeat;\n    border-radius: 16px;\n    overflow: hidden;\n    position: relative;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--1 {\n    display: flex;\n    flex-direction: column;\n    justify-content: space-between;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--1 \u003e .umino-d1-highlight-card__video,\n  .umino-d1-main-container .umino-d1-highlight-card--5 \u003e .umino-d1-highlight-card__video {\n    position: absolute;\n    inset: 0;\n    z-index: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    pointer-events: none;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--5 \u003e .umino-d1-highlight-card__video {\n    object-position: bottom center;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card__badges {\n    display: flex;\n    justify-content: flex-end;\n    align-items: center;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card__badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 6px 12px;\n    border-radius: 999px;\n    font-weight: 500;\n    line-height: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--1 .umino-d1-highlight-card__badge--day {\n    position: absolute;\n    right: 1rem;\n    bottom: calc(50% + 1rem);\n    background: rgb(0, 0, 0, 0.75);\n    color: #fff;\n  }\n\n  @media (min-width: 992px) {\n    .umino-d1-main-container .umino-d1-highlight-card--1 .umino-d1-highlight-card__badge--day {\n      right: 1.5rem;\n      bottom: calc(50% + 1.5rem);\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card__badge--night {\n    background: rgb(255, 255, 255, 0.75);\n    color: #000;\n  }\n\n  @media (max-width: 576px) {\n    .umino-d1-main-container .umino-d1-highlight-card__badge {\n      padding: 5px 8px;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--2 {\n    background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_cars-and-road-trips.png\");\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--3 {\n    background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_wifi6.png\");\n    background-position: bottom center;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--4 {\n    background-image:\n      url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_travel-story.png\"),\n      linear-gradient(to bottom, #617FA7 0%, #0F233D 50%, #0F233D 60%, #04070D 100%);\n    background-size: auto 67%, 100% 100%;\n    background-position: center bottom, center bottom;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--1::before,\n  .umino-d1-main-container .umino-d1-highlight-card--2::before,\n  .umino-d1-main-container .umino-d1-highlight-card--5::before{\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    border-radius: inherit;\n    background: linear-gradient(to bottom,\n        rgba(0, 0, 0, 0.8) 0%,\n        transparent 36%);\n    pointer-events: none;\n    z-index: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card \u003e * {\n    position: relative;\n    z-index: 2;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card h3 {\n    font-size: 18px;\n  }\n\n  @media (min-width: 992px) {\n    .umino-d1-main-container .umino-d1-highlight-card h3 {\n      font-size: 20px;\n    }\n  }\n\n  @media (min-width: 1200px) {\n    .umino-d1-main-container .umino-d1-highlight-card h3 {\n      font-size: 24px;\n    }\n  }\n\n  @media (max-width: 1199px) {\n    .umino-d1-main-container .umino-d1-highlight-card--4 {\n      background-size: auto 60%, 100% 100%;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-grid-row-1 .umino-d1-highlight-card {\n      height: 320px;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-grid-row-2 .umino-d1-highlight-card {\n      height: 260px;\n    }\n  }\n\n  @media (max-width: 991px) {\n    .umino-d1-main-container .umino-d1-highlight-grid-row-1 .umino-d1-highlight-card {\n      height: 280px;\n    }\n    .umino-d1-main-container .umino-d1-highlight-grid-row-2 .umino-d1-highlight-card {\n      height: 240px;\n    }\n\n  }\n\n  @media (max-width: 767px) {\n    .umino-d1-main-container .umino-d1-highlight-grid {\n      display: grid;\n      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n      gap: 8px;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-grid-row {\n      display: contents;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--1 {\n      grid-column: 1 \/ -1;\n      order: 1;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--4 {\n      background-size: auto 67%, 100% 100%;\n      grid-column: 1 \/ -1;\n      order: 2;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--5 {\n      grid-column: 1 \/ -1;\n      order: 3;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--2 {\n      order: 4;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--3 {\n      order: 5;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-grid-row-1 .umino-d1-highlight-card,\n    .umino-d1-main-container .umino-d1-highlight-grid-row-2 .umino-d1-highlight-card {\n      height: 200px;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-spec-section {\n    background-color: #131313;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-card {\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.16);\n    border-radius: 1.25rem;\n    background-color: #181818;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-images,\n  .umino-d1-main-container .umino-d1-spec-products,\n  .umino-d1-main-container .umino-d1-spec-compare-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-images,\n  .umino-d1-main-container .umino-d1-spec-products {\n    justify-items: center;\n    text-align: center;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-images {\n    padding: 2rem 1.25rem 0;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-images img {\n    display: block;\n    width: auto;\n    max-width: calc(100% - 1rem);\n    height: 150px;\n    object-fit: contain;\n    object-position: center bottom;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-products {\n    padding-bottom: 1.5rem;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-section .umino-d1-spec-products h4 {\n    margin-bottom: 0;\n    font-weight: 700;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-compare-row {\n    border-top: 1px solid rgba(255, 255, 255, 0.08);\n    text-align: center;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-cell {\n    display: flex;\n    flex-direction: column;\n    padding: 1.65rem 1.25rem;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-cell i {\n    display: block;\n    width: 1.35rem;\n    margin: 0 auto 0.8rem;\n    color: rgba(255, 255, 255, 0.88);\n    font-size: 1.2rem;\n    line-height: 1;\n    text-align: center;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-value {\n    margin-bottom: 0.35rem;\n    font-weight: 700;\n    line-height: 1.35;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-name {\n    margin-bottom: 0;\n    color: rgba(255, 255, 255, 0.55);\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding: 1.05rem 1rem;\n    border: 0;\n    border-top: 1px solid rgba(255, 255, 255, 0.08);\n    background: transparent;\n    color: rgba(255, 255, 255, 0.78);\n    cursor: pointer;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle:hover,\n  .umino-d1-main-container .umino-d1-spec-toggle:focus {\n    color: #fff;\n    outline: none;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle:focus-visible {\n    outline: 1px solid rgba(255, 255, 255, 0.4);\n    outline-offset: -2px;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle i {\n    margin-left: 0.4rem;\n    transition: transform 0.2s ease;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle[aria-expanded=\"true\"] i {\n    transform: rotate(180deg);\n  }\n\n  .umino-d1-main-container .umino-d1-spec-shared h5 {\n    margin: 0;\n    padding: 1rem 1.5rem;\n    background-color: #333333;\n    border-top: 1px solid rgba(255, 255, 255, 0.12);\n    border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n    font-weight: 700;\n  }\n\n  @media (max-width: 991.98px) {\n    .umino-d1-main-container .umino-d1-spec-shared h5 {\n      padding: 1rem;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-spec-shared-row {\n    display: grid;\n    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n    gap: 1.5rem;\n    align-items: baseline;\n    padding: 0.95rem 1.5rem;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n  }\n\n  .umino-d1-main-container .umino-d1-spec-shared-row:last-child {\n    border-bottom: 0;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-shared-row span:first-child {\n    color: rgba(255, 255, 255, 0.62);\n  }\n\n  @media (max-width: 991.98px) {\n    .umino-d1-main-container .umino-d1-spec-images img {\n      height: 90px;\n    }\n\n    .umino-d1-main-container .umino-d1-spec-cell {\n      padding: 1.15rem 0.75rem;\n    }\n\n    .umino-d1-main-container .umino-d1-spec-shared-row {\n      gap: 0.75rem;\n      padding-right: 1rem;\n      padding-left: 1rem;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-video {\n    height: 200vh;\n    background-color: #020202;\n  }\n\n  .umino-d1-main-container .umino-d1-video-sticky {\n    position: sticky;\n    top: 0;\n    height: 100vh;\n    overflow: hidden;\n  }\n\n  .umino-d1-main-container .umino-d1-video-sticky video,\n  .umino-d1-main-container .umino-d1-video-mobile \u003e video {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n  }\n\n  .umino-d1-main-container .umino-d1-video-title {\n    position: absolute;\n    top: 15%;\n    left: 0;\n    right: 0;\n    z-index: 1;\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  .umino-d1-main-container .umino-d1-video-title h2 {\n    font-size: clamp(2.25rem, 4.5vw, 4rem);\n    line-height: 1.15;\n  }\n\n  .umino-d1-main-container .umino-d1-video-mobile {\n    position: relative;\n    height: 50vh;\n    overflow: hidden;\n    background-color: #020202;\n  }\n\n  @media (max-width: 576px) {\n    .umino-d1-main-container .umino-d1-video-mobile {\n      height: 40vh;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-video-mobile \u003e .container {\n    position: relative;\n    z-index: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-features {\n    position: relative;\n    height: 350vh;\n    height: 350svh;\n    background-color: #000;\n  }\n\n  .umino-d1-main-container .umino-d1-features-sticky {\n    position: sticky;\n    top: 0;\n    height: 100vh;\n    height: 100svh;\n    overflow: hidden;\n    background-color: #000;\n  }\n\n  .umino-d1-main-container .umino-d1-features-frame {\n    position: absolute;\n    inset: 0;\n    opacity: 0;\n    transform: scale(1.08);\n    transform-origin: center center;\n    will-change: opacity, transform;\n  }\n\n  .umino-d1-main-container .umino-d1-features-frame img {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: var(--feature-position-x, 50%) center;\n  }\n\n  .umino-d1-main-container .umino-d1-features-frame:first-child {\n    opacity: 1;\n    z-index: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-features-callout {\n    position: absolute;\n    z-index: 1;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    width: max-content;\n    gap: 0.75rem;\n    margin: 0;\n    color: #fff;\n    font-weight: 700;\n    white-space: nowrap;\n    transform: translateX(-50%);\n    pointer-events: none;\n  }\n\n  .umino-d1-main-container .umino-d1-features-callout-line {\n    position: relative;\n    left: var(--feature-line-offset, 0px);\n    width: 2px;\n    height: var(--feature-line-height, 4rem);\n    background: currentColor;\n    flex: none;\n    transform: scale(0);\n    transform-origin: center top;\n  }\n\n  .umino-d1-main-container .umino-d1-features-callout-title {\n    opacity: 0;\n    transform: translateY(24px);\n  }\n\n  @media (min-width: 992px) {\n    .umino-d1-main-container .umino-d1-features {\n      height: 350vh;\n    }\n\n    .umino-d1-main-container .umino-d1-features-sticky {\n      height: 100vh;\n    }\n\n    .umino-d1-main-container .umino-d1-features-frame img {\n      object-position: center;\n    }\n\n    .umino-d1-main-container .umino-d1-features-callout {\n      flex-direction: row;\n      justify-content: flex-start;\n      font-size: clamp(2.25rem, 4.5vw, 4rem);\n      line-height: 1.15;\n      transform: translateY(-50%);\n    }\n\n    .umino-d1-main-container .umino-d1-features-callout-line {\n      left: 0;\n      width: clamp(4.5rem, 8vw, 8.5rem);\n      height: 2px;\n      transform-origin: left center;\n    }\n  }\n \n\u003c\/style\u003e\n\u003cmain class=\"umino-d1-main-container\"\u003e\n  \u003c!-- Top Banner --\u003e\n  \u003csection class=\"top-banner overflow-hidden text-light\" style=\"background-color: #000;\" id=\"subscribe\"\u003e\n    \u003cdiv class=\"container py-4 py-lg-0\"\u003e\n      \u003cdiv class=\"row align-items-center\"\u003e\n        \u003cdiv class=\"top-banner-copy col-12 col-lg-5 py-4 text-center text-lg-left\"\u003e\n          \u003cdiv class=\"logo d-flex align-items-center justify-content-center justify-content-lg-start mb-4 mb-lg-5\"\u003e\n            \u003cimg class=\"mr-3\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino_new_logo.svg\"\n              alt=\"Logotipo de Umino\"\u003e\n            \u003cspan class=\"logo-separator mr-3\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \u003cimg src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/glinet_logo.svg\"\n              alt=\"Logotipo de GL.iNet\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"top-banner-heading d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start mb-3\"\u003e\n            \u003ch3\u003eUmino D1 Mini \u0026 Pro\u003c\/h3\u003e\n            \u003c!--\n            \u003cp class=\"top-banner-status d-inline-flex align-items-center font-weight-bold text-nowrap\"\u003eCOMING SOON ON KICKSTARTER\u003c\/p\u003e\n            --\u003e\n          \u003c\/div\u003e\n          \u003ch1 class=\"font-weight-bold mb-3\"\u003eCámaras de salpicadero de viaje diseñadas para coches de alquiler\u003c\/h1\u003e\n          \u003ch5 class=\"mb-0\" style=\"font-weight:400;\"\u003eEl coche es de alquiler. El viaje es tuyo.\u003c\/h5\u003e\n          \u003cdiv class=\"mt-4\"\u003e\n            \u003cdiv id=\"global-banner-container\" style=\"width: 100%; height: 50px;\"\u003e\u003c\/div\u003e\n            \u003cdiv id=\"zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU\" style=\"display: none;\"\u003e\u003c\/div\u003e\n            \u003cscript type=\"text\/javascript\"\u003e\n              (function () {\n                try {\n                  var f = document.createElement('iframe');\n                  var ifrmSrc = 'https:\/\/forms.zohopublic.com\/glinet\/form\/UMD1ProductNewsletterSignup\/formperma\/NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU?zf_rszfm=1\u0026zf_lang=es';\n\n                  try {\n                    if (typeof ZFAdvLead != 'undefined' \u0026\u0026 typeof zfutm_zfAdvLead != 'undefined') {\n                      for (var prmIdx = 0; prmIdx \u003c ZFAdvLead.utmPNameArr.length; prmIdx++) {\n                        var utmPm = ZFAdvLead.utmPNameArr[prmIdx];\n                        utmPm = (ZFAdvLead.isSameDomian \u0026\u0026 (ZFAdvLead.utmcustPNameArr.indexOf(utmPm) == -1))\n                          ? 'zf_' + utmPm\n                          : utmPm;\n                        var utmVal = zfutm_zfAdvLead.zfautm_gC_enc(ZFAdvLead.utmPNameArr[prmIdx]);\n\n                        if (typeof utmVal !== 'undefined' \u0026\u0026 utmVal != '') {\n                          ifrmSrc += (ifrmSrc.indexOf('?') \u003e 0 ? '\u0026' : '?') + utmPm + '=' + utmVal;\n                        }\n                      }\n                    }\n\n                    if (typeof ZFLead !== 'undefined' \u0026\u0026 typeof zfutm_zfLead !== 'undefined') {\n                      for (var prmIdx = 0; prmIdx \u003c ZFLead.utmPNameArr.length; prmIdx++) {\n                        var utmPm = ZFLead.utmPNameArr[prmIdx];\n                        var utmVal = zfutm_zfLead.zfutm_gC_enc(ZFLead.utmPNameArr[prmIdx]);\n\n                        if (typeof utmVal !== 'undefined' \u0026\u0026 utmVal != '') {\n                          ifrmSrc += (ifrmSrc.indexOf('?') \u003e 0 ? '\u0026' : '?') + utmPm + '=' + utmVal;\n                        }\n                      }\n                    }\n\n                    if (!new RegExp('[?\u0026]referrername=').test(ifrmSrc)) {\n                      var rfr = window.location.href;\n\n                      try {\n                        rfr = window.self !== window.top\n                          ? window.top.location.href\n                          : (\/^https?:\\\/\\\/[\\w.-]+\\.[a-zA-Z]{2,}\/i.test(rfr) ? rfr : '');\n                      } catch (e) { }\n\n                      if (rfr \u0026\u0026 rfr !== '') {\n                        if (rfr.length \u003e 1800) {\n                          var queryIndex = rfr.indexOf('?');\n\n                          if (queryIndex \u003e -1) {\n                            rfr = rfr.substring(0, queryIndex);\n                          }\n\n                          if (rfr.length \u003e 1800) {\n                            rfr = rfr.substring(0, 1800);\n                          }\n                        }\n\n                        ifrmSrc += (ifrmSrc.indexOf('?') \u003e 0 ? '\u0026' : '?')\n                          + 'referrername=' + encodeURIComponent(rfr);\n                      }\n                    }\n                  } catch (e) { }\n\n                  f.src = ifrmSrc;\n                  f.style.border = 'none';\n                  f.style.height = '220px';\n                  f.style.width = '100%';\n                  f.style.display = 'block';\n                  f.style.transition = 'all 0.5s ease';\n                  f.setAttribute('aria-label', 'UM-D1 Product Newsletter Signup');\n\n                  var d = document.getElementById('zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU');\n                  d.appendChild(f);\n\n                  window.addEventListener('message', function (event) {\n                    var evntData = event.data;\n\n                    if (evntData \u0026\u0026 evntData.constructor == String) {\n                      var zf_ifrm_data = evntData.split('|');\n\n                      if (zf_ifrm_data.length == 2 || zf_ifrm_data.length == 3) {\n                        var zf_perma = zf_ifrm_data[0];\n                        var zf_ifrm_ht_nw = (parseInt(zf_ifrm_data[1], 10) + 35) + 'px';\n                        var iframe = document\n                          .getElementById('zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU')\n                          .getElementsByTagName('iframe')[0];\n\n                        if (iframe.src.indexOf('formperma') \u003e 0 \u0026\u0026 iframe.src.indexOf(zf_perma) \u003e 0) {\n                          var prevIframeHeight = iframe.style.height;\n                          var zf_tout = false;\n\n                          if (zf_ifrm_data.length == 3) {\n                            iframe.scrollIntoView();\n                            zf_tout = true;\n                          }\n\n                          if (prevIframeHeight != zf_ifrm_ht_nw) {\n                            if (zf_tout) {\n                              setTimeout(function () {\n                                iframe.style.height = zf_ifrm_ht_nw;\n                              }, 500);\n                            } else {\n                              iframe.style.height = zf_ifrm_ht_nw;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }, false);\n                } catch (e) { }\n              })();\n            \u003c\/script\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"top-banner-actions d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start mt-4 mb-2\"\u003e\n            \u003cimg class=\"top-banner-kickstarter\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/logo_coming-soon-on-kickstarter.png\" alt=\"Próximamente en Kickstarter\"\u003e\n            \u003c!--\n            \u003ca class=\"text-link\" href=\"https:\/\/www.kickstarter.com\/projects\/glinet\/umino-d1-mini-and-pro\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eGet Notified on Kickstarter \u003ci class=\"fa-solid fa-arrow-right ml-2\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\u003c\/a\u003e\n            --\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"top-banner-media col-12 col-lg-7 align-self-lg-stretch pb-4 pb-lg-0 position-relative\"\u003e\n          \u003cimg class=\"top-banner-products\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_hero_banner_mini-and-pro.png\" alt=\"Cámaras de salpicadero Umino D1 Mini y D1 Pro\"\u003e\n          \u003cvideo class=\"d-block\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n            \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_hero_banner_video.mp4\" type=\"video\/mp4\"\u003e\n          \u003c\/video\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Why Crowdfunding --\u003e\n  \u003csection class=\"py-4 py-lg-5\" style=\"background-color: #131313\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"row justify-content-center text-light text-left\"\u003e\n        \u003cdiv class=\"col-12\"\u003e\n          \u003cdiv class=\"umino-d1-crowdfunding-card gl-rounded p-4 p-lg-5\"\u003e\n            \u003ch2 class=\"font-weight-bold\"\u003e¿Por qué financiación colectiva?\u003c\/h2\u003e\n            \u003cp\u003eUmino es una iniciativa interna de emprendimiento dedicada a hacer que la tecnología visual sea más accesible, portátil y práctica para quienes se desplazan. Con el respaldo de la amplia experiencia de GL.iNet en hardware, nuestro equipo opera de forma independiente con su propio presupuesto y responsabilidades financieras.\u003c\/p\u003e\n            \u003cp\u003eKickstarter nos permite validar la demanda del mercado, planificar nuestra primera producción según el interés real de los clientes y minimizar el exceso de inventario y los residuos.\u003c\/p\u003e\n            \u003cp class=\"mb-0\"\u003eEste enfoque nos permite llevar productos innovadores al mercado de forma responsable y sostenible, y dar a nuestros primeros patrocinadores la oportunidad de ayudar a definir el futuro de Umino.\u003c\/p\u003e\n            \u003chr class=\"mt-lg-5 my-4\"\u003e\n            \u003cdiv class=\"row align-items-center\"\u003e\n              \u003cdiv class=\"col-12 col-lg mb-3 mb-lg-0\"\u003e\n                \u003ch5 class=\"font-weight-bold mb-0\"\u003eCon un pase VIP, accede antes a la campaña de Kickstarter de Umino y disfruta de ventajas exclusivas y recompensas especiales.\u003c\/h5\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"col-12 col-lg-auto\"\u003e\n                \u003ca class=\"btn btn-light btn-round font-weight-bold\" href=\"\/es-es\/pages\/um-d1-vip\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eConseguir tu pase VIP\u003c\/a\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n \u003c!-- Highlights --\u003e\n  \u003csection class=\"py-4 py-lg-5 text-light\" style=\"background-color: #131313;\" id=\"highlight\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"umino-d1-highlight-grid\"\u003e\n        \u003cdiv class=\"umino-d1-highlight-grid-row umino-d1-highlight-grid-row-1\"\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--1 p-3 p-lg-4\"\u003e\n            \u003cvideo class=\"umino-d1-highlight-card__video\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n              \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_day-and-night.mp4\" type=\"video\/mp4\"\u003e\n            \u003c\/video\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eSony STARVIS 2 + filtro CPL \u003cbr class=\"d-none d-md-inline\"\u003eClaridad con cualquier luz\u003c\/h3\u003e\n            \u003cspan class=\"umino-d1-highlight-card__badge umino-d1-highlight-card__badge--day\"\u003e\n              \u003ci class=\"fa-solid fa-sun-bright\" aria-hidden=\"true\"\u003e\u003c\/i\u003e Día\n            \u003c\/span\u003e\n            \u003cdiv class=\"umino-d1-highlight-card__badges\"\u003e\n              \u003cspan class=\"umino-d1-highlight-card__badge umino-d1-highlight-card__badge--night\"\u003e\n                \u003ci class=\"fa-solid fa-moon-stars\" aria-hidden=\"true\"\u003e\u003c\/i\u003e Noche\n              \u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--2 p-3 p-lg-4\"\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eSoporte con ventosa. \u003cbr class=\"d-none d-md-inline\"\u003eNo deja residuos.\u003c\/h3\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"umino-d1-highlight-grid-row umino-d1-highlight-grid-row-2\"\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--3 p-3 p-lg-4\"\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eWi-Fi 6\u003c\/h3\u003e\n            \u003cp class=\"font-italic mb-0\"\u003e Transferencia a \u0026gt; 20 MB\/s\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--4 p-3 p-lg-4\"\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eConvierta cada trayecto en una historia de viaje\u003c\/h3\u003e\n            \u003cp class=\"font-italic mb-0\"\u003e*Disponible con la aplicación Umino Cam\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--5 p-3 p-lg-4\"\u003e\n            \u003cvideo class=\"umino-d1-highlight-card__video\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n              \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_chanllenging-light.mp4\" type=\"video\/mp4\"\u003e\n            \u003c\/video\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eDetalles equilibrados \u003cbr class=\"d-none d-md-inline\"\u003econ iluminación difícil\u003c\/h3\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n \u003c!-- Features --\u003e\n  \u003csection class=\"umino-d1-features\" aria-label=\"Funciones de Umino D1\"\u003e\n    \u003cdiv class=\"umino-d1-features-sticky\"\u003e\n      \u003cdiv class=\"umino-d1-features-frame\" style=\"--feature-position-x: 49%;\" data-lens-x=\"56.5\" data-lens-y=\"60\" data-mobile-lens-x=\"53.75\" data-mobile-lens-y=\"67\"\u003e\n        \u003cimg src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_features_01.png\" alt=\"Función de Umino D1 1\"\u003e\n        \u003ch3 class=\"umino-d1-features-callout\"\u003e\u003cspan class=\"umino-d1-features-callout-line\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003cspan class=\"umino-d1-features-callout-title\"\u003eFrontal 4K\u003c\/span\u003e\u003c\/h3\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"umino-d1-features-frame\" style=\"--feature-position-x: 46%;\" data-lens-x=\"53.5\" data-lens-y=\"49.5\" data-mobile-lens-x=\"51.75\" data-mobile-lens-y=\"53.5\"\u003e\n        \u003cimg src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_features_03.png\" alt=\"Función de Umino D1 3\"\u003e\n        \u003ch3 class=\"umino-d1-features-callout\"\u003e\u003cspan class=\"umino-d1-features-callout-line\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003cspan class=\"umino-d1-features-callout-title\"\u003eInterior 1080p\u003c\/span\u003e\u003c\/h3\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"umino-d1-features-frame\" style=\"--feature-position-x: 37%;\" data-lens-x=\"45.5\" data-lens-y=\"56.5\" data-mobile-lens-x=\"41.67\" data-mobile-lens-y=\"63.5\"\u003e\n        \u003cimg src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_features_02.png\" alt=\"Función de Umino D1 2\"\u003e\n        \u003ch3 class=\"umino-d1-features-callout\"\u003e\u003cspan class=\"umino-d1-features-callout-line\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003cspan class=\"umino-d1-features-callout-title\"\u003eFrontal 2K\u003c\/span\u003e\u003c\/h3\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003cscript\u003e\n    (function () {\n      var section = document.querySelector(\".umino-d1-features\");\n      if (!section) return;\n\n      var frames = Array.prototype.map.call(section.querySelectorAll(\".umino-d1-features-frame\"), function (frame) {\n        return {\n          element: frame,\n          img: frame.querySelector(\"img\"),\n          callout: frame.querySelector(\".umino-d1-features-callout\"),\n          line: frame.querySelector(\".umino-d1-features-callout-line\"),\n          title: frame.querySelector(\".umino-d1-features-callout-title\")\n        };\n      });\n      var desktopMq = window.matchMedia(\"(min-width: 992px)\");\n      var loading = false;\n\n      function placeCallouts() {\n        var boxW = section.clientWidth;\n        var boxH = section.querySelector(\".umino-d1-features-sticky\").clientHeight;\n        var isDesktop = desktopMq.matches;\n        var anchor = isDesktop ? \"data-lens-\" : \"data-mobile-lens-\";\n\n        for (var i = 0; i \u003c frames.length; i++) {\n          var frame = frames[i];\n          var img = frame.img;\n          if (!img.naturalWidth || !boxW) continue;\n\n          var cover = Math.max(boxW \/ img.naturalWidth, boxH \/ img.naturalHeight);\n          var width = img.naturalWidth * cover;\n          var height = img.naturalHeight * cover;\n          var positionX = isDesktop ? 0.5 : parseFloat(getComputedStyle(img).objectPosition) \/ 100;\n          var lensX = (boxW - width) * positionX + (parseFloat(frame.element.getAttribute(anchor + \"x\")) \/ 100) * width;\n          var lensY = (boxH - height) \/ 2 + (parseFloat(frame.element.getAttribute(anchor + \"y\")) \/ 100) * height;\n          var calloutX = lensX;\n\n          if (!isDesktop) {\n            \/\/ 按最大缩放 1.08 留出 16px 边距；文字避让边缘时，竖线仍对准镜头下沿。\n            var halfTitle = frame.title.offsetWidth \/ 2;\n            var minX = boxW \/ 2 + (16 - boxW \/ 2) \/ 1.08 + halfTitle;\n            var maxX = boxW \/ 2 + (boxW \/ 2 - 16) \/ 1.08 - halfTitle;\n            calloutX = Math.max(minX, Math.min(maxX, lensX));\n            var gap = parseFloat(getComputedStyle(frame.callout).rowGap);\n            var bottom = boxH \/ 2 + (boxH \/ 2 - 16) \/ 1.08;\n            var lineHeight = Math.max(0, Math.min(96, boxH * 0.12, bottom - lensY - gap - frame.title.offsetHeight));\n            frame.callout.style.setProperty(\"--feature-line-offset\", (lensX - calloutX) + \"px\");\n            frame.callout.style.setProperty(\"--feature-line-height\", lineHeight + \"px\");\n          }\n\n          frame.callout.style.left = calloutX + \"px\";\n          frame.callout.style.top = lensY + \"px\";\n        }\n      }\n\n      function loadScript(src, isReady) {\n        if (isReady()) return Promise.resolve();\n        return new Promise(function (resolve, reject) {\n          var script = document.querySelector('script[src=\"' + src + '\"]');\n          if (!script) {\n            script = document.createElement(\"script\");\n            script.src = src;\n            script.addEventListener(\"load\", resolve, { once: true });\n            script.addEventListener(\"error\", reject, { once: true });\n            document.head.appendChild(script);\n            return;\n          }\n\n          script.addEventListener(\"load\", resolve, { once: true });\n          script.addEventListener(\"error\", reject, { once: true });\n        });\n      }\n\n      function setupAnimation() {\n        var hold = 1;\n        var fade = 0.5;\n        ScrollTrigger.getAll().forEach(function (trigger) {\n          if (trigger.trigger !== section) return;\n          var animation = trigger.animation;\n          trigger.kill();\n          if (animation) animation.kill();\n        });\n        placeCallouts();\n        var timeline = gsap.timeline({\n          defaults: { ease: \"none\" },\n          scrollTrigger: {\n            trigger: section,\n            start: \"top top\",\n            end: \"bottom bottom\",\n            scrub: 0.5,\n            onRefreshInit: placeCallouts\n          }\n        });\n\n        frames.forEach(function (frame, index) {\n          var start = index * (hold + fade);\n          var enter = index === 0 ? 0 : start - fade;\n          var end = start + hold + (index \u003c frames.length - 1 ? fade : 0);\n          gsap.set(frame.element, { opacity: index === 0 ? 1 : 0, scale: 1.08, zIndex: index + 1 });\n          gsap.set(frame.line, { scale: 0 });\n          gsap.set(frame.title, { opacity: 0, y: 24 });\n\n          if (index \u003e 0) {\n            timeline.to(frame.element, { opacity: 1, duration: fade, ease: \"sine.inOut\" }, enter);\n            timeline.set(frames[index - 1].element, { opacity: 0 }, start);\n          }\n          timeline.to(frame.element, { scale: 1.02, duration: end - enter }, enter);\n          timeline.to(frame.line, { scale: 1, duration: 0.3, ease: \"power1.out\" }, start);\n          timeline.to(frame.title, { opacity: 1, y: 0, duration: 0.4, ease: \"power1.out\" }, start + 0.12);\n        });\n      }\n\n      function start() {\n        if (loading) return;\n        loading = true;\n        \/\/ 与 Video 使用相同 CDN 地址，复用已经加载或正在加载的脚本。\n        loadScript(\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.11.4\/gsap.min.js\", function () {\n          return !!window.gsap;\n        }).then(function () {\n          return loadScript(\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.11.4\/ScrollTrigger.min.js\", function () {\n            return !!window.ScrollTrigger;\n          });\n        }).then(function () {\n          gsap.registerPlugin(ScrollTrigger);\n          setupAnimation();\n        }).catch(function (error) {\n          loading = false;\n          console.warn(\"[Umino Features] Animation unavailable:\", error);\n        });\n      }\n\n      frames.forEach(function (frame) {\n        if (!frame.img.complete) frame.img.addEventListener(\"load\", placeCallouts, { once: true });\n      });\n      start();\n    })();\n  \u003c\/script\u003e\n\n \u003c!-- Cases --\u003e\n  \u003csection class=\"umino-d1-cases-section py-4 py-lg-5 text-light\" style=\"background-color: #000;\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"row align-items-center mb-5\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 pr-lg-5 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold\"\u003eNitidez en la que puedes confiar.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eCaptura más detalles con luz cambiante gracias a Sony STARVIS 2.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6\"\u003e\n          \u003cimg class=\"img-fluid gl-rounded w-100\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_clarity-elevated.png\" alt=\"Sensores de imagen Sony STARVIS 2 IMX678 e IMX675\"\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"row align-items-center mb-5\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 order-2 order-lg-1\"\u003e\n          \u003cvideo class=\"d-block gl-rounded w-100\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n            \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_see-the-road.mp4\" type=\"video\/mp4\"\u003e\n          \u003c\/video\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6 order-1 order-lg-2 pl-lg-5 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold\"\u003eVe la carretera, sin los reflejos.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eEl filtro CPL incluido reduce los reflejos del parabrisas para una imagen más limpia y definida.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"row align-items-center mb-5\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 pr-lg-5 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold\"\u003eDetalles en cada contraste.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eEl HDR ayuda a conservar los detalles en las luces intensas y las sombras profundas para ofrecer una imagen más equilibrada de la carretera.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6\"\u003e\n          \u003cvideo class=\"d-block gl-rounded w-100\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n            \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_hdr.mp4\" type=\"video\/mp4\"\u003e\n          \u003c\/video\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"row align-items-center\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 order-2 order-lg-1\"\u003e\n          \u003cvideo class=\"d-block gl-rounded w-100\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n            \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_day-and-night.mp4\" type=\"video\/mp4\"\u003e\n          \u003c\/video\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6 order-1 order-lg-2 pl-lg-5 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold mb-0\"\u003eImágenes nítidas. De día y de noche.\u003c\/h2\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n \u003c!-- Video \n \u003csection class=\"umino-d1-video d-none d-lg-block\"\u003e\n   \u003cdiv class=\"umino-d1-video-sticky\"\u003e\n     \u003cvideo playsinline=\"playsinline\" muted=\"muted\" preload=\"none\" aria-hidden=\"true\"\u003e\n       \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino_video.mp4\" type=\"video\/mp4\"\u003e\n     \u003c\/video\u003e\n     \u003cdiv class=\"umino-d1-video-title container text-center text-light\"\u003e\n       \u003ch2 class=\"font-weight-bold mb-0\"\u003eThe Car is Rented.\u003cbr\u003eThe Journey Is Yours.\u003c\/h2\u003e\n     \u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n --\u003e\n\n \u003c!-- Video mobile \n \u003csection class=\"umino-d1-video-mobile d-lg-none py-5 text-light\"\u003e\n   \u003cvideo playsinline=\"playsinline\" muted=\"muted\" preload=\"none\" aria-hidden=\"true\"\u003e\n     \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino_video.mp4\" type=\"video\/mp4\"\u003e\n   \u003c\/video\u003e\n   \u003cdiv class=\"container text-center\"\u003e\n     \u003ch2 class=\"font-weight-bold mb-0\"\u003eThe Car is Rented.\u003cbr\u003eThe Journey Is Yours.\u003c\/h2\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n \u003cscript\u003e\n   (function () {\n     var GSAP_URL = \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.11.4\/gsap.min.js\";\n     var ST_URL = \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.11.4\/ScrollTrigger.min.js\";\n     var desktopMq = window.matchMedia(\"(min-width: 992px)\");\n     var desktopTl;\n     var playGen = 0;\n     var unlocked = false;\n\n     function loadScript(src) {\n       return new Promise(function (resolve, reject) {\n         var existing = document.querySelector('script[src=\"' + src + '\"]');\n         if (existing) {\n           if ((src.indexOf(\"ScrollTrigger\") !== -1 \u0026\u0026 window.ScrollTrigger) ||\n               (src.indexOf(\"gsap.min.js\") !== -1 \u0026\u0026 window.gsap)) {\n             resolve();\n             return;\n           }\n           existing.addEventListener(\"load\", resolve);\n           existing.addEventListener(\"error\", reject);\n           return;\n         }\n         var script = document.createElement(\"script\");\n         script.src = src;\n         script.onload = resolve;\n         script.onerror = reject;\n         document.head.appendChild(script);\n       });\n     }\n\n     function ensureGsap() {\n       if (window.gsap \u0026\u0026 window.ScrollTrigger) return Promise.resolve();\n       var ready = window.gsap ? Promise.resolve() : loadScript(GSAP_URL);\n       return ready.then(function () {\n         return window.ScrollTrigger ? Promise.resolve() : loadScript(ST_URL);\n       });\n     }\n\n     function killDesktop(section) {\n       if (desktopTl) {\n         if (desktopTl.scrollTrigger) desktopTl.scrollTrigger.kill();\n         desktopTl.kill();\n         desktopTl = null;\n       }\n       if (section) section.style.height = \"\";\n     }\n\n     function freezeLastFrame(video, gen) {\n       if (!video) return;\n       video.pause();\n       video.muted = true;\n       function toEnd() {\n         if (gen !== playGen) return;\n         if (video.duration \u0026\u0026 isFinite(video.duration)) {\n           video.currentTime = Math.max(0, video.duration - 0.05);\n         }\n       }\n       if (video.readyState \u003e= 1) {\n         toEnd();\n       } else {\n         video.addEventListener(\"loadedmetadata\", toEnd, { once: true });\n       }\n     }\n\n     function unlockVideos(desktopVideo, mobileVideo) {\n       if (unlocked) return;\n       unlocked = true;\n       [desktopVideo, mobileVideo].forEach(function (video) {\n         if (!video) return;\n         var playPromise = video.play();\n         if (playPromise \u0026\u0026 playPromise.then) {\n           playPromise.then(function () {\n             video.pause();\n           }).catch(function () {});\n         }\n       });\n     }\n\n     function setupDesktop(section, video, gen) {\n       if (!section || !video) return;\n\n       video.pause();\n       video.muted = true;\n       gsap.registerPlugin(ScrollTrigger);\n\n       function bind() {\n         if (gen !== playGen || !desktopMq.matches || !video.duration || !isFinite(video.duration)) return;\n\n         var screens = Math.max(1, video.duration * 0.28);\n         var title = section.querySelector(\".umino-d1-video-title\");\n         section.style.height = (1 + screens) * 100 + \"vh\";\n\n         desktopTl = gsap.timeline({\n           scrollTrigger: {\n             trigger: section,\n             start: \"top 10%\",\n             end: \"bottom bottom\",\n             scrub: 0.4,\n             invalidateOnRefresh: true\n           }\n         });\n\n         desktopTl.to(video, {\n           currentTime: video.duration,\n           ease: \"none\",\n           duration: 1\n         }, 0);\n\n         if (title) {\n           desktopTl.fromTo(title, {\n             opacity: 0,\n             y: 32\n           }, {\n             opacity: 1,\n             y: 0,\n             ease: \"none\",\n             duration: 0.2\n           }, 0.55);\n         }\n\n         ScrollTrigger.refresh();\n       }\n\n       if (video.readyState \u003e= 1) {\n         bind();\n       } else {\n         video.addEventListener(\"loadedmetadata\", bind, { once: true });\n       }\n     }\n\n     function apply() {\n       var desktopSection = document.querySelector(\".umino-d1-main-container .umino-d1-video\");\n       var desktopVideo = desktopSection \u0026\u0026 desktopSection.querySelector(\"video\");\n       var mobileSection = document.querySelector(\".umino-d1-main-container .umino-d1-video-mobile\");\n       var mobileVideo = mobileSection \u0026\u0026 mobileSection.querySelector(\"video\");\n       var gen = ++playGen;\n\n       killDesktop(desktopSection);\n\n       if (desktopMq.matches) {\n         if (mobileVideo) {\n           mobileVideo.pause();\n           mobileVideo.preload = \"none\";\n         }\n         if (desktopVideo) {\n           desktopVideo.preload = \"auto\";\n           desktopVideo.load();\n         }\n         ensureGsap().then(function () {\n           if (gen !== playGen || !desktopMq.matches) return;\n           setupDesktop(desktopSection, desktopVideo, gen);\n         });\n       } else {\n         if (desktopVideo) {\n           desktopVideo.pause();\n           desktopVideo.preload = \"none\";\n         }\n         if (mobileVideo) {\n           mobileVideo.preload = \"auto\";\n           mobileVideo.load();\n           freezeLastFrame(mobileVideo, gen);\n         }\n       }\n     }\n\n     function start() {\n       var desktopVideo = document.querySelector(\".umino-d1-main-container .umino-d1-video video\");\n       var mobileVideo = document.querySelector(\".umino-d1-main-container .umino-d1-video-mobile video\");\n       function unlock() {\n         unlockVideos(desktopVideo, mobileVideo);\n       }\n       window.addEventListener(\"touchstart\", unlock, { once: true });\n       window.addEventListener(\"click\", unlock, { once: true });\n\n       apply();\n       if (desktopMq.addEventListener) {\n         desktopMq.addEventListener(\"change\", apply);\n       } else if (desktopMq.addListener) {\n         desktopMq.addListener(apply);\n       }\n     }\n\n     if (document.readyState === \"loading\") {\n       document.addEventListener(\"DOMContentLoaded\", start);\n     } else {\n       start();\n     }\n   })();\n \u003c\/script\u003e\n --\u003e\n\n \u003c!-- Travel Case --\u003e\n  \u003csection class=\"umino-d1-travel-section py-4 py-lg-5 text-light\" style=\"background-color: #000;\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"row align-items-center\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold\"\u003eViaje, todo bien organizado\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eEl estuche de viaje incluido reúne su cámara y todo lo esencial en un conjunto elegante y fácil de transportar.\u003c\/p\u003e\n         \n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6 pl-lg-5\"\u003e\n          \u003cimg class=\"img-fluid gl-rounded w-100\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_travel.jpg\" alt=\"Estuche de viaje para Umino D1\"\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n  \u003c!-- Driving Awareness \n  \u003csection class=\"umino-d1-adas-section py-4 py-lg-5 text-light\" style=\"background-color: #000;\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"text-center mb-5\"\u003e\n        \u003ch4 class=\"umino-d1-muted\" style=\"font-weight: 400\"\u003e*Umino D1 Pro Only\u003c\/h4\u003e\n        \u003ch2 class=\"font-weight-bold\"\u003eStay One Step Ahead on Unfamiliar Roads.\u003c\/h2\u003e\n        \u003cp class=\"umino-d1-muted mb-0\"\u003eD1 Pro adds an extra layer of driving awareness to help you stay alert\u003cbr class=\"d-none d-lg-inline\"\u003e and react with greater confidence on the road.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"row align-items-center\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 mb-4 mb-lg-0\"\u003e\n          \u003cdiv class=\"tab-content\"\u003e\n            \u003cdiv class=\"tab-pane active\" id=\"umino-d1-forward-collision\" role=\"tabpanel\" aria-labelledby=\"umino-d1-forward-collision-tab\"\u003e\n              \u003cvideo class=\"d-block gl-rounded w-100\" muted loop playsinline preload=\"none\" aria-label=\"Forward Collision Warning demonstration\"\u003e\n                \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/video_forward-collision-warning.mp4\" type=\"video\/mp4\"\u003e\n              \u003c\/video\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"tab-pane\" id=\"umino-d1-following-distance\" role=\"tabpanel\" aria-labelledby=\"umino-d1-following-distance-tab\"\u003e\n              \u003cvideo class=\"d-block gl-rounded w-100\" muted loop playsinline preload=\"none\" aria-label=\"Following Distance Warning demonstration\"\u003e\n                \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/video_following-distance-warning.mp4\" type=\"video\/mp4\"\u003e\n              \u003c\/video\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"tab-pane\" id=\"umino-d1-pedestrian-collision\" role=\"tabpanel\" aria-labelledby=\"umino-d1-pedestrian-collision-tab\"\u003e\n              \u003cvideo class=\"d-block gl-rounded w-100\" muted loop playsinline preload=\"none\" aria-label=\"Pedestrian Collision Warning demonstration\"\u003e\n                \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/video_pedestrian-collision-warning.mp4\" type=\"video\/mp4\"\u003e\n              \u003c\/video\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"tab-pane\" id=\"umino-d1-lane-departure\" role=\"tabpanel\" aria-labelledby=\"umino-d1-lane-departure-tab\"\u003e\n              \u003cvideo class=\"d-block gl-rounded w-100\" muted loop playsinline preload=\"none\" aria-label=\"Lane Departure Warning demonstration\"\u003e\n                \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/video_lane-departure-warning.mp4\" type=\"video\/mp4\"\u003e\n              \u003c\/video\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6 pl-lg-5\"\u003e\n          \u003cdiv class=\"umino-d1-adas-tabs nav flex-column\" role=\"tablist\" aria-label=\"Driving awareness features\" aria-orientation=\"vertical\"\u003e\n            \u003ca class=\"nav-link active py-2 pl-3 mb-3\" id=\"umino-d1-forward-collision-tab\" data-toggle=\"tab\" href=\"#umino-d1-forward-collision\" role=\"tab\" aria-controls=\"umino-d1-forward-collision\" aria-selected=\"true\"\u003e\n              \u003ch3 class=\"font-weight-bold mb-0\"\u003eForward Collision Warning\u003c\/h3\u003e\n              \u003cdiv class=\"umino-d1-adas-description\"\u003e\n                \u003cdiv\u003e\u003cp class=\"mt-2 mb-0\"\u003eAlerts the driver when the vehicle ahead decelerates suddenly, or the distance to that vehicle is closing too quickly.\u003c\/p\u003e\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/a\u003e\n            \u003ca class=\"nav-link py-2 pl-3 mb-3\" id=\"umino-d1-following-distance-tab\" data-toggle=\"tab\" href=\"#umino-d1-following-distance\" role=\"tab\" aria-controls=\"umino-d1-following-distance\" aria-selected=\"false\"\u003e\n              \u003ch3 class=\"font-weight-bold mb-0\"\u003eFollowing Distance Warning\u003c\/h3\u003e\n              \u003cdiv class=\"umino-d1-adas-description\"\u003e\n                \u003cdiv\u003e\u003cp class=\"mt-2 mb-0\"\u003eAlerts the driver when the following distance to the vehicle ahead is too short.\u003c\/p\u003e\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/a\u003e\n            \u003ca class=\"nav-link py-2 pl-3 mb-3\" id=\"umino-d1-pedestrian-collision-tab\" data-toggle=\"tab\" href=\"#umino-d1-pedestrian-collision\" role=\"tab\" aria-controls=\"umino-d1-pedestrian-collision\" aria-selected=\"false\"\u003e\n              \u003ch3 class=\"font-weight-bold mb-0\"\u003ePedestrian Collision Warning\u003c\/h3\u003e\n              \u003cdiv class=\"umino-d1-adas-description\"\u003e\n                \u003cdiv\u003e\u003cp class=\"mt-2 mb-0\"\u003eAlerts the driver when a pedestrian is detected in the vehicle’s path.\u003c\/p\u003e\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/a\u003e\n            \u003ca class=\"nav-link py-2 pl-3\" id=\"umino-d1-lane-departure-tab\" data-toggle=\"tab\" href=\"#umino-d1-lane-departure\" role=\"tab\" aria-controls=\"umino-d1-lane-departure\" aria-selected=\"false\"\u003e\n              \u003ch3 class=\"font-weight-bold mb-0\"\u003eLane Departure Warning\u003c\/h3\u003e\n              \u003cdiv class=\"umino-d1-adas-description\"\u003e\n                \u003cdiv\u003e\u003cp class=\"mt-2 mb-0\"\u003eAlerts the driver when the vehicle begins to drift out of its lane.\u003c\/p\u003e\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/a\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"small umino-d1-muted font-italic mt-4 mb-0\"\u003e*ADAS alerts are for assistance only and do not replace driver attention or judgment. Always follow local traffic laws and road conditions.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003cscript\u003e\n    (function () {\n      function initDrivingAwarenessTabs() {\n        var section = document.querySelector(\".umino-d1-adas-section\");\n        if (!section || !window.jQuery || !window.jQuery.fn.tab) return;\n        var tabs = section.querySelector(\".umino-d1-adas-tabs\");\n        var videos = section.querySelectorAll(\"video\");\n        var inView = false;\n\n        function updatePlayback() {\n          tabs.classList.toggle(\"is-running\", inView \u0026\u0026 !document.hidden);\n          videos.forEach(function (video) {\n            if (video.closest(\".tab-pane\").classList.contains(\"active\") \u0026\u0026 inView \u0026\u0026 !document.hidden) {\n              video.play().catch(function () {});\n            } else {\n              video.pause();\n            }\n          });\n        }\n\n        tabs.addEventListener(\"animationend\", function (event) {\n          if (event.animationName !== \"umino-d1-adas-progress\") return;\n          var active = tabs.querySelector(\".nav-link.active\");\n          if (event.target !== active) return;\n          window.jQuery(active.nextElementSibling || tabs.firstElementChild).tab(\"show\");\n        });\n\n        tabs.addEventListener(\"click\", function (event) {\n          if (!event.target.closest(\".nav-link\")) return;\n          tabs.classList.add(\"is-resetting\");\n          void tabs.offsetWidth;\n          tabs.classList.remove(\"is-resetting\");\n        });\n\n        window.jQuery(tabs).on(\"shown.bs.tab\", function (event) {\n          var video = section.querySelector(event.target.getAttribute(\"href\") + \" video\");\n          video.currentTime = 0;\n          updatePlayback();\n        });\n\n        new IntersectionObserver(function (entries) {\n          inView = entries[0].isIntersecting;\n          updatePlayback();\n        }).observe(section);\n        document.addEventListener(\"visibilitychange\", updatePlayback);\n      }\n\n      if (document.readyState === \"loading\") {\n        document.addEventListener(\"DOMContentLoaded\", initDrivingAwarenessTabs, { once: true });\n      } else {\n        initDrivingAwarenessTabs();\n      }\n    })();\n  \u003c\/script\u003e\n  --\u003e\n\n  \u003c!-- Specifications --\u003e\n  \u003csection class=\"umino-d1-spec-section py-5 text-light\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003ch2 class=\"font-weight-bold mb-4\"\u003eEspecificaciones\u003c\/h2\u003e\n      \u003cdiv class=\"umino-d1-spec-card\"\u003e\n        \u003cdiv class=\"umino-d1-spec-images\"\u003e\n          \u003cimg class=\"mb-3\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/table_d1-mini.png\" alt=\"Cámara de salpicadero Umino D1 Mini\"\u003e\n          \u003cimg class=\"mb-3\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/table_d1-pro.png\" alt=\"Cámara de salpicadero Umino D1 Pro\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"umino-d1-spec-products\"\u003e\n          \u003ch4\u003eUmino D1 Mini\u003c\/h4\u003e\n          \u003ch4\u003eUmino D1 Pro\u003c\/h4\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"umino-d1-spec-compare\"\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-microchip\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003eSony STARVIS 2\u003cbr\u003eIMX675 (5 MP)\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eSensor de imagen\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-microchip\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003eSony STARVIS 2\u003cbr\u003eIMX678 (8 MP)\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eSensor de imagen\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-video\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e2K @ 60 fps\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eResolución máxima\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-video\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003eFrontal 4K @ 30 fps\u003cbr\u003eInterior 1080p @ 30 fps\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eResolución máxima\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-aperture\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003eF1.8 \/ 140°\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eApertura \/ campo de visión\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-aperture\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003eFrontal F1.8 \/ 140°\u003cbr\u003eInterior F2.0 \/ 125°\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eApertura \/ campo de visión\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-display\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e1.69 pulgadas\u003cbr\u003eIPS\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003ePantalla táctil a color\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-display\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e1.69 pulgadas\u003cbr\u003eIPS con laminación completa\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003ePantalla táctil a color\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-expand\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e63 x 55.83 x 27.76\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eDimensiones (mm)\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-expand\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e95 x 56.8 x 27.8\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eDimensiones (mm)\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-weight-hanging\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e103g\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003ePeso\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-weight-hanging\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e153g\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003ePeso\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cbutton class=\"umino-d1-spec-toggle\" type=\"button\" data-toggle=\"collapse\" data-target=\"#umino-d1-spec-shared\" aria-expanded=\"false\" aria-controls=\"umino-d1-spec-shared\"\u003e\n          Desplegar para más información \u003ci class=\"fa-solid fa-chevron-down\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n        \u003c\/button\u003e\n        \u003cdiv class=\"collapse\" id=\"umino-d1-spec-shared\"\u003e\n          \u003cdiv class=\"umino-d1-spec-shared\"\u003e\n            \u003ch5\u003eHardware\u003c\/h5\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003ePosicionamiento (GNSS)\u003c\/span\u003e\u003cspan\u003eCompatible\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eG-Sensor\u003c\/span\u003e\u003cspan\u003eCompatible\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eConectividad inalámbrica\u003c\/span\u003e\u003cspan\u003eWi-Fi 6 (2.4 GHz \u0026amp; 5 GHz) + Bluetooth 5.0\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eVelocidad de transferencia Wi-Fi\u003c\/span\u003e\u003cspan\u003eHasta 20 MB\/s\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eAudio\u003c\/span\u003e\u003cspan\u003eDoble micrófono + altavoz\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eAmpliación de almacenamiento\u003c\/span\u003e\u003cspan\u003emicroSD de hasta 512 GB (exFAT)\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eAlimentación de respaldo\u003c\/span\u003e\u003cspan\u003eSupercondensador\u003c\/span\u003e\u003c\/div\u003e\n            \u003ch5\u003eCondiciones ambientales\u003c\/h5\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eTemperatura de funcionamiento\u003c\/span\u003e\u003cspan\u003e-10 ~ 60°C (14 ~ 140°F)\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eHumedad de funcionamiento\u003c\/span\u003e\u003cspan\u003e5% ~ 95%, sin condensación\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eGrado de protección\u003c\/span\u003e\u003cspan\u003eIP4X\u003c\/span\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n   \u003c!-- Disclaimer --\u003e\n   \u003csection class=\"py-3 py-lg-4 text-light\" style=\"background-color: #000;\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cp class=\"mb-0 small\"\u003e*Las leyes de privacidad, vigilancia y grabación varían según la ubicación. Cumpla todas las leyes aplicables al utilizar este producto.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n\u003c\/main\u003e\n\n\u003cscript src=\"https:\/\/js.gl-inet.com\/web-sdk\/6.1\/braze.min.js\"\u003e\u003c\/script\u003e\n\u003cscript\u003e\n  (function () {\n    if (window.__brazeBannerLoaded) {\n      return;\n    }\n\n    window.__brazeBannerLoaded = true;\n\n    const placementId = 'pdp_top_banner_um-d1';\n    let bannerInserted = false;\n\n    function showZohoFallback() {\n      const bannerContainer = document.getElementById('global-banner-container');\n      const zohoFallback = document.getElementById('zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU');\n\n      if (bannerContainer) {\n        bannerContainer.style.display = 'none';\n      }\n\n      if (zohoFallback) {\n        zohoFallback.style.display = '';\n      } else {\n        console.warn('[Braze] Zoho fallback container not found');\n      }\n    }\n\n    try {\n      if (typeof braze === 'undefined') {\n        throw new Error('Braze SDK is unavailable');\n      }\n\n      const initialized = braze.initialize('a3cb3cae-dc89-461c-9ddf-ca3980efb0c6', {\n        baseUrl: 'sdk.iad-07.braze.com',\n        enableLogging: true,\n        allowUserSuppliedJavascript: true,\n      });\n\n      if (!initialized) {\n        console.error('[Braze] SDK initialization failed');\n        showZohoFallback();\n        return;\n      }\n\n      const bannerContainer = document.getElementById('global-banner-container');\n      const desktop = window.matchMedia('(min-width: 992px)');\n\n      function updateAlignment() {\n        const iframe = bannerContainer.querySelector('iframe');\n        if (!iframe || !iframe.contentDocument) return;\n        iframe.contentDocument.documentElement.style.setProperty(\n          '--subscribe-align', desktop.matches ? 'flex-start' : 'center'\n        );\n      }\n\n      function styleBanner(iframe) {\n        const doc = iframe.contentDocument;\n        if (!doc || !doc.querySelector('#mc-embedded-subscribe-form')) return;\n\n        if (!doc.getElementById('umino-subscribe-styles')) {\n          const style = doc.createElement('style');\n          style.id = 'umino-subscribe-styles';\n          style.textContent = `\n            body #mc_embed_shell {\n              justify-content: var(--subscribe-align);\n              margin-top: 0;\n            }\n\n            body #mc-embedded-subscribe-form {\n              width: 100%;\n              margin: 0;\n              justify-content: var(--subscribe-align);\n            }\n\n            body #mc_embed_shell input[type=\"submit\"] {\n              background-color: #2b2b2b;\n              transition: none;\n            }\n\n            body #mc_embed_shell input[type=\"submit\"]:hover {\n              background-color: #3a3a3a;\n            }\n          `;\n          doc.head.appendChild(style);\n        }\n\n        updateAlignment();\n        iframe.setAttribute('data-subscribe-styled', '');\n      }\n\n      if (!bannerContainer) {\n        showZohoFallback();\n        return;\n      }\n\n      bannerContainer.addEventListener('load', function (event) {\n        if (event.target.tagName === 'IFRAME') styleBanner(event.target);\n      }, true);\n\n      const bannerObserver = new MutationObserver(function () {\n        const iframe = bannerContainer.querySelector('iframe');\n        if (iframe \u0026\u0026 iframe.contentDocument \u0026\u0026 iframe.contentDocument.readyState === 'complete') {\n          styleBanner(iframe);\n        }\n      });\n      bannerObserver.observe(bannerContainer, { childList: true });\n      desktop.addEventListener('change', updateAlignment);\n\n      braze.subscribeToBannersUpdates(function (banners) {\n        console.log('[Braze] Banners updated:', banners);\n\n        const container = document.getElementById('global-banner-container');\n\n        if (!container) {\n          console.warn('[Braze] Banner container not found');\n          return;\n        }\n\n        if (bannerInserted) {\n          console.log('[Braze] Banner already inserted, skipping duplicate render');\n          return;\n        }\n\n        const banner = braze.getBanner(placementId);\n        const zohoFallback = document.getElementById('zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU');\n\n        console.log('[Braze] Banner:', banner);\n\n        if (!banner) {\n          console.warn('[Braze] No Banner for placement:', placementId);\n          showZohoFallback();\n          return;\n        }\n\n        if (banner.isControl) {\n          console.warn('[Braze] Banner is control');\n          container.style.display = 'none';\n          if (zohoFallback) zohoFallback.style.display = 'none';\n          return;\n        }\n\n        container.innerHTML = '';\n        container.style.display = '';\n        if (zohoFallback) zohoFallback.style.display = 'none';\n\n        braze.insertBanner(banner, container);\n        bannerInserted = true;\n\n        console.log('[Braze] Banner inserted:', placementId);\n      });\n\n      braze.openSession();\n\n      setTimeout(function () {\n        console.log('[Braze] Requesting Banner:', placementId);\n        braze.requestBannersRefresh([placementId]);\n      }, 1500);\n    } catch (error) {\n      console.error('[Braze] SDK initialization failed:', error);\n      showZohoFallback();\n    }\n  })();\n\u003c\/script\u003e\n","brand":"GL.iNet","offers":[{"title":"Backer Club \/ D1 Pro \/ Yes","offer_id":57934590443703,"sku":null,"price":9.99,"currency_code":"USD","in_stock":false},{"title":"Backer Club \/ D1 Pro \/ No","offer_id":57934590476471,"sku":null,"price":9.99,"currency_code":"USD","in_stock":false},{"title":"Backer Club \/ D1 Mini \/ Yes","offer_id":57934590509239,"sku":null,"price":9.99,"currency_code":"USD","in_stock":false},{"title":"Backer Club \/ D1 Mini \/ No","offer_id":57934590542007,"sku":null,"price":9.99,"currency_code":"USD","in_stock":false},{"title":"Insider \/ D1 Pro \/ Yes","offer_id":57934590574775,"sku":null,"price":1.0,"currency_code":"USD","in_stock":false},{"title":"Insider \/ D1 Pro \/ No","offer_id":57934590607543,"sku":null,"price":1.0,"currency_code":"USD","in_stock":false},{"title":"Insider \/ D1 Mini \/ Yes","offer_id":57934590640311,"sku":null,"price":1.0,"currency_code":"USD","in_stock":false},{"title":"Insider \/ D1 Mini \/ No","offer_id":57934590673079,"sku":null,"price":1.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0711\/7733\/9063\/files\/3A013936-8060-4ECD-B594-536D8D623A43.png?v=1787735049"},{"product_id":"umino-um-t1","title":"Umino Travel Cam T1 (UM-T1)","description":"\u003cstyle\u003e\n  .umino-t1-main-container {\n    --umino-t1: #f7e341;\n  }\n\n  .umino-t1-main-container .text-umino-t1 {\n    color: var(--umino-t1);\n  }\n\n  .umino-t1-main-container .btn-round-umino-t1 {\n    background-color: var(--umino-t1);\n    color: #fff;\n    border-radius: 50px;\n    padding: 1rem 2rem;\n    text-transform: uppercase;\n    font-weight: bold;\n  }\n\n  @media (max-width: 768px) {\n    .umino-t1-main-container .btn-round-umino-t1 {\n      align-items: center;\n      border-radius: 50px;\n      display: inline-flex;\n      justify-content: center;\n      line-height: 1.2;\n      min-height: 50px;\n      padding: 0 2rem;\n      text-transform: uppercase;\n      font-weight: bold;\n    }\n  }\n\n  .umino-t1-main-container .btn-round-umino-t1:hover {\n    background-color: #fff;\n    color: #f0de3d;\n    border-color: #f0de3d;\n  }\n\n  .umino-t1-main-container .top-banner {\n    position: relative;\n    overflow: hidden;\n    height: 80vh;\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-position: center bottom;\n    background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-t1\/um-t1_hero_banner_web.jpg\");\n  }\n\n  @media (max-width: 991px) {\n    .umino-t1-main-container .top-banner {\n      background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-t1\/um-t1_hero_banner_mb.jpg\");\n    }\n  }\n\n  .umino-t1-main-container .top-banner .award-stage {\n    position: absolute;\n    left: 50%;\n    bottom: 0;\n    z-index: 1;\n    width: max(100%, calc(80vh * 16 \/ 9));\n    aspect-ratio: 16 \/ 9;\n    transform: translateX(-50%);\n    pointer-events: none;\n  }\n\n  .umino-t1-main-container .top-banner .award-logo {\n    position: absolute;\n    left: 50%;\n    top: 74%;\n    width: 7%;\n    height: auto;\n    transform: translate(-50%, -100%);\n  }\n\n  @media (max-width: 991px) {\n    .umino-t1-main-container .top-banner .award-stage {\n      width: max(100%, calc(80vh * 10 \/ 13));\n      aspect-ratio: 10 \/ 13;\n    }\n\n    .umino-t1-main-container .top-banner .award-logo {\n      top: 64%;\n      width: 18%;\n    }\n  }\n\n  .umino-t1-main-container .top-banner .container {\n    position: relative;\n    z-index: 2;\n  }\n\n  .umino-t1-main-container .top-banner .row {\n    padding-top: 6vh;\n  }\n\n  @media (max-width: 768px) {\n    .umino-t1-main-container .top-banner .row {\n      padding-top: 1.5rem;\n    }\n  }\n\n  .umino-t1-main-container .top-banner .logo img {\n    width: auto;\n    height: 58px;\n    max-height: inherit;\n    margin-right: 1rem;\n    filter: brightness(0) invert(1);\n  }\n\n  .umino-t1-main-container .top-banner .logo-separator {\n    display: inline-block;\n    width: 2px;\n    height: 28px;\n    margin-right: 1rem;\n    margin-top: 0.75rem;\n    vertical-align: middle;\n    background-color: currentColor;\n  }\n\n  @media (max-width: 767px) {\n    .umino-t1-main-container .top-banner .logo img {\n      height: 42px;\n      margin-bottom: 0.75rem;\n    }\n\n    .umino-t1-main-container .top-banner .logo-separator {\n      height: 16px;\n      margin-top: 0rem;\n      margin-bottom: 0.25rem;\n    }\n  }\n\n\u003c\/style\u003e\n\u003cmain class=\"umino-t1-main-container\"\u003e\n  \u003csection class=\"top-banner\" id=\"subscribe\"\u003e\n    \u003cdiv class=\"award-stage\"\u003e\n      \u003cimg src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-t1\/logo_ifa2026.png\" class=\"award-logo\" alt=\"Logotipo de IFA 2026\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"container h-100\"\u003e\n      \u003cdiv class=\"row justify-content-center align-items-start text-center text-light h-100\"\u003e\n        \u003cdiv class=\"col-12 col-lg-8\"\u003e\n          \u003cdiv class=\"logo pb-lg-4\"\u003e\n            \u003cimg class=\"img-fluid\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino_new_logo.svg\"\n              alt=\"Logotipo de Umino\"\u003e\n            \u003cspan class=\"logo-separator\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \u003cimg class=\"img-fluid\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/glinet_logo.svg\"\n              alt=\"Logotipo de GL.iNet\"\u003e\n          \u003c\/div\u003e\n\n          \u003ch1 class=\"font-weight-bold\"\u003eConoce Umino T1\u003c\/h1\u003e\n          \u003ch3\u003eDetecte cámaras ocultas. Vigile posibles intrusiones.\u003c\/h3\u003e\n          \u003cdiv id=\"global-banner-container\" style=\"width: 100%; height: 50px;\"\u003e\u003c\/div\u003e\n          \u003cdiv id=\"zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8\" style=\"display: none;\"\u003e\n          \u003c\/div\u003e\n\n          \u003cscript type=\"text\/javascript\"\u003e\n            (function () {\n              try {\n                var f = document.createElement(\"iframe\");\n\n                var ifrmSrc = 'https:\/\/forms.zohopublic.com\/glinet\/form\/UMT1ProductNewsletterSignup\/formperma\/XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8?zf_rszfm=1\u0026zf_lang=es';\n\n                try {\n                  if (typeof ZFAdvLead != \"undefined\" \u0026\u0026 typeof zfutm_zfAdvLead != \"undefined\") {\n                    for (var prmIdx = 0; prmIdx \u003c ZFAdvLead.utmPNameArr.length; prmIdx++) {\n                      var utmPm = ZFAdvLead.utmPNameArr[prmIdx];\n                      utmPm = (ZFAdvLead.isSameDomian \u0026\u0026 (ZFAdvLead.utmcustPNameArr.indexOf(utmPm) == -1)) ? \"zf_\" + utmPm : utmPm;\n                      var utmVal = zfutm_zfAdvLead.zfautm_gC_enc(ZFAdvLead.utmPNameArr[prmIdx]);\n                      if (typeof utmVal !== \"undefined\") {\n                        if (utmVal != \"\") {\n                          if (ifrmSrc.indexOf('?') \u003e 0) {\n                            ifrmSrc = ifrmSrc + '\u0026' + utmPm + '=' + utmVal;\n                          } else {\n                            ifrmSrc = ifrmSrc + '?' + utmPm + '=' + utmVal;\n                          }\n                        }\n                      }\n                    }\n                  }\n                  if (typeof ZFLead !== \"undefined\" \u0026\u0026 typeof zfutm_zfLead !== \"undefined\") {\n                    for (var prmIdx = 0; prmIdx \u003c ZFLead.utmPNameArr.length; prmIdx++) {\n                      var utmPm = ZFLead.utmPNameArr[prmIdx];\n                      var utmVal = zfutm_zfLead.zfutm_gC_enc(ZFLead.utmPNameArr[prmIdx]);\n                      if (typeof utmVal !== \"undefined\") {\n                        if (utmVal != \"\") {\n                          if (ifrmSrc.indexOf('?') \u003e 0) {\n                            ifrmSrc = ifrmSrc + '\u0026' + utmPm + '=' + utmVal;\/\/No I18N\n                          } else {\n                            ifrmSrc = ifrmSrc + '?' + utmPm + '=' + utmVal;\/\/No I18N\n                          }\n                        }\n                      }\n                    }\n                  }\n                  if (!((new RegExp(\"[?\u0026]referrername=\")).test(ifrmSrc))) {\n                    var rfr = window.location.href;\n\n                    try {\n                      rfr = window.self !== window.top ?\n                        window.top.location.href :\n                        (\/^https?:\\\/\\\/[\\w.-]+\\.[a-zA-Z]{2,}\/i.test(rfr) ? rfr : \"\");\n                    } catch (e) { }\n\n                    if (rfr \u0026\u0026 rfr !== \"\") {\n                      if (rfr.length \u003e 1800) {\n                        var queryIndex = rfr.indexOf('?');\n                        if (queryIndex \u003e -1) {\n                          rfr = rfr.substring(0, queryIndex);\n                        }\n                        if (rfr.length \u003e 1800) {\n                          rfr = rfr.substring(0, 1800);\n                        }\n                      }\n                      ifrmSrc += ((ifrmSrc.indexOf('?') \u003e 0) ? '\u0026' : '?') + 'referrername=' + encodeURIComponent(rfr);\n                    }\n                  }\n                } catch (e) { }\n\n\n                f.src = ifrmSrc;\n                f.style.border = \"none\";\n                f.style.height = \"220px\";\n                f.style.width = \"99%\";\n                f.style.transition = \"all 0.5s ease\";\n                f.setAttribute(\"aria-label\", 'Suscripción al boletín del producto UM\\-T1');\n\n                var d = document.getElementById(\"zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8\");\n                d.appendChild(f);\n                window.addEventListener('message', function () {\n                  var evntData = event.data;\n                  if (evntData \u0026\u0026 evntData.constructor == String) {\n                    var zf_ifrm_data = evntData.split(\"|\");\n                    if (zf_ifrm_data.length == 2 || zf_ifrm_data.length == 3) {\n                      var zf_perma = zf_ifrm_data[0];\n                      var zf_ifrm_ht_nw = (parseInt(zf_ifrm_data[1], 10) + 35) + \"px\";\n                      var iframe = document.getElementById(\"zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8\").getElementsByTagName(\"iframe\")[0];\n                      if ((iframe.src).indexOf('formperma') \u003e 0 \u0026\u0026 (iframe.src).indexOf(zf_perma) \u003e 0) {\n                        var prevIframeHeight = iframe.style.height;\n                        var zf_tout = false;\n                        if (zf_ifrm_data.length == 3) {\n                          iframe.scrollIntoView();\n                          zf_tout = true;\n                        }\n\n                        if (prevIframeHeight != zf_ifrm_ht_nw) {\n                          if (zf_tout) {\n                            setTimeout(function () {\n                              iframe.style.height = zf_ifrm_ht_nw;\n                            }, 500);\n                          } else {\n                            iframe.style.height = zf_ifrm_ht_nw;\n                          }\n                        }\n                      }\n                    }\n                  }\n                }, false);\n              } catch (e) { }\n\n\n            })();\n          \u003c\/script\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/main\u003e\n\u003cscript src=\"https:\/\/js.gl-inet.com\/web-sdk\/6.1\/braze.min.js\"\u003e\u003c\/script\u003e\n\u003cscript\u003e\n  (function () {\n    \/*\n     * 防止 Shopify 重复执行脚本。\n     *\/\n    if (window.__brazeBannerLoaded) {\n      return;\n    }\n\n    window.__brazeBannerLoaded = true;\n\n    const placementId = 'pdp_top_banner_um-t1';\n    let bannerInserted = false;\n\n    function showZohoFallback() {\n      const bannerContainer = document.getElementById('global-banner-container');\n      const zohoFallback = document.getElementById('zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8');\n\n      if (bannerContainer) {\n        bannerContainer.style.display = 'none';\n      }\n\n      if (zohoFallback) {\n        zohoFallback.style.display = '';\n      } else {\n        console.warn('[Braze] Zoho fallback container not found');\n      }\n    }\n\n    try {\n      if (typeof braze === 'undefined') {\n        throw new Error('Braze SDK is unavailable');\n      }\n\n      \/*\n       * 初始化 Braze Web SDK。\n       *\/\n      const initialized = braze.initialize('a3cb3cae-dc89-461c-9ddf-ca3980efb0c6', {\n        baseUrl: 'sdk.iad-07.braze.com',\n        enableLogging: true,\n        allowUserSuppliedJavascript: true,\n      });\n\n      if (!initialized) {\n        console.error('[Braze] SDK initialization failed');\n        showZohoFallback();\n        return;\n      }\n\n      \/*\n       * 监听 Banner 数据更新。\n       *\/\n      braze.subscribeToBannersUpdates(function (banners) {\n        console.log('[Braze] Banners updated:', banners);\n\n        const container = document.getElementById('global-banner-container');\n\n        if (!container) {\n          console.warn('[Braze] Banner container not found');\n          return;\n        }\n\n        \/*\n         * Banner 已经插入后不再重复插入。\n         *\/\n        if (bannerInserted) {\n          console.log('[Braze] Banner already inserted, skipping duplicate render');\n          return;\n        }\n\n        const banner = braze.getBanner(placementId);\n\n        console.log('[Braze] Banner:', banner);\n\n        if (!banner) {\n          console.warn('[Braze] No Banner for placement:', placementId);\n          return;\n        }\n\n        \/*\n         * Control Group 不显示 Banner。\n         *\/\n        if (banner.isControl) {\n          console.warn('[Braze] Banner is control');\n          container.style.display = 'none';\n          return;\n        }\n\n        container.innerHTML = '';\n        container.style.display = '';\n\n        \/*\n         * 把 Banner 插入 Shopify 容器。\n         *\/\n        braze.insertBanner(banner, container);\n        bannerInserted = true;\n\n        console.log('[Braze] Banner inserted:', placementId);\n      });\n\n      \/*\n       * 启动 Braze Session。\n       *\/\n      braze.openSession();\n\n      \/*\n       * 请求指定 Placement 的 Banner。\n       *\/\n      setTimeout(function () {\n        console.log('[Braze] Requesting Banner:', placementId);\n        braze.requestBannersRefresh([placementId]);\n      }, 1500);\n    } catch (error) {\n      console.error('[Braze] SDK initialization failed:', error);\n      showZohoFallback();\n    }\n  })();\n\u003c\/script\u003e\n","brand":"GL.iNet","offers":[{"title":"Default Title","offer_id":49059362406583,"sku":null,"price":0.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0711\/7733\/9063\/files\/BBD01621-EF93-42B5-91EE-8FAB8CB84903.png?v=1787803443"},{"product_id":"umino-um-f1","title":"Umino F1 | Kit de cámaras de seguridad para exteriores de largo alcance","description":"\u003cstyle\u003e\n  .um-f1-main-container .top-banner {\n    position: relative;\n    overflow: hidden;\n    height: 80vh;\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-position: center;\n    background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-f1\/um-f1_hero_banner.jpg\");\n  }\n\n  @media (max-width: 991px) {\n    .um-f1-main-container .top-banner {\n      height: 85vh\n      background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-f1\/um-f1_hero_banner_mobile.jpg\");\n    }\n  }\n\n  .um-f1-main-container .top-banner .container {\n    position: relative;\n    z-index: 2;\n  }\n\n  .um-f1-main-container .top-banner .row {\n    padding-top: 3vh;\n  }\n\n  @media (max-width: 768px) {\n    .um-f1-main-container .top-banner .row {\n      padding-top: 1.5rem;\n    }\n  }\n\n  .um-f1-main-container .top-banner .logo img {\n    width: auto;\n    height: 58px;\n    max-height: inherit;\n    margin-right: 1rem;\n    filter: brightness(0) invert(1);\n  }\n\n  .um-f1-main-container .top-banner .logo-separator {\n    display: inline-block;\n    width: 2px;\n    height: 28px;\n    margin-right: 1rem;\n    margin-top: 0.75rem;\n    vertical-align: middle;\n    background-color: currentColor;\n  }\n\n  @media (max-width: 767px) {\n    .um-f1-main-container .top-banner .logo img {\n      height: 42px;\n      margin-bottom: 0.75rem;\n    }\n\n    .um-f1-main-container .top-banner .logo-separator {\n      height: 16px;\n      margin-top: 0rem;\n      margin-bottom: 0.25rem;\n    }\n  }\n\n  .um-f1-main-container #global-banner-container {\n    display: flow-root;\n    width: 100%;\n    min-height: 50px;\n  }\n\u003c\/style\u003e\n\n\u003cmain class=\"um-f1-main-container\"\u003e\n  \u003csection class=\"top-banner\" id=\"subscribe\"\u003e\n    \u003cdiv class=\"container h-100\"\u003e\n      \u003cdiv class=\"row justify-content-center align-items-start text-center text-light h-100\"\u003e\n        \u003cdiv class=\"col-12 col-lg-8\"\u003e\n\n          \u003cdiv class=\"logo pb-lg-3\"\u003e\n            \u003cimg class=\"img-fluid\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino_new_logo.svg\"\n              alt=\"Logotipo de Umino\"\u003e\n            \u003cspan class=\"logo-separator\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \u003cimg class=\"img-fluid\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/glinet_logo.svg\"\n              alt=\"Logotipo de GL.iNet\"\u003e\n          \u003c\/div\u003e\n\n          \u003ch1 class=\"font-weight-bold\"\u003eConoce Umino F1\u003c\/h1\u003e\n          \u003ch3\u003eKit de cámaras de seguridad para exteriores de largo alcance\u003c\/h3\u003e\n          \u003cp class=\"mb-3\"\u003eAlcance inalámbrico de hasta 1 km\/6,500 ft\u003c\/p\u003e \n          \u003cdiv id=\"global-banner-container\"\u003e\u003c\/div\u003e\n          \u003cdiv id=\"zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8\" style=\"display: none;\"\u003e\n          \u003c\/div\u003e\n          \n          \u003cscript type=\"text\/javascript\"\u003e\n            (function () {\n              try {\n                var f = document.createElement(\"iframe\");\n\n                var ifrmSrc = 'https:\/\/forms.zohopublic.com\/glinet\/form\/UMF1ProductNewsletterSignup\/formperma\/5g5z1go2YWkf7IEcYFElIkFkgDmkg8C57XhczCjrP9Q?zf_lang=es';\n\n                try {\n                  if (typeof ZFAdvLead != \"undefined\" \u0026\u0026 typeof zfutm_zfAdvLead != \"undefined\") {\n                    for (var prmIdx = 0; prmIdx \u003c ZFAdvLead.utmPNameArr.length; prmIdx++) {\n                      var utmPm = ZFAdvLead.utmPNameArr[prmIdx];\n                      utmPm = (ZFAdvLead.isSameDomian \u0026\u0026 (ZFAdvLead.utmcustPNameArr.indexOf(utmPm) == -1)) ? \"zf_\" + utmPm : utmPm;\n                      var utmVal = zfutm_zfAdvLead.zfautm_gC_enc(ZFAdvLead.utmPNameArr[prmIdx]);\n                      if (typeof utmVal !== \"undefined\") {\n                        if (utmVal != \"\") {\n                          if (ifrmSrc.indexOf('?') \u003e 0) {\n                            ifrmSrc = ifrmSrc + '\u0026' + utmPm + '=' + utmVal;\n                          } else {\n                            ifrmSrc = ifrmSrc + '?' + utmPm + '=' + utmVal;\n                          }\n                        }\n                      }\n                    }\n                  }\n                  if (typeof ZFLead !== \"undefined\" \u0026\u0026 typeof zfutm_zfLead !== \"undefined\") {\n                    for (var prmIdx = 0; prmIdx \u003c ZFLead.utmPNameArr.length; prmIdx++) {\n                      var utmPm = ZFLead.utmPNameArr[prmIdx];\n                      var utmVal = zfutm_zfLead.zfutm_gC_enc(ZFLead.utmPNameArr[prmIdx]);\n                      if (typeof utmVal !== \"undefined\") {\n                        if (utmVal != \"\") {\n                          if (ifrmSrc.indexOf('?') \u003e 0) {\n                            ifrmSrc = ifrmSrc + '\u0026' + utmPm + '=' + utmVal;\/\/No I18N\n                          } else {\n                            ifrmSrc = ifrmSrc + '?' + utmPm + '=' + utmVal;\/\/No I18N\n                          }\n                        }\n                      }\n                    }\n                  }\n                  if (!((new RegExp(\"[?\u0026]referrername=\")).test(ifrmSrc))) {\n                    var rfr = window.location.href;\n\n                    try {\n                      rfr = window.self !== window.top ?\n                        window.top.location.href :\n                        (\/^https?:\\\/\\\/[\\w.-]+\\.[a-zA-Z]{2,}\/i.test(rfr) ? rfr : \"\");\n                    } catch (e) { }\n\n                    if (rfr \u0026\u0026 rfr !== \"\") {\n                      if (rfr.length \u003e 1800) {\n                        var queryIndex = rfr.indexOf('?');\n                        if (queryIndex \u003e -1) {\n                          rfr = rfr.substring(0, queryIndex);\n                        }\n                        if (rfr.length \u003e 1800) {\n                          rfr = rfr.substring(0, 1800);\n                        }\n                      }\n                      ifrmSrc += ((ifrmSrc.indexOf('?') \u003e 0) ? '\u0026' : '?') + 'referrername=' + encodeURIComponent(rfr);\n                    }\n                  }\n                } catch (e) { }\n\n\n                f.src = ifrmSrc;\n                f.style.border = \"none\";\n                f.style.height = \"220px\";\n                f.style.width = \"99%\";\n                f.style.transition = \"all 0.5s ease\";\n                f.setAttribute(\"aria-label\", 'Inscripción al boletín del producto UM-D1');\n\n                var d = document.getElementById(\"zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8\");\n                d.appendChild(f);\n                window.addEventListener('message', function () {\n                  var evntData = event.data;\n                  if (evntData \u0026\u0026 evntData.constructor == String) {\n                    var zf_ifrm_data = evntData.split(\"|\");\n                    if (zf_ifrm_data.length == 2 || zf_ifrm_data.length == 3) {\n                      var zf_perma = zf_ifrm_data[0];\n                      var zf_ifrm_ht_nw = (parseInt(zf_ifrm_data[1], 10) + 35) + \"px\";\n                      var iframe = document.getElementById(\"zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8\").getElementsByTagName(\"iframe\")[0];\n                      if ((iframe.src).indexOf('formperma') \u003e 0 \u0026\u0026 (iframe.src).indexOf(zf_perma) \u003e 0) {\n                        var prevIframeHeight = iframe.style.height;\n                        var zf_tout = false;\n                        if (zf_ifrm_data.length == 3) {\n                          iframe.scrollIntoView();\n                          zf_tout = true;\n                        }\n\n                        if (prevIframeHeight != zf_ifrm_ht_nw) {\n                          if (zf_tout) {\n                            setTimeout(function () {\n                              iframe.style.height = zf_ifrm_ht_nw;\n                            }, 500);\n                          } else {\n                            iframe.style.height = zf_ifrm_ht_nw;\n                          }\n                        }\n                      }\n                    }\n                  }\n                }, false);\n              } catch (e) { }\n\n\n            })();\n          \u003c\/script\u003e\n\n          \u003c!--\n          \u003ca\n              class=\"text-link\"\n              href=\"https:\/\/www.reddit.com\/r\/GlInet\/\"\n              target=\"_blank\"\n              rel=\"noopener\"\n              \u003eShare Your Ideas on Reddit \u003ci class=\"fas fa-arrow-right\"\u003e\u003c\/i\n            \u003e\u003c\/a\u003e\n          --\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/main\u003e\n\u003cscript src=\"https:\/\/js.gl-inet.com\/web-sdk\/6.1\/braze.min.js\"\u003e\u003c\/script\u003e\n\u003cscript\u003e\n  (function () {\n    \/*\n     * 防止 Shopify 重复执行脚本。\n     *\/\n    if (window.__brazeBannerLoaded) {\n      return;\n    }\n\n    window.__brazeBannerLoaded = true;\n\n    const placementId = 'pdp_top_banner_um-f1';\n    let bannerInserted = false;\n\n    function showZohoFallback() {\n      const bannerContainer = document.getElementById('global-banner-container');\n      const zohoFallback = document.getElementById('zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8');\n\n      if (bannerContainer) {\n        bannerContainer.style.display = 'none';\n      }\n\n      if (zohoFallback) {\n        zohoFallback.style.display = '';\n      } else {\n        console.warn('[Braze] Zoho fallback container not found');\n      }\n    }\n\n    try {\n      if (typeof braze === 'undefined') {\n        throw new Error('Braze SDK is unavailable');\n      }\n\n      \/*\n       * 初始化 Braze Web SDK。\n       *\/\n      const initialized = braze.initialize('a3cb3cae-dc89-461c-9ddf-ca3980efb0c6', {\n        baseUrl: 'sdk.iad-07.braze.com',\n        enableLogging: true,\n        allowUserSuppliedJavascript: true,\n      });\n\n      if (!initialized) {\n        console.error('[Braze] SDK initialization failed');\n        showZohoFallback();\n        return;\n      }\n\n      \/*\n       * 监听 Banner 数据更新。\n       *\/\n      braze.subscribeToBannersUpdates(function (banners) {\n        console.log('[Braze] Banners updated:', banners);\n\n        const container = document.getElementById('global-banner-container');\n\n        if (!container) {\n          console.warn('[Braze] Banner container not found');\n          return;\n        }\n\n        \/*\n         * Banner 已经插入后不再重复插入。\n         *\/\n        if (bannerInserted) {\n          console.log('[Braze] Banner already inserted, skipping duplicate render');\n          return;\n        }\n\n        const banner = braze.getBanner(placementId);\n\n        console.log('[Braze] Banner:', banner);\n\n        if (!banner) {\n          console.warn('[Braze] No Banner for placement:', placementId);\n          return;\n        }\n\n        \/*\n         * Control Group 不显示 Banner。\n         *\/\n        if (banner.isControl) {\n          console.warn('[Braze] Banner is control');\n          container.style.display = 'none';\n          return;\n        }\n\n        container.innerHTML = '';\n        container.style.display = '';\n\n        \/*\n         * 把 Banner 插入 Shopify 容器。\n         *\/\n        braze.insertBanner(banner, container);\n        bannerInserted = true;\n\n        console.log('[Braze] Banner inserted:', placementId);\n      });\n\n      \/*\n       * 启动 Braze Session。\n       *\/\n      braze.openSession();\n\n      \/*\n       * 请求指定 Placement 的 Banner。\n       *\/\n      setTimeout(function () {\n        console.log('[Braze] Requesting Banner:', placementId);\n        braze.requestBannersRefresh([placementId]);\n      }, 1500);\n    } catch (error) {\n      console.error('[Braze] SDK initialization failed:', error);\n      showZohoFallback();\n    }\n  })();\n\u003c\/script\u003e\n","brand":"GL.iNet","offers":[{"title":"Default Title","offer_id":57977158992055,"sku":null,"price":0.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0711\/7733\/9063\/files\/20261103-165857.png?v=1793696371"}],"url":"https:\/\/www.gl-inet.com\/es-es\/collections\/cameras.oembed","provider":"GL.iNet","version":"1.0","type":"link"}