{"title":"Lafaer- en Umino-producten","description":"","products":[{"product_id":"umino-adaptor-kit","title":"Umino kabelset met meerdere USB-oplaadadapters","description":"\u003carticle\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eDe juiste hulpmiddelen om opgeladen en online te blijven zijn onmisbaar.  \u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eMaak kennis met de Umino kabelset met meerdere USB-oplaadadapters: een complete oplossing om opgeladen en voorbereid te blijven, zelfs in de meest onverwachte situaties. Deze veelzijdige set combineert 7 essentiële onderdelen in een compact, reisvriendelijk ontwerp, zodat u altijd voorbereid bent op noodgevallen en onvoorziene omstandigheden.\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\"\u003eAlles-in-één-flexibiliteit\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: Met de Umino kabelset met meerdere USB-oplaadadapters wordt u nooit overvallen.  \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eProfiteer van de flexibiliteit van 7 adapters in 1, waaronder Type-C-, Lightning- en USB-aansluitingen voor uiteenlopende apparaten, zodat u in elke situatie verbonden blijft.\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\"\u003eOpladen bij noodgevallen\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: Wanneer elke seconde telt, biedt de Umino kabelset met meerdere USB-oplaadadapters de stroom die u nodig hebt.  \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eDeze set is ontworpen voor uiteenlopende opladers en stroombronnen, zodat u uw apparaten snel en betrouwbaar kunt opladen, zelfs tijdens een noodsituatie.\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\"\u003eOpbergruimte voor twee kaarten\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: In een noodsituatie kan snelle toegang tot essentiële spullen het verschil maken.  \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eDe Umino kabelset met meerdere USB-oplaadadapters heeft speciale sleuven voor nano-SIM- en microSD-kaarten, zodat u altijd back-upopslag en internationale verbindingsmogelijkheden bij de hand hebt.\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eMet de set kunt u twee kaarten tegelijk opbergen en gebruiken, zodat u op elke eventualiteit bent voorbereid.\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\"\u003eLet op: De nano-SIM- en microSD-kaart op de afbeelding dienen uitsluitend ter illustratie en worden  \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eniet meegeleverd\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  bij dit product.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eDraagbaar ontwerp\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e: Gemaakt van\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  duurzame ABS-materialen,\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  is de Umino kabelset met meerdere USB-oplaadadapters bestand tegen de eisen van elke situatie.  \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\u003cspan data-type=\"text\"\u003eHet compacte formaat en de lichte constructie maken hem tot een onmisbare aanvulling op uw nooduitrusting.\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\"\u003eDe Umino kabelset met meerdere USB-oplaadadapters past bij u als u:\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eVaak reist\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  en uw apparaten snel wilt kunnen opladen en synchroniseren tijdens  \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eonverwachte stroomuitval\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  of  \u003c\/span\u003e\u003cspan data-type=\"text\"\u003ereisverstoringen\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\"\u003eEen digitale nomade\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  of  \u003c\/span\u003e\u003cspan data-type=\"text\"\u003ewerker op afstand bent\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  die behoefte heeft aan  \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eefficiënte gegevensoverdracht\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  en  \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eVeiligheid belangrijk vindt en begrijpt hoe belangrijk het is om voorbereid te zijn op  \u003c\/span\u003e\u003cspan data-type=\"text\"\u003enoodgevallen en onverwachte omstandigheden\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\"\u003eHet  \u003c\/span\u003e\u003cspan data-type=\"text\"\u003egemak\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  waardeert van essentiële adapters en opbergoplossingen in één\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  compacte verpakking\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*De Umino kabelset met meerdere USB-oplaadadapters wordt geleverd met 12 maanden garantie.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/article\u003e\n","brand":"GL.iNet","offers":[{"title":"EU magazijn","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 30W PD-oplader","description":"\u003carticle\u003e\n\u003ch2\u003e\u003cspan data-type=\"text\"\u003eUmino 30W PD-oplader: opladen met een vleugje nostalgie\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eDeze 30W snellader combineert een strakke, moderne uitstraling met een knipoog naar klassiek gamedesign. Het compacte ontwerp en de inklapbare stekker maken hem ideaal voor op reis: bevestig hem eenvoudig aan uw tas of sleutelbos. De meegeleverde Type-C-kabel van 1m biedt flexibiliteit en maakt dit een handige oplaadoplossing voor apparaten zoals smartphones en draagbare spelconsoles.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eSnel opladen in stijl: Met 30W snellaadvermogen en een compacte behuizing combineert deze oplader snelheid en gemak.\u003c\/li\u003e\n\u003cli\u003eKlaar voor noodgevallen onderweg: De meegeleverde kabel van 20cm dient ook als draagkoord of sleutelhanger, zodat u hem gemakkelijk aan een reistas kunt hangen en snel bij de hand hebt in noodgevallen.\u003c\/li\u003e\n\u003cli\u003eFlexibele verbindingen: Inclusief een extra Type-C-kabel van 1m voor een groter bereik, zodat u comfortabel op afstand kunt opladen.\u003c\/li\u003e\n\u003cli\u003eCompact en ruimtebesparend: Een inklapbare stekker en een draagbaar ontwerp maken hem ideaal voor op reis of voor een opgeruimde ruimte.\u003c\/li\u003e\n\u003cli\u003eVeelzijdige compatibiliteit: Compatibel met een breed scala aan apparaten, zodat u verschillende gadgets probleemloos en efficiënt kunt opladen.\u003c\/li\u003e\n\u003cli\u003eRetrocharme ontmoet moderne technologie: Het ontwerp doet denken aan een retrospelconsole en combineert een nostalgische knipoog naar het verleden met geavanceerde functionaliteit.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eDeze oplader past bij u als u\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eVaak reist:\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  Door het compacte formaat en de inklapbare stekker neemt deze oplader weinig ruimte in een tas of koffer in. De meegeleverde korte kabel, die ook als draagkoord kan dienen, maakt hem nog handiger voor op reis.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cspan data-type=\"text\"\u003eEen liefhebber van retrogames bent:  \u003c\/span\u003e\u003cspan data-type=\"text\"\u003eWas u een Game Boy-liefhebber? Dan voegt deze oplader een vleugje nostalgisch plezier toe aan uw leven. Het ontwerp combineert modern gemak met de klassieke uitstraling van games.  \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan data-type=\"text\"\u003eZowel stijl als functionaliteit waardeert:\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e  Zoekt u een oplader die zowel krachtig is (30W snelladen) als aantrekkelijk oogt? Deze oplader combineert geavanceerde technologie met een uniek retro-ontwerp.\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\u003eDe Umino 30W PD-oplader wordt geleverd met 18 maanden garantie\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/article\u003e\n","brand":"GL.iNet","offers":[{"title":"CN magazijn","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 100W GaN-snellader met 4 poorten","description":"\u003carticle\u003e\n\u003ch3\u003e\u003cspan data-type=\"text\"\u003eKrachtig en moeiteloos opladen voor elk apparaat:\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cbr data-path=\"0,1\"\u003e\u003cspan data-type=\"text\"\u003eDe Umino 100W GaN-oplader biedt krachtig en efficiënt opladen in een opmerkelijk compact ontwerp, perfect voor een moderne levensstijl onderweg. Deze veelzijdige krachtpatser heeft vier poorten, drie USB-C en één USB-A, voor naadloze compatibiliteit met uiteenlopende apparaten, van smartphones en tablets tot laptops en meer.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan data-type=\"text\"\u003eMet GaN-technologie profiteert u van een kleiner formaat, sneller opladen en minder warmteontwikkeling dan bij traditionele opladers. Of u nu een drukke professional, een frequente reiziger of een technologieliefhebber bent, de Umino 100W GaN-oplader is de ultieme oplossing voor al uw laadbehoeften.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003carticle\u003e\n\u003ch3\u003e\u003cspan data-type=\"text\"\u003eBelangrijkste kenmerken:\u003c\/span\u003e\u003c\/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eSupersnel opladen via USB-C met 100W\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,0,0,1\"\u003e\u003cspan data-type=\"text\"\u003eLaad een krachtig apparaat, zoals een 13-inch laptop, met één USB-C-poort in minder dan een uur volledig op. Ideaal voor professionals onderweg of medewerkers op afstand die snelheid en efficiëntie nodig hebben.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eEén oplader, vier apparaten\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,1,0,1\"\u003e\u003cspan data-type=\"text\"\u003eMet \u003c\/span\u003e\u003cspan data-type=\"text\"\u003e\u003cstrong\u003edrie USB-C-poorten\u003c\/strong\u003e\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e en \u003c\/span\u003e\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eéén USB-A-poort\u003c\/span\u003e\u003c\/strong\u003e\u003cspan data-type=\"text\"\u003e laadt deze compacte oplader al uw dagelijkse apparaten tegelijk snel op, van telefoons en tablets tot laptops en accessoires.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eGaN-technologie\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,2,0,1\"\u003e\u003cspan data-type=\"text\"\u003eDankzij componenten van galliumnitride (GaN) werkt deze oplader koeler, laadt hij sneller op en verspilt hij minder energie dan traditionele opladers op basis van silicium. Dit betekent een kleiner formaat, minder warmte en een hogere energie-efficiëntie, perfect voor een moderne levensstijl met veel stroomverbruik.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eBrede \u003c\/span\u003e\u003cspan data-type=\"text\"\u003ecompatibiliteit\u003c\/span\u003e\u003cspan data-type=\"text\"\u003e \u003c\/span\u003e\u003cspan data-type=\"text\"\u003emet apparaten\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,3,0,1\"\u003e\u003cspan data-type=\"text\"\u003eCompatibel met uiteenlopende apparaten, waaronder laptops, tablets, smartphones en meer, dankzij ondersteuning voor belangrijke snellaadprotocollen zoals Power Delivery (PD) en Quick Charge (QC). Zo laadt u al uw apparaten snel en efficiënt op.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eReisvriendelijk ontwerp met internationale adapters\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,4,0,1\"\u003e\u003cspan data-type=\"text\"\u003eDe opvouwbare stekker en verwisselbare EU-, US- en UK-adapters maken deze oplader de perfecte metgezel voor internationale reizen. Compact, veelzijdig en altijd klaar voor gebruik, zodat u geen meerdere adapters meer hoeft mee te nemen.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e\u003cspan data-type=\"text\"\u003eEen opgeruimd bureau. Stroom voor uw wereld.\u003c\/span\u003e\u003c\/strong\u003e\u003cbr data-path=\"1,5,0,1\"\u003e\u003cspan data-type=\"text\"\u003eLaat meerdere adapters achterwege. Deze krachtpatser met 4 poorten laadt alles op in één stijlvolle eenheid, zodat u georganiseerd en volledig opgeladen blijft, met minder rommel en meer vrijheid.\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\"\u003eUniversele compatibiliteit (gedeeltelijke lijst)\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\"\u003eCompatibel met 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, enz.\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\"\u003eCompatibel met 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, enz.\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\"\u003eCompatibel met 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, enz.\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\"\u003eCompatibel met 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, enz.\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\"\u003eCompatibel met 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, enz.\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\"\u003eCompatibel met 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\", enz.\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\"\u003eCompatibel met 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\"\u003eCompatibel met 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, enz.\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\"\u003eCompatibel met 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, enz.\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\"\u003eCompatibel met 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, enz.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/article\u003e\n\u003cbr\u003e\n\n\u003c\/article\u003e\n\u003c\/article\u003e\n\u003c\/article\u003e\n","brand":"GL.iNet","offers":[{"title":"DE magazijn","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 | Reis-dashcams voor huurauto's","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=\"Umino-logo\"\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=\"GL.iNet-logo\"\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\"\u003eDe reis-dashcams voor huurauto's\u003c\/h1\u003e\n          \u003ch5 class=\"mb-0\" style=\"font-weight:400;\"\u003eDe auto is gehuurd. De reis is van u.\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=nl';\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=\"Binnenkort op Kickstarter\"\u003e\n            \u003c!--\n            \u003ca class=\"text-link\" href=\"https:\/\/www.kickstarter.com\/projects\/glinet\/umino-d1-mini-and-pro\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eGet Notified on Kickstarter \u003ci class=\"fa-solid fa-arrow-right ml-2\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\u003c\/a\u003e\n            --\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"top-banner-media col-12 col-lg-7 align-self-lg-stretch pb-4 pb-lg-0 position-relative\"\u003e\n          \u003cimg class=\"top-banner-products\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_hero_banner_mini-and-pro.png\" alt=\"Umino D1 Mini- en D1 Pro-dashcams\"\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\"\u003eWaarom crowdfunding?\u003c\/h2\u003e\n            \u003cp\u003eUmino is een interne start-up die visuele technologie toegankelijker, draagbaarder en praktischer wil maken voor mensen onderweg. Met de uitgebreide hardwarekennis van GL.iNet als basis werkt ons team onafhankelijk, met een eigen budget en eigen financiële verantwoordelijkheden.\u003c\/p\u003e\n            \u003cp\u003eVia Kickstarter kunnen we de marktvraag toetsen, onze eerste productieronde plannen op basis van echte klantinteresse en overtollige voorraad en verspilling beperken.\u003c\/p\u003e\n            \u003cp class=\"mb-0\"\u003eZo kunnen we innovatieve producten op een verantwoorde en duurzame manier op de markt brengen en vroege supporters de kans geven om de toekomst van Umino mee vorm te geven.\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\"\u003eMet een VIP-pas krijgt u vroege toegang tot de Kickstarter-campagne van Umino, exclusieve voordelen en speciale beloningen.\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=\"\/nl-nl\/pages\/um-d1-vip\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eKoop uw VIP-pas\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 + CPL-filter \u003cbr class=\"d-none d-md-inline\"\u003eHelder beeld bij elk licht\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 Dag\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 Nacht\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\"\u003eZuignapbevestiging. \u003cbr class=\"d-none d-md-inline\"\u003eLaat geen resten achter.\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 Overdracht met \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\"\u003eMaak van elke rit een reisverhaal\u003c\/h3\u003e\n            \u003cp class=\"font-italic mb-0\"\u003e*Beschikbaar met de Umino Cam-app\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\"\u003eEvenwichtige details \u003cbr class=\"d-none d-md-inline\"\u003ebij lastig licht\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=\"Functies van 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=\"Umino D1-functie 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\"\u003eVoorzijde 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=\"Umino D1-functie 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\"\u003eInterieur 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=\"Umino D1-functie 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\"\u003eVoorzijde 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\"\u003eHelderheid waarop u kunt vertrouwen.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eLeg meer details vast bij wisselend licht met 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=\"Sony STARVIS 2 IMX678- en IMX675-beeldsensoren\"\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\"\u003eZie de weg, zonder de reflectie.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eHet meegeleverde CPL-filter vermindert reflecties op de voorruit voor een helderder en verfijnder beeld.\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\"\u003eDetails bij elk contrast.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eHDR helpt details in felle lichte delen en diepe schaduwen te behouden voor een evenwichtiger beeld van de weg.\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\"\u003eHelder beeld. Dag en nacht.\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\"\u003eDoordacht georganiseerd op reis\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eDe meegeleverde reisetui brengt uw dashcam en essentiële spullen samen in één verfijnde, gemakkelijk mee te nemen set.\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=\"Umino D1-reisetui\"\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\"\u003eSpecificaties\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=\"Umino D1 Mini-dashcam\"\u003e\n          \u003cimg class=\"mb-3\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/table_d1-pro.png\" alt=\"Umino D1 Pro-dashcam\"\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\"\u003eBeeldsensor\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\"\u003eBeeldsensor\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\"\u003eMaximale resolutie\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\"\u003eVoorzijde 4K @ 30 fps\u003cbr\u003eInterieur 1080p @ 30 fps\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eMaximale resolutie\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\"\u003eDiafragma \/ beeldhoek\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\"\u003eVoorzijde F1.8 \/ 140°\u003cbr\u003eInterieur F2.0 \/ 125°\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eDiafragma \/ beeldhoek\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 inch\u003cbr\u003eIPS\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eKleurentouchscreen\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 inch\u003cbr\u003eVolledig gelamineerd IPS\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eKleurentouchscreen\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\"\u003eAfmetingen (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\"\u003eAfmetingen (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\"\u003eGewicht\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\"\u003eGewicht\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          Uitvouwen voor meer informatie \u003ci class=\"fa-solid fa-chevron-down\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n        \u003c\/button\u003e\n        \u003cdiv class=\"collapse\" id=\"umino-d1-spec-shared\"\u003e\n          \u003cdiv class=\"umino-d1-spec-shared\"\u003e\n            \u003ch5\u003eHardware\u003c\/h5\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003ePositiebepaling (GNSS)\u003c\/span\u003e\u003cspan\u003eOndersteund\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eG-Sensor\u003c\/span\u003e\u003cspan\u003eOndersteund\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eDraadloos\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\u003eWi-Fi-overdrachtssnelheid\u003c\/span\u003e\u003cspan\u003eTot 20 MB\/s\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eAudio\u003c\/span\u003e\u003cspan\u003eDubbele microfoon + luidspreker\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eOpslaguitbreiding\u003c\/span\u003e\u003cspan\u003emicroSD tot 512 GB (exFAT)\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eNoodstroomvoorziening\u003c\/span\u003e\u003cspan\u003eSupercondensator\u003c\/span\u003e\u003c\/div\u003e\n            \u003ch5\u003eOmgeving\u003c\/h5\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eBedrijfstemperatuur\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\u003eLuchtvochtigheid tijdens gebruik\u003c\/span\u003e\u003cspan\u003e5% ~ 95%, niet-condenserend\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eBeschermingsgraad\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*Wetgeving over privacy, toezicht en opnames verschilt per locatie. Houd u bij het gebruik van dit product aan alle toepasselijke wetgeving.\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=\"IFA 2026-logo\"\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=\"Umino-logo\"\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=\"GL.iNet-logo\"\u003e\n          \u003c\/div\u003e\n\n          \u003ch1 class=\"font-weight-bold\"\u003eMaak kennis met Umino T1\u003c\/h1\u003e\n          \u003ch3\u003eDetecteer verborgen camera's. Houd inbraken in de gaten.\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=nl';\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\", 'Aanmelden voor de UM\\-D1-productnieuwsbrief');\n\n                var d = document.getElementById(\"zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8\");\n                d.appendChild(f);\n                window.addEventListener('message', function () {\n                  var evntData = event.data;\n                  if (evntData \u0026\u0026 evntData.constructor == String) {\n                    var zf_ifrm_data = evntData.split(\"|\");\n                    if (zf_ifrm_data.length == 2 || zf_ifrm_data.length == 3) {\n                      var zf_perma = zf_ifrm_data[0];\n                      var zf_ifrm_ht_nw = (parseInt(zf_ifrm_data[1], 10) + 35) + \"px\";\n                      var iframe = document.getElementById(\"zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8\").getElementsByTagName(\"iframe\")[0];\n                      if ((iframe.src).indexOf('formperma') \u003e 0 \u0026\u0026 (iframe.src).indexOf(zf_perma) \u003e 0) {\n                        var prevIframeHeight = iframe.style.height;\n                        var zf_tout = false;\n                        if (zf_ifrm_data.length == 3) {\n                          iframe.scrollIntoView();\n                          zf_tout = true;\n                        }\n\n                        if (prevIframeHeight != zf_ifrm_ht_nw) {\n                          if (zf_tout) {\n                            setTimeout(function () {\n                              iframe.style.height = zf_ifrm_ht_nw;\n                            }, 500);\n                          } else {\n                            iframe.style.height = zf_ifrm_ht_nw;\n                          }\n                        }\n                      }\n                    }\n                  }\n                }, false);\n              } catch (e) { }\n\n\n            })();\n          \u003c\/script\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/main\u003e\n\u003cscript src=\"https:\/\/js.gl-inet.com\/web-sdk\/6.1\/braze.min.js\"\u003e\u003c\/script\u003e\n\u003cscript\u003e\n  (function () {\n    \/*\n     * 防止 Shopify 重复执行脚本。\n     *\/\n    if (window.__brazeBannerLoaded) {\n      return;\n    }\n\n    window.__brazeBannerLoaded = true;\n\n    const placementId = 'pdp_top_banner_um-t1';\n    let bannerInserted = false;\n\n    function showZohoFallback() {\n      const bannerContainer = document.getElementById('global-banner-container');\n      const zohoFallback = document.getElementById('zf_div_XlUs9k14B0Fs4XN0MElP6pKpj4fLtvFZx2zfrsaP2v8');\n\n      if (bannerContainer) {\n        bannerContainer.style.display = 'none';\n      }\n\n      if (zohoFallback) {\n        zohoFallback.style.display = '';\n      } else {\n        console.warn('[Braze] Zoho fallback container not found');\n      }\n    }\n\n    try {\n      if (typeof braze === 'undefined') {\n        throw new Error('Braze SDK is unavailable');\n      }\n\n      \/*\n       * 初始化 Braze Web SDK。\n       *\/\n      const initialized = braze.initialize('a3cb3cae-dc89-461c-9ddf-ca3980efb0c6', {\n        baseUrl: 'sdk.iad-07.braze.com',\n        enableLogging: true,\n        allowUserSuppliedJavascript: true,\n      });\n\n      if (!initialized) {\n        console.error('[Braze] SDK initialization failed');\n        showZohoFallback();\n        return;\n      }\n\n      \/*\n       * 监听 Banner 数据更新。\n       *\/\n      braze.subscribeToBannersUpdates(function (banners) {\n        console.log('[Braze] Banners updated:', banners);\n\n        const container = document.getElementById('global-banner-container');\n\n        if (!container) {\n          console.warn('[Braze] Banner container not found');\n          return;\n        }\n\n        \/*\n         * Banner 已经插入后不再重复插入。\n         *\/\n        if (bannerInserted) {\n          console.log('[Braze] Banner already inserted, skipping duplicate render');\n          return;\n        }\n\n        const banner = braze.getBanner(placementId);\n\n        console.log('[Braze] Banner:', banner);\n\n        if (!banner) {\n          console.warn('[Braze] No Banner for placement:', placementId);\n          return;\n        }\n\n        \/*\n         * Control Group 不显示 Banner。\n         *\/\n        if (banner.isControl) {\n          console.warn('[Braze] Banner is control');\n          container.style.display = 'none';\n          return;\n        }\n\n        container.innerHTML = '';\n        container.style.display = '';\n\n        \/*\n         * 把 Banner 插入 Shopify 容器。\n         *\/\n        braze.insertBanner(banner, container);\n        bannerInserted = true;\n\n        console.log('[Braze] Banner inserted:', placementId);\n      });\n\n      \/*\n       * 启动 Braze Session。\n       *\/\n      braze.openSession();\n\n      \/*\n       * 请求指定 Placement 的 Banner。\n       *\/\n      setTimeout(function () {\n        console.log('[Braze] Requesting Banner:', placementId);\n        braze.requestBannersRefresh([placementId]);\n      }, 1500);\n    } catch (error) {\n      console.error('[Braze] SDK initialization failed:', error);\n      showZohoFallback();\n    }\n  })();\n\u003c\/script\u003e \n","brand":"GL.iNet","offers":[{"title":"Default Title","offer_id":49059362406583,"sku":null,"price":0.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0711\/7733\/9063\/files\/BBD01621-EF93-42B5-91EE-8FAB8CB84903.png?v=1787803443"},{"product_id":"umino-um-f1","title":"Umino F1 | Beveiligingscameraset voor buiten met groot bereik","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=\"Umino-logo\"\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=\"GL.iNet-logo\"\u003e\n          \u003c\/div\u003e\n\n          \u003ch1 class=\"font-weight-bold\"\u003eMaak kennis met Umino F1\u003c\/h1\u003e\n          \u003ch3\u003eBeveiligingscameraset voor buiten met groot bereik\u003c\/h3\u003e\n          \u003cp class=\"mb-3\"\u003eDraadloos bereik tot 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=nl';\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\", 'Aanmelden voor de UM-D1-productnieuwsbrief');\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\/nl-nl\/collections\/cameras.oembed","provider":"GL.iNet","version":"1.0","type":"link"}