{"title":"Produkty Lafaer i Umino","description":"","products":[{"product_id":"umino-adaptor-kit","title":"Umino zestaw kabli i adapterów do ładowania Multi USB","description":"\u003carticle\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eOdpowiednie narzędzia do zasilania i pozostawania online są niezbędne. \u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan data-type=\"text\"\u003ePrzedstawiamy zestaw kabli i adapterów do ładowania Umino Multi USB, kompleksowe rozwiązanie zapewniające zasilanie i gotowość nawet w niespodziewanych sytuacjach. Ten wszechstronny zestaw łączy 7 niezbędnych elementów w kompaktowej formie wygodnej w podróży, aby zawsze być przygotowanym na nagłe i nieprzewidziane okoliczności.\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\"\u003eWszechstronność all-in-one\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: Z zestawem kabli i adapterów do ładowania Umino Multi USB nic Cię nie zaskoczy. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eKorzystaj z elastyczności 7 adapterów w 1, w tym Type-C, Lightning i USB, dla wielu urządzeń i łączności w każdej sytuacji.\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\"\u003eŁadowanie w nagłych sytuacjach\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: Gdy liczy się każda sekunda, zestaw kabli i adapterów do ładowania Umino Multi USB zapewnia potrzebną energię. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eZestaw współpracuje z wieloma ładowarkami i źródłami zasilania, umożliwiając szybkie, niezawodne ładowanie nawet w sytuacji awaryjnej.\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\"\u003ePrzechowywanie dwóch kart\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: W nagłej sytuacji łatwy dostęp do niezbędnych rzeczy ma ogromne znaczenie. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eZestaw kabli i adapterów do ładowania Umino Multi USB ma specjalne gniazda na nano SIM i microSD, zapewniając zapasową pamięć i opcje łączności zagranicznej pod ręką.\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eZestaw pozwala przechowywać dwie karty jednocześnie i łatwo z nich korzystać, zapewniając gotowość na różne sytuacje.\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\"\u003eUwaga: Karty nano SIM i microSD na zdjęciu służą wyłącznie ilustracji i \u003c\/span\u003e\u003cspan data-type=\"text\"\u003enie są dołączone\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e do tego produktu.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003ePrzenośna konstrukcja\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: Wykonany z\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e wytrzymałego ABS,\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e zestaw kabli i adapterów do ładowania Umino Multi USB wytrzymuje wymagania różnych sytuacji. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eKompaktowy rozmiar i lekka konstrukcja czynią go niezbędnym dodatkiem do zestawu na sytuacje awaryjne.\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\"\u003eWarto kupić zestaw kabli i adapterów do ładowania Umino Multi USB, jeśli jesteś:\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eOsobą często podróżującą\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e która ceni szybkie ładowanie i synchronizację urządzeń podczas \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eniespodziewanych przerw w zasilaniu\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e lub \u003c\/span\u003e\u003cspan data-type=\"text\"\u003ezakłóceń podróży\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\"\u003eCyfrowym nomadą\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e lub \u003c\/span\u003e\u003cspan data-type=\"text\"\u003epracownikiem zdalnym\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e który potrzebuje \u003c\/span\u003e\u003cspan data-type=\"text\"\u003ewydajnego przesyłania danych\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e i \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eOsobą dbającą o bezpieczeństwo, która rozumie znaczenie przygotowania na \u003c\/span\u003e\u003cspan data-type=\"text\"\u003enagłe i niespodziewane sytuacje\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\"\u003eOsobą ceniącą \u003c\/span\u003e\u003cspan data-type=\"text\"\u003ewygodę\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e niezbędnych adapterów i rozwiązań przechowywania w\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e jednym kompaktowym zestawie\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*Zestaw kabli i adapterów do ładowania Umino Multi USB ma gwarancję 12-miesięczną.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/article\u003e","brand":"GL.iNet","offers":[{"title":"Magazyn EU","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 ładowarka PD 30W","description":"\u003carticle\u003e\n\u003ch2\u003e\u003cspan data-type=\"text\"\u003eUmino ładowarka PD 30W: Zasilanie z nutą nostalgii\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eTa szybka ładowarka 30W łączy czystą, nowoczesną estetykę z nawiązaniem do klasycznych gier. Kompaktowa konstrukcja i składana wtyczka świetnie sprawdzają się w podróży: łatwo przypniesz ją do torby lub kluczy. Dołączony kabel Type-C 1m zapewnia elastyczność i wygodne ładowanie smartfonów oraz przenośnych konsol.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eStylowe szybkie ładowanie: Moc 30W i kompaktowa konstrukcja łączą szybkość z wygodą.\u003c\/li\u003e\n\u003cli\u003eGotowa na sytuacje awaryjne w drodze: Kabel 20cm w zestawie służy też jako smycz lub brelok, ułatwiając przypięcie do torby i szybki dostęp w nagłej sytuacji.\u003c\/li\u003e\n\u003cli\u003eElastyczne połączenie: Dodatkowy kabel Type-C 1m zwiększa zasięg i pozwala wygodnie ładować z większej odległości.\u003c\/li\u003e\n\u003cli\u003eKompaktowa i oszczędzająca miejsce: Składana wtyczka i przenośna konstrukcja są idealne do podróży i porządkowania przestrzeni.\u003c\/li\u003e\n\u003cli\u003eWszechstronna zgodność: Obsługuje szeroką gamę urządzeń, zapewniając płynne i wydajne ładowanie różnych gadżetów.\u003c\/li\u003e\n\u003cli\u003eUrok retro i nowoczesna technologia: Wygląd klasycznej konsoli łączy nostalgię z zaawansowaną funkcjonalnością.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eWarto ją kupić, jeśli jesteś\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eOsobą często podróżującą:\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e Kompaktowy rozmiar i składana wtyczka pozwalają nosić ładowarkę w torbie lub walizce bez zajmowania dużej ilości miejsca. Dołączony krótki kabel, służący jako smycz, zwiększa wygodę podróży.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eEntuzjastą gier retro: \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eJeśli lubiłeś Game Boy, ładowarka wniesie do życia nostalgiczną zabawę. Jej wygląd idealnie łączy nowoczesną wygodę z estetyką klasycznych gier. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan data-type=\"text\"\u003eOsobą ceniącą styl i funkcjonalność:\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e Jeśli szukasz ładowarki wydajnej (szybkie ładowanie 30W) i atrakcyjnej wizualnie, ten model łączy zaawansowaną technologię z wyjątkowym wyglądem retro.\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\u003eŁadowarka Umino PD 30W ma gwarancję 18-miesięczną\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/article\u003e","brand":"GL.iNet","offers":[{"title":"Magazyn CN","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 szybka ładowarka GaN 100W z 4 portami","description":"\u003carticle\u003e\n\u003ch3\u003e\u003cspan data-type=\"text\"\u003eŁatwe, wydajne zasilanie każdego urządzenia:\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cbr data-path=\"0,1\"\u003e\u003cspan data-type=\"text\"\u003eŁadowarka Umino GaN 100W zapewnia wydajne, mocne ładowanie w wyjątkowo kompaktowej formie, idealnej do współczesnego życia w ruchu. Cztery porty, trzy USB-C i jeden USB-A, zapewniają szeroką zgodność ze smartfonami, tabletami, laptopami i innymi urządzeniami.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eTechnologia GaN zapewnia mniejsze rozmiary, szybsze ładowanie i mniej ciepła niż tradycyjne ładowarki. Dla zapracowanych profesjonalistów, częstych podróżnych i entuzjastów technologii ładowarka Umino GaN 100W to idealne rozwiązanie wszystkich potrzeb ładowania.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003carticle\u003e\n\u003ch3\u003e\u003cspan data-type=\"text\"\u003eNajważniejsze cechy:\u003c\/span\u003e\u003c\/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eBardzo szybkie ładowanie USB-C 100W\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,0,0,1\"\u003e\u003cspan data-type=\"text\"\u003eNaładuj wydajne urządzenie, takie jak laptop 13-inch, w mniej niż godzinę z jednego portu USB-C. Idealne dla mobilnych profesjonalistów i pracowników zdalnych potrzebujących szybkości i wydajności.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eJedna ładowarka, cztery urządzenia\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,1,0,1\"\u003e\u003cspan data-type=\"text\"\u003eDzięki \u003c\/span\u003e\u003cspan data-type=\"text\"\u003e\u003cstrong\u003etrzema portami USB-C\u003c\/strong\u003e\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e i \u003c\/span\u003e\u003cstrong\u003e\u003cspan data-type=\"text\"\u003ejednym USB-A\u003c\/span\u003e\u003c\/strong\u003e\u003cspan data-type=\"text\"\u003eta kompaktowa ładowarka szybko ładuje wszystkie codzienne urządzenia, od telefonów i tabletów po laptopy i akcesoria, jednocześnie.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eTechnologia GaN\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,2,0,1\"\u003e\u003cspan data-type=\"text\"\u003ePodzespoły z azotku galu (GaN) pracują chłodniej, ładują szybciej i tracą mniej energii niż tradycyjne ładowarki krzemowe. To mniejsze rozmiary, mniej ciepła i większa sprawność, idealne do nowoczesnego życia z dużym zapotrzebowaniem na energię.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eSzeroka \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eurządzeń\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eZgodność\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,3,0,1\"\u003e\u003cspan data-type=\"text\"\u003eObsługa popularnych protokołów szybkiego ładowania, takich jak Power Delivery (PD) i Quick Charge (QC), zapewnia zgodność z laptopami, tabletami, smartfonami i innymi urządzeniami oraz szybkie, wydajne ładowanie całego zestawu elektroniki.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eGotowa do podróży z globalnymi adapterami\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,4,0,1\"\u003e\u003cspan data-type=\"text\"\u003eSkładana wtyczka i wymienne adaptery EU, US i UK sprawiają, że ładowarka jest idealna do podróży zagranicznych. Kompaktowa, wszechstronna i zawsze gotowa: nie musisz już nosić wielu adapterów.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eUporządkuj biurko. Zasil swój świat.\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,5,0,1\"\u003e\u003cspan data-type=\"text\"\u003eZrezygnuj z wielu adapterów: ta wydajna ładowarka z 4 portami zasila wszystko w jednym eleganckim urządzeniu, zapewniając porządek, mniej bałaganu i większą swobodę.\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\"\u003eUniwersalna zgodność (lista częściowa)\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\"\u003eZgodność z 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 i inne\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\"\u003eZgodność z 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 i inne\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\"\u003eZgodność z 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 i inne\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\"\u003eZgodność z 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 i inne\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\"\u003eZgodność z 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 i inne\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\"\u003eZgodność z 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\" i inne\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\"\u003eZgodność z 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\"\u003eZgodność z 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 i inne\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\"\u003eZgodność z 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 i inne\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\"\u003eZgodność z 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 i inne\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","brand":"GL.iNet","offers":[{"title":"Magazyn DE","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 | Wideorejestratory podróżne do wynajmowanych samochodów","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=\"Logo 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=\"Logo 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\"\u003eWideorejestratory podróżne do wynajmowanych aut\u003c\/h1\u003e\n          \u003ch5 class=\"mb-0\" style=\"font-weight:400;\"\u003eSamochód jest wynajęty. Podróż należy do Ciebie.\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=pl';\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=\"Wkrótce na Kickstarterze\"\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=\"Wideorejestratory Umino D1 Mini i 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\"\u003eDlaczego finansowanie społecznościowe?\u003c\/h2\u003e\n            \u003cp\u003eUmino to wewnętrzny startup, którego celem jest uczynienie technologii wizualnej bardziej dostępną, przenośną i praktyczną dla osób w podróży. Korzystając z bogatego doświadczenia sprzętowego GL.iNet, nasz zespół działa niezależnie, z własnym budżetem i odpowiedzialnością finansową.\u003c\/p\u003e\n            \u003cp\u003eKickstarter pozwala nam zweryfikować popyt, zaplanować pierwszą serię produkcyjną na podstawie rzeczywistego zainteresowania klientów oraz ograniczyć nadmierne zapasy i odpady.\u003c\/p\u003e\n            \u003cp class=\"mb-0\"\u003eDzięki temu możemy odpowiedzialnie i w zrównoważony sposób wprowadzać innowacyjne produkty na rynek, a pierwszym wspierającym dać możliwość współtworzenia przyszłości 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\"\u003eZ przepustką VIP zyskaj wcześniejszy dostęp do kampanii Umino na Kickstarterze, ekskluzywne korzyści i specjalne nagrody.\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=\"\/pl-pl\/pages\/um-d1-vip\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eZdobądź przepustkę 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 + filtr CPL \u003cbr class=\"d-none d-md-inline\"\u003eWyraźny obraz w każdym świetle\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 Dzień\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 Noc\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\"\u003eMocowanie na przyssawkę. \u003cbr class=\"d-none d-md-inline\"\u003eNie pozostawia śladów.\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 Transfer \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\"\u003eZamień każdą jazdę w opowieść z podróży\u003c\/h3\u003e\n            \u003cp class=\"font-italic mb-0\"\u003e*Dostępne z aplikacją 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\"\u003eZrównoważone detale \u003cbr class=\"d-none d-md-inline\"\u003ew trudnym oświetleniu\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=\"Funkcje 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=\"Funkcja 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\"\u003ePrzód 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=\"Funkcja 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\"\u003eWnętrze 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=\"Funkcja 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\"\u003ePrzód 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\"\u003eWyrazistość, na której możesz polegać.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eUchwyć więcej szczegółów przy zmiennym oświetleniu dzięki 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=\"Przetworniki obrazu Sony STARVIS 2 IMX678 i 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\"\u003eZobacz drogę, a nie odbicia.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eDołączony filtr CPL ogranicza odblaski na przedniej szybie, zapewniając czystszy, bardziej wyrazisty obraz.\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\"\u003eSzczegóły przy każdym kontraście.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eHDR pomaga zachować szczegóły w jasnych partiach i głębokich cieniach, zapewniając bardziej zrównoważony obraz drogi.\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\"\u003eWyraźny obraz. Dniem i nocą.\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\"\u003ePodróż z przemyślaną organizacją\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eDołączone etui podróżne przechowuje wideorejestrator i niezbędne akcesoria w jednym dopracowanym, wygodnym do noszenia zestawie.\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=\"Etui podróżne 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\"\u003eSpecyfikacja\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=\"Wideorejestrator 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=\"Wideorejestrator 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\"\u003ePrzetwornik obrazu\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\"\u003ePrzetwornik obrazu\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\"\u003eMaksymalna rozdzielczość\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\"\u003ePrzód 4K @ 30 fps\u003cbr\u003eWnętrze 1080p @ 30 fps\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eMaksymalna rozdzielczość\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\"\u003ePrzysłona \/ pole widzenia\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\"\u003ePrzód F1.8 \/ 140°\u003cbr\u003eWnętrze F2.0 \/ 125°\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003ePrzysłona \/ pole widzenia\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 cala\u003cbr\u003eIPS\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eKolorowy ekran dotykowy\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 cala\u003cbr\u003eIPS z pełną laminacją\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eKolorowy ekran dotykowy\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\"\u003eWymiary (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\"\u003eWymiary (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\"\u003eMasa\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\"\u003eMasa\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          Rozwiń, aby dowiedzieć się więcej \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\u003eSprzęt\u003c\/h5\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003ePozycjonowanie (GNSS)\u003c\/span\u003e\u003cspan\u003eObsługiwane\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eG-Sensor\u003c\/span\u003e\u003cspan\u003eObsługiwane\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eŁączność bezprzewodowa\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\u003eSzybkość transferu Wi-Fi\u003c\/span\u003e\u003cspan\u003eDo 20 MB\/s\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eDźwięk\u003c\/span\u003e\u003cspan\u003ePodwójny mikrofon + głośnik\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eRozszerzenie pamięci\u003c\/span\u003e\u003cspan\u003emicroSD do 512 GB (exFAT)\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eZasilanie awaryjne\u003c\/span\u003e\u003cspan\u003eSuperkondensator\u003c\/span\u003e\u003c\/div\u003e\n            \u003ch5\u003eWarunki środowiskowe\u003c\/h5\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eTemperatura pracy\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\u003eWilgotność podczas pracy\u003c\/span\u003e\u003cspan\u003e5% ~ 95%, bez kondensacji\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eStopień ochrony\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*Przepisy dotyczące prywatności, nadzoru i nagrywania różnią się zależnie od lokalizacji. Korzystając z produktu, przestrzegaj wszystkich obowiązujących przepisów.\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=\"Logo 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=\"Logo 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=\"Logo GL.iNet\"\u003e\n          \u003c\/div\u003e\n\n          \u003ch1 class=\"font-weight-bold\"\u003ePoznaj Umino T1\u003c\/h1\u003e\n          \u003ch3\u003eWykrywaj ukryte kamery. Monitoruj włamania.\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=pl';\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\", 'Zapis na newsletter produktu 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\/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","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 | Zestaw zewnętrznych kamer monitoringu o dalekim zasięgu","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=\"Logo 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=\"Logo GL.iNet\"\u003e\n          \u003c\/div\u003e\n\n          \u003ch1 class=\"font-weight-bold\"\u003ePoznaj Umino F1\u003c\/h1\u003e\n          \u003ch3\u003eZestaw zewnętrznych kamer monitoringu o dalekim zasięgu\u003c\/h3\u003e\n          \u003cp class=\"mb-3\"\u003eZasięg bezprzewodowy do 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=pl';\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\", 'Zapis do newslettera produktu 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\/pl-pl\/collections\/cameras.oembed","provider":"GL.iNet","version":"1.0","type":"link"}