{"product_id":"umino-um-d1","title":"Umino D1 Mini \u0026 D1 Pro | Wideorejestratory podróżne do wynajmowanych samochodów","description":"\u003cstyle\u003e\n  .umino-d1-main-container .umino-d1-muted {\n    color: rgba(255, 255, 255, 0.7);\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs .nav-link {\n    position: relative;\n    color: inherit;\n    border-left: 3px solid #777;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs .nav-link.active::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: -3px;\n    width: 3px;\n    background-color: #17A2B8;\n    transform: scaleY(0);\n    transform-origin: center top;\n    animation: umino-d1-adas-progress 5s linear forwards paused;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs.is-running .nav-link.active::after {\n    animation-play-state: running;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs.is-resetting .nav-link.active::after {\n    animation-name: none;\n  }\n\n  @keyframes umino-d1-adas-progress {\n    from { transform: scaleY(0); }\n    to { transform: scaleY(1); }\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs .nav-link h3 {\n    color: inherit;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-description {\n    display: grid;\n    grid-template-rows: 0fr;\n    opacity: 0;\n    transition: grid-template-rows 0.3s ease, opacity 0.3s ease;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-description \u003e div {\n    min-height: 0;\n    overflow: hidden;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-tabs .nav-link.active .umino-d1-adas-description {\n    grid-template-rows: 1fr;\n    opacity: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-adas-section video {\n    aspect-ratio: 16 \/ 9;\n    object-fit: contain;\n  }\n\n  .umino-d1-main-container .umino-d1-crowdfunding-card {\n    background: linear-gradient(\n      150deg, \n      rgba(97, 127, 167, 0.7) 0%, \n      rgba(15, 35, 61, 0.7) 50%, \n      rgba(15, 35, 61, 0.7) 60%, \n      rgba(13, 23, 42, 1) 100%\n    );\n  }\n\n  .umino-d1-main-container .umino-d1-crowdfunding-card hr {\n    border-top-color: rgba(255, 255, 255, 0.1);\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-media video {\n    width: 100%;\n    height: clamp(260px, 60vw, 500px);\n    object-fit: cover;\n    border-radius: 15px;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-products {\n    position: relative;\n    display: block;\n    width: 280px;\n    max-width: 100%;\n    margin: 0 auto -8rem;\n    z-index: 2;\n  }\n\n  @media (min-width: 992px) {\n    .umino-d1-main-container .top-banner .row {\n      min-height: 68vh;\n    }\n\n    .umino-d1-main-container .top-banner .top-banner-copy {\n      padding-right: 2rem;\n    }\n\n    .umino-d1-main-container .top-banner .logo img:first-child {\n      margin-left: calc(54px * -28.6 \/ 172.1);\n    }\n\n    .umino-d1-main-container .top-banner .top-banner-media video {\n      position: absolute;\n      top: 0;\n      left: 15px;\n      width: calc(50vw + 100% \/ 7 - 15px);\n      height: 100%;\n      padding-left: 9.5rem;\n      border-radius: 0;\n      \/* border-radius: 999px 0 0; *\/\n    }\n\n    .umino-d1-main-container .top-banner .top-banner-products {\n      position: absolute;\n      top: 20%;\n      left: 0%;\n      width: 520px;\n      max-width: none;\n      margin: 0;\n    }\n  }\n\n  @media (min-width: 992px) and (max-width: 1199px) {\n    .umino-d1-main-container .top-banner .top-banner-products {\n      top: 26%;\n      width: 380px;\n    }\n  }\n\n  .umino-d1-main-container .top-banner .logo img {\n    width: auto;\n    height: 54px;\n    filter: brightness(0) invert(1);\n  }\n\n  .umino-d1-main-container .top-banner .logo-separator {\n    width: 1px;\n    height: 36px;\n    background-color: rgba(255, 255, 255, 0.4);\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-heading {\n    gap: 0.75rem 2rem;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-actions {\n    gap: 2rem;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-kickstarter {\n    width: auto;\n    height: 56px;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-heading \u003e *,\n  .umino-d1-main-container .top-banner .top-banner-actions \u003e * {\n    margin: 0;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-status {\n    font-size: 12px;\n    color: #1ed780;\n    letter-spacing: 0.08em;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-status::before {\n    content: \"\";\n    width: 0.375rem;\n    height: 0.375rem;\n    margin-right: 0.5rem;\n    border-radius: 50%;\n    background-color: currentColor;\n    flex-shrink: 0;\n  }\n\n  .umino-d1-main-container .top-banner .top-banner-actions .btn {\n    font-family: \"Poppins\", sans-serif;\n    text-transform: none;\n  }\n\n  .umino-d1-main-container .top-banner .text-link {\n    display: inline-flex;\n    align-items: center;\n    color: #fff;\n    font-family: \"Poppins\", sans-serif;\n    font-size: 14px;\n    font-weight: 600;\n  }\n\n  .umino-d1-main-container .top-banner .text-link i {\n    transition: transform 0.25s ease;\n  }\n\n  .umino-d1-main-container .top-banner .text-link:hover i {\n    transform: translateX(4px);\n  }\n\n  .umino-d1-main-container .top-banner #global-banner-container iframe {\n    visibility: hidden;\n  }\n\n  .umino-d1-main-container .top-banner #global-banner-container iframe[data-subscribe-styled] {\n    visibility: visible;\n  }\n\n  @media (max-width: 767px) {\n    .umino-d1-main-container .top-banner .logo img {\n      height: 36px;\n    }\n\n    .umino-d1-main-container .top-banner .logo-separator {\n      height: 20px;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row {\n    display: grid;\n    gap: 8px;\n    margin-bottom: 8px;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row-1 .umino-d1-highlight-card {\n    height: 440px;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row-1 {\n    grid-template-columns: minmax(0, 5fr) minmax(0, 2fr);\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row-2 {\n    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) minmax(0, 2fr);\n    margin-bottom: 0;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-grid-row-2 .umino-d1-highlight-card {\n    height: 320px;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card {\n    background-color: #000;\n    background-size: cover;\n    background-position: center;\n    background-repeat: no-repeat;\n    border-radius: 16px;\n    overflow: hidden;\n    position: relative;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--1 {\n    display: flex;\n    flex-direction: column;\n    justify-content: space-between;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--1 \u003e .umino-d1-highlight-card__video,\n  .umino-d1-main-container .umino-d1-highlight-card--5 \u003e .umino-d1-highlight-card__video {\n    position: absolute;\n    inset: 0;\n    z-index: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    pointer-events: none;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--5 \u003e .umino-d1-highlight-card__video {\n    object-position: bottom center;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card__badges {\n    display: flex;\n    justify-content: flex-end;\n    align-items: center;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card__badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 6px 12px;\n    border-radius: 999px;\n    font-weight: 500;\n    line-height: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--1 .umino-d1-highlight-card__badge--day {\n    position: absolute;\n    right: 1rem;\n    bottom: calc(50% + 1rem);\n    background: rgb(0, 0, 0, 0.75);\n    color: #fff;\n  }\n\n  @media (min-width: 992px) {\n    .umino-d1-main-container .umino-d1-highlight-card--1 .umino-d1-highlight-card__badge--day {\n      right: 1.5rem;\n      bottom: calc(50% + 1.5rem);\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card__badge--night {\n    background: rgb(255, 255, 255, 0.75);\n    color: #000;\n  }\n\n  @media (max-width: 576px) {\n    .umino-d1-main-container .umino-d1-highlight-card__badge {\n      padding: 5px 8px;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--2 {\n    background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_cars-and-road-trips.png\");\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--3 {\n    background-image: url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_wifi6.png\");\n    background-position: bottom center;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--4 {\n    background-image:\n      url(\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_travel-story.png\"),\n      linear-gradient(to bottom, #617FA7 0%, #0F233D 50%, #0F233D 60%, #04070D 100%);\n    background-size: auto 67%, 100% 100%;\n    background-position: center bottom, center bottom;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card--1::before,\n  .umino-d1-main-container .umino-d1-highlight-card--2::before,\n  .umino-d1-main-container .umino-d1-highlight-card--5::before{\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    border-radius: inherit;\n    background: linear-gradient(to bottom,\n        rgba(0, 0, 0, 0.8) 0%,\n        transparent 36%);\n    pointer-events: none;\n    z-index: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card \u003e * {\n    position: relative;\n    z-index: 2;\n  }\n\n  .umino-d1-main-container .umino-d1-highlight-card h3 {\n    font-size: 18px;\n  }\n\n  @media (min-width: 992px) {\n    .umino-d1-main-container .umino-d1-highlight-card h3 {\n      font-size: 20px;\n    }\n  }\n\n  @media (min-width: 1200px) {\n    .umino-d1-main-container .umino-d1-highlight-card h3 {\n      font-size: 24px;\n    }\n  }\n\n  @media (max-width: 1199px) {\n    .umino-d1-main-container .umino-d1-highlight-card--4 {\n      background-size: auto 60%, 100% 100%;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-grid-row-1 .umino-d1-highlight-card {\n      height: 320px;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-grid-row-2 .umino-d1-highlight-card {\n      height: 260px;\n    }\n  }\n\n  @media (max-width: 991px) {\n    .umino-d1-main-container .umino-d1-highlight-grid-row-1 .umino-d1-highlight-card {\n      height: 280px;\n    }\n    .umino-d1-main-container .umino-d1-highlight-grid-row-2 .umino-d1-highlight-card {\n      height: 240px;\n    }\n\n  }\n\n  @media (max-width: 767px) {\n    .umino-d1-main-container .umino-d1-highlight-grid {\n      display: grid;\n      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n      gap: 8px;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-grid-row {\n      display: contents;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--1 {\n      grid-column: 1 \/ -1;\n      order: 1;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--4 {\n      background-size: auto 67%, 100% 100%;\n      grid-column: 1 \/ -1;\n      order: 2;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--5 {\n      grid-column: 1 \/ -1;\n      order: 3;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--2 {\n      order: 4;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-card--3 {\n      order: 5;\n    }\n\n    .umino-d1-main-container .umino-d1-highlight-grid-row-1 .umino-d1-highlight-card,\n    .umino-d1-main-container .umino-d1-highlight-grid-row-2 .umino-d1-highlight-card {\n      height: 200px;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-spec-section {\n    background-color: #131313;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-card {\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.16);\n    border-radius: 1.25rem;\n    background-color: #181818;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-images,\n  .umino-d1-main-container .umino-d1-spec-products,\n  .umino-d1-main-container .umino-d1-spec-compare-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-images,\n  .umino-d1-main-container .umino-d1-spec-products {\n    justify-items: center;\n    text-align: center;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-images {\n    padding: 2rem 1.25rem 0;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-images img {\n    display: block;\n    width: auto;\n    max-width: calc(100% - 1rem);\n    height: 150px;\n    object-fit: contain;\n    object-position: center bottom;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-products {\n    padding-bottom: 1.5rem;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-section .umino-d1-spec-products h4 {\n    margin-bottom: 0;\n    font-weight: 700;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-compare-row {\n    border-top: 1px solid rgba(255, 255, 255, 0.08);\n    text-align: center;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-cell {\n    display: flex;\n    flex-direction: column;\n    padding: 1.65rem 1.25rem;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-cell i {\n    display: block;\n    width: 1.35rem;\n    margin: 0 auto 0.8rem;\n    color: rgba(255, 255, 255, 0.88);\n    font-size: 1.2rem;\n    line-height: 1;\n    text-align: center;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-value {\n    margin-bottom: 0.35rem;\n    font-weight: 700;\n    line-height: 1.35;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-name {\n    margin-bottom: 0;\n    color: rgba(255, 255, 255, 0.55);\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding: 1.05rem 1rem;\n    border: 0;\n    border-top: 1px solid rgba(255, 255, 255, 0.08);\n    background: transparent;\n    color: rgba(255, 255, 255, 0.78);\n    cursor: pointer;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle:hover,\n  .umino-d1-main-container .umino-d1-spec-toggle:focus {\n    color: #fff;\n    outline: none;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle:focus-visible {\n    outline: 1px solid rgba(255, 255, 255, 0.4);\n    outline-offset: -2px;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle i {\n    margin-left: 0.4rem;\n    transition: transform 0.2s ease;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-toggle[aria-expanded=\"true\"] i {\n    transform: rotate(180deg);\n  }\n\n  .umino-d1-main-container .umino-d1-spec-shared h5 {\n    margin: 0;\n    padding: 1rem 1.5rem;\n    background-color: #333333;\n    border-top: 1px solid rgba(255, 255, 255, 0.12);\n    border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n    font-weight: 700;\n  }\n\n  @media (max-width: 991.98px) {\n    .umino-d1-main-container .umino-d1-spec-shared h5 {\n      padding: 1rem;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-spec-shared-row {\n    display: grid;\n    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);\n    gap: 1.5rem;\n    align-items: baseline;\n    padding: 0.95rem 1.5rem;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n  }\n\n  .umino-d1-main-container .umino-d1-spec-shared-row:last-child {\n    border-bottom: 0;\n  }\n\n  .umino-d1-main-container .umino-d1-spec-shared-row span:first-child {\n    color: rgba(255, 255, 255, 0.62);\n  }\n\n  @media (max-width: 991.98px) {\n    .umino-d1-main-container .umino-d1-spec-images img {\n      height: 90px;\n    }\n\n    .umino-d1-main-container .umino-d1-spec-cell {\n      padding: 1.15rem 0.75rem;\n    }\n\n    .umino-d1-main-container .umino-d1-spec-shared-row {\n      gap: 0.75rem;\n      padding-right: 1rem;\n      padding-left: 1rem;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-video {\n    height: 200vh;\n    background-color: #020202;\n  }\n\n  .umino-d1-main-container .umino-d1-video-sticky {\n    position: sticky;\n    top: 0;\n    height: 100vh;\n    overflow: hidden;\n  }\n\n  .umino-d1-main-container .umino-d1-video-sticky video,\n  .umino-d1-main-container .umino-d1-video-mobile \u003e video {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n  }\n\n  .umino-d1-main-container .umino-d1-video-title {\n    position: absolute;\n    top: 15%;\n    left: 0;\n    right: 0;\n    z-index: 1;\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  .umino-d1-main-container .umino-d1-video-title h2 {\n    font-size: clamp(2.25rem, 4.5vw, 4rem);\n    line-height: 1.15;\n  }\n\n  .umino-d1-main-container .umino-d1-video-mobile {\n    position: relative;\n    height: 50vh;\n    overflow: hidden;\n    background-color: #020202;\n  }\n\n  @media (max-width: 576px) {\n    .umino-d1-main-container .umino-d1-video-mobile {\n      height: 40vh;\n    }\n  }\n\n  .umino-d1-main-container .umino-d1-video-mobile \u003e .container {\n    position: relative;\n    z-index: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-features {\n    position: relative;\n    height: 350vh;\n    height: 350svh;\n    background-color: #000;\n  }\n\n  .umino-d1-main-container .umino-d1-features-sticky {\n    position: sticky;\n    top: 0;\n    height: 100vh;\n    height: 100svh;\n    overflow: hidden;\n    background-color: #000;\n  }\n\n  .umino-d1-main-container .umino-d1-features-frame {\n    position: absolute;\n    inset: 0;\n    opacity: 0;\n    transform: scale(1.08);\n    transform-origin: center center;\n    will-change: opacity, transform;\n  }\n\n  .umino-d1-main-container .umino-d1-features-frame img {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: var(--feature-position-x, 50%) center;\n  }\n\n  .umino-d1-main-container .umino-d1-features-frame:first-child {\n    opacity: 1;\n    z-index: 1;\n  }\n\n  .umino-d1-main-container .umino-d1-features-callout {\n    position: absolute;\n    z-index: 1;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    width: max-content;\n    gap: 0.75rem;\n    margin: 0;\n    color: #fff;\n    font-weight: 700;\n    white-space: nowrap;\n    transform: translateX(-50%);\n    pointer-events: none;\n  }\n\n  .umino-d1-main-container .umino-d1-features-callout-line {\n    position: relative;\n    left: var(--feature-line-offset, 0px);\n    width: 2px;\n    height: var(--feature-line-height, 4rem);\n    background: currentColor;\n    flex: none;\n    transform: scale(0);\n    transform-origin: center top;\n  }\n\n  .umino-d1-main-container .umino-d1-features-callout-title {\n    opacity: 0;\n    transform: translateY(24px);\n  }\n\n  @media (min-width: 992px) {\n    .umino-d1-main-container .umino-d1-features {\n      height: 350vh;\n    }\n\n    .umino-d1-main-container .umino-d1-features-sticky {\n      height: 100vh;\n    }\n\n    .umino-d1-main-container .umino-d1-features-frame img {\n      object-position: center;\n    }\n\n    .umino-d1-main-container .umino-d1-features-callout {\n      flex-direction: row;\n      justify-content: flex-start;\n      font-size: clamp(2.25rem, 4.5vw, 4rem);\n      line-height: 1.15;\n      transform: translateY(-50%);\n    }\n\n    .umino-d1-main-container .umino-d1-features-callout-line {\n      left: 0;\n      width: clamp(4.5rem, 8vw, 8.5rem);\n      height: 2px;\n      transform-origin: left center;\n    }\n  }\n \n\u003c\/style\u003e\n\u003cmain class=\"umino-d1-main-container\"\u003e\n  \u003c!-- Top Banner --\u003e\n  \u003csection class=\"top-banner overflow-hidden text-light\" style=\"background-color: #000;\" id=\"subscribe\"\u003e\n    \u003cdiv class=\"container py-4 py-lg-0\"\u003e\n      \u003cdiv class=\"row align-items-center\"\u003e\n        \u003cdiv class=\"top-banner-copy col-12 col-lg-5 py-4 text-center text-lg-left\"\u003e\n          \u003cdiv class=\"logo d-flex align-items-center justify-content-center justify-content-lg-start mb-4 mb-lg-5\"\u003e\n            \u003cimg class=\"mr-3\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino_new_logo.svg\"\n              alt=\"Logo Umino\"\u003e\n            \u003cspan class=\"logo-separator mr-3\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n            \u003cimg src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/glinet_logo.svg\"\n              alt=\"Logo GL.iNet\"\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"top-banner-heading d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start mb-3\"\u003e\n            \u003ch3\u003eUmino D1 Mini \u0026 Pro\u003c\/h3\u003e\n            \u003c!--\n            \u003cp class=\"top-banner-status d-inline-flex align-items-center font-weight-bold text-nowrap\"\u003eCOMING SOON ON KICKSTARTER\u003c\/p\u003e\n            --\u003e\n          \u003c\/div\u003e\n          \u003ch1 class=\"font-weight-bold mb-3\"\u003eWideorejestratory podróżne do wynajmowanych aut\u003c\/h1\u003e\n          \u003ch5 class=\"mb-0\" style=\"font-weight:400;\"\u003eSamochód jest wynajęty. Podróż należy do Ciebie.\u003c\/h5\u003e\n          \u003cdiv class=\"mt-4\"\u003e\n            \u003cdiv id=\"global-banner-container\" style=\"width: 100%; height: 50px;\"\u003e\u003c\/div\u003e\n            \u003cdiv id=\"zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU\" style=\"display: none;\"\u003e\u003c\/div\u003e\n            \u003cscript type=\"text\/javascript\"\u003e\n              (function () {\n                try {\n                  var f = document.createElement('iframe');\n                  var ifrmSrc = 'https:\/\/forms.zohopublic.com\/glinet\/form\/UMD1ProductNewsletterSignup\/formperma\/NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU?zf_rszfm=1\u0026zf_lang=pl';\n\n                  try {\n                    if (typeof ZFAdvLead != 'undefined' \u0026\u0026 typeof zfutm_zfAdvLead != 'undefined') {\n                      for (var prmIdx = 0; prmIdx \u003c ZFAdvLead.utmPNameArr.length; prmIdx++) {\n                        var utmPm = ZFAdvLead.utmPNameArr[prmIdx];\n                        utmPm = (ZFAdvLead.isSameDomian \u0026\u0026 (ZFAdvLead.utmcustPNameArr.indexOf(utmPm) == -1))\n                          ? 'zf_' + utmPm\n                          : utmPm;\n                        var utmVal = zfutm_zfAdvLead.zfautm_gC_enc(ZFAdvLead.utmPNameArr[prmIdx]);\n\n                        if (typeof utmVal !== 'undefined' \u0026\u0026 utmVal != '') {\n                          ifrmSrc += (ifrmSrc.indexOf('?') \u003e 0 ? '\u0026' : '?') + utmPm + '=' + utmVal;\n                        }\n                      }\n                    }\n\n                    if (typeof ZFLead !== 'undefined' \u0026\u0026 typeof zfutm_zfLead !== 'undefined') {\n                      for (var prmIdx = 0; prmIdx \u003c ZFLead.utmPNameArr.length; prmIdx++) {\n                        var utmPm = ZFLead.utmPNameArr[prmIdx];\n                        var utmVal = zfutm_zfLead.zfutm_gC_enc(ZFLead.utmPNameArr[prmIdx]);\n\n                        if (typeof utmVal !== 'undefined' \u0026\u0026 utmVal != '') {\n                          ifrmSrc += (ifrmSrc.indexOf('?') \u003e 0 ? '\u0026' : '?') + utmPm + '=' + utmVal;\n                        }\n                      }\n                    }\n\n                    if (!new RegExp('[?\u0026]referrername=').test(ifrmSrc)) {\n                      var rfr = window.location.href;\n\n                      try {\n                        rfr = window.self !== window.top\n                          ? window.top.location.href\n                          : (\/^https?:\\\/\\\/[\\w.-]+\\.[a-zA-Z]{2,}\/i.test(rfr) ? rfr : '');\n                      } catch (e) { }\n\n                      if (rfr \u0026\u0026 rfr !== '') {\n                        if (rfr.length \u003e 1800) {\n                          var queryIndex = rfr.indexOf('?');\n\n                          if (queryIndex \u003e -1) {\n                            rfr = rfr.substring(0, queryIndex);\n                          }\n\n                          if (rfr.length \u003e 1800) {\n                            rfr = rfr.substring(0, 1800);\n                          }\n                        }\n\n                        ifrmSrc += (ifrmSrc.indexOf('?') \u003e 0 ? '\u0026' : '?')\n                          + 'referrername=' + encodeURIComponent(rfr);\n                      }\n                    }\n                  } catch (e) { }\n\n                  f.src = ifrmSrc;\n                  f.style.border = 'none';\n                  f.style.height = '220px';\n                  f.style.width = '100%';\n                  f.style.display = 'block';\n                  f.style.transition = 'all 0.5s ease';\n                  f.setAttribute('aria-label', 'UM-D1 Product Newsletter Signup');\n\n                  var d = document.getElementById('zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU');\n                  d.appendChild(f);\n\n                  window.addEventListener('message', function (event) {\n                    var evntData = event.data;\n\n                    if (evntData \u0026\u0026 evntData.constructor == String) {\n                      var zf_ifrm_data = evntData.split('|');\n\n                      if (zf_ifrm_data.length == 2 || zf_ifrm_data.length == 3) {\n                        var zf_perma = zf_ifrm_data[0];\n                        var zf_ifrm_ht_nw = (parseInt(zf_ifrm_data[1], 10) + 35) + 'px';\n                        var iframe = document\n                          .getElementById('zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU')\n                          .getElementsByTagName('iframe')[0];\n\n                        if (iframe.src.indexOf('formperma') \u003e 0 \u0026\u0026 iframe.src.indexOf(zf_perma) \u003e 0) {\n                          var prevIframeHeight = iframe.style.height;\n                          var zf_tout = false;\n\n                          if (zf_ifrm_data.length == 3) {\n                            iframe.scrollIntoView();\n                            zf_tout = true;\n                          }\n\n                          if (prevIframeHeight != zf_ifrm_ht_nw) {\n                            if (zf_tout) {\n                              setTimeout(function () {\n                                iframe.style.height = zf_ifrm_ht_nw;\n                              }, 500);\n                            } else {\n                              iframe.style.height = zf_ifrm_ht_nw;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }, false);\n                } catch (e) { }\n              })();\n            \u003c\/script\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"top-banner-actions d-flex flex-wrap align-items-center justify-content-center justify-content-lg-start mt-4 mb-2\"\u003e\n            \u003cimg class=\"top-banner-kickstarter\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/logo_coming-soon-on-kickstarter.png\" alt=\"Wkrótce na Kickstarterze\"\u003e\n            \u003c!--\n            \u003ca class=\"text-link\" href=\"https:\/\/www.kickstarter.com\/projects\/glinet\/umino-d1-mini-and-pro\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eGet Notified on Kickstarter \u003ci class=\"fa-solid fa-arrow-right ml-2\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\u003c\/a\u003e\n            --\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"top-banner-media col-12 col-lg-7 align-self-lg-stretch pb-4 pb-lg-0 position-relative\"\u003e\n          \u003cimg class=\"top-banner-products\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_hero_banner_mini-and-pro.png\" alt=\"Wideorejestratory Umino D1 Mini i D1 Pro\"\u003e\n          \u003cvideo class=\"d-block\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n            \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_hero_banner_video.mp4\" type=\"video\/mp4\"\u003e\n          \u003c\/video\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- Why Crowdfunding --\u003e\n  \u003csection class=\"py-4 py-lg-5\" style=\"background-color: #131313\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"row justify-content-center text-light text-left\"\u003e\n        \u003cdiv class=\"col-12\"\u003e\n          \u003cdiv class=\"umino-d1-crowdfunding-card gl-rounded p-4 p-lg-5\"\u003e\n            \u003ch2 class=\"font-weight-bold\"\u003eDlaczego finansowanie społecznościowe?\u003c\/h2\u003e\n            \u003cp\u003eUmino to wewnętrzny startup, którego celem jest uczynienie technologii wizualnej bardziej dostępną, przenośną i praktyczną dla osób w podróży. Korzystając z bogatego doświadczenia sprzętowego GL.iNet, nasz zespół działa niezależnie, z własnym budżetem i odpowiedzialnością finansową.\u003c\/p\u003e\n            \u003cp\u003eKickstarter pozwala nam zweryfikować popyt, zaplanować pierwszą serię produkcyjną na podstawie rzeczywistego zainteresowania klientów oraz ograniczyć nadmierne zapasy i odpady.\u003c\/p\u003e\n            \u003cp class=\"mb-0\"\u003eDzięki temu możemy odpowiedzialnie i w zrównoważony sposób wprowadzać innowacyjne produkty na rynek, a pierwszym wspierającym dać możliwość współtworzenia przyszłości Umino.\u003c\/p\u003e\n            \u003chr class=\"mt-lg-5 my-4\"\u003e\n            \u003cdiv class=\"row align-items-center\"\u003e\n              \u003cdiv class=\"col-12 col-lg mb-3 mb-lg-0\"\u003e\n                \u003ch5 class=\"font-weight-bold mb-0\"\u003eZ przepustką VIP zyskaj wcześniejszy dostęp do kampanii Umino na Kickstarterze, ekskluzywne korzyści i specjalne nagrody.\u003c\/h5\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"col-12 col-lg-auto\"\u003e\n                \u003ca class=\"btn btn-light btn-round font-weight-bold\" href=\"\/pl-pl\/pages\/um-d1-vip\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eZdobądź przepustkę VIP\u003c\/a\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n \u003c!-- Highlights --\u003e\n  \u003csection class=\"py-4 py-lg-5 text-light\" style=\"background-color: #131313;\" id=\"highlight\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"umino-d1-highlight-grid\"\u003e\n        \u003cdiv class=\"umino-d1-highlight-grid-row umino-d1-highlight-grid-row-1\"\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--1 p-3 p-lg-4\"\u003e\n            \u003cvideo class=\"umino-d1-highlight-card__video\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n              \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_day-and-night.mp4\" type=\"video\/mp4\"\u003e\n            \u003c\/video\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eSony STARVIS 2 + filtr CPL \u003cbr class=\"d-none d-md-inline\"\u003eWyraźny obraz w każdym świetle\u003c\/h3\u003e\n            \u003cspan class=\"umino-d1-highlight-card__badge umino-d1-highlight-card__badge--day\"\u003e\n              \u003ci class=\"fa-solid fa-sun-bright\" aria-hidden=\"true\"\u003e\u003c\/i\u003e Dzień\n            \u003c\/span\u003e\n            \u003cdiv class=\"umino-d1-highlight-card__badges\"\u003e\n              \u003cspan class=\"umino-d1-highlight-card__badge umino-d1-highlight-card__badge--night\"\u003e\n                \u003ci class=\"fa-solid fa-moon-stars\" aria-hidden=\"true\"\u003e\u003c\/i\u003e Noc\n              \u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--2 p-3 p-lg-4\"\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eMocowanie na przyssawkę. \u003cbr class=\"d-none d-md-inline\"\u003eNie pozostawia śladów.\u003c\/h3\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"umino-d1-highlight-grid-row umino-d1-highlight-grid-row-2\"\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--3 p-3 p-lg-4\"\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eWi-Fi 6\u003c\/h3\u003e\n            \u003cp class=\"font-italic mb-0\"\u003e Transfer \u0026gt; 20 MB\/s\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--4 p-3 p-lg-4\"\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eZamień każdą jazdę w opowieść z podróży\u003c\/h3\u003e\n            \u003cp class=\"font-italic mb-0\"\u003e*Dostępne z aplikacją Umino Cam\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"umino-d1-highlight-card umino-d1-highlight-card--5 p-3 p-lg-4\"\u003e\n            \u003cvideo class=\"umino-d1-highlight-card__video\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n              \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/highlight_chanllenging-light.mp4\" type=\"video\/mp4\"\u003e\n            \u003c\/video\u003e\n            \u003ch3 class=\"font-weight-bold\"\u003eZrównoważone detale \u003cbr class=\"d-none d-md-inline\"\u003ew trudnym oświetleniu\u003c\/h3\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n \u003c!-- Features --\u003e\n  \u003csection class=\"umino-d1-features\" aria-label=\"Funkcje Umino D1\"\u003e\n    \u003cdiv class=\"umino-d1-features-sticky\"\u003e\n      \u003cdiv class=\"umino-d1-features-frame\" style=\"--feature-position-x: 49%;\" data-lens-x=\"56.5\" data-lens-y=\"60\" data-mobile-lens-x=\"53.75\" data-mobile-lens-y=\"67\"\u003e\n        \u003cimg src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_features_01.png\" alt=\"Funkcja Umino D1 1\"\u003e\n        \u003ch3 class=\"umino-d1-features-callout\"\u003e\u003cspan class=\"umino-d1-features-callout-line\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003cspan class=\"umino-d1-features-callout-title\"\u003ePrzód 4K\u003c\/span\u003e\u003c\/h3\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"umino-d1-features-frame\" style=\"--feature-position-x: 46%;\" data-lens-x=\"53.5\" data-lens-y=\"49.5\" data-mobile-lens-x=\"51.75\" data-mobile-lens-y=\"53.5\"\u003e\n        \u003cimg src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_features_03.png\" alt=\"Funkcja Umino D1 3\"\u003e\n        \u003ch3 class=\"umino-d1-features-callout\"\u003e\u003cspan class=\"umino-d1-features-callout-line\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003cspan class=\"umino-d1-features-callout-title\"\u003eWnętrze 1080p\u003c\/span\u003e\u003c\/h3\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"umino-d1-features-frame\" style=\"--feature-position-x: 37%;\" data-lens-x=\"45.5\" data-lens-y=\"56.5\" data-mobile-lens-x=\"41.67\" data-mobile-lens-y=\"63.5\"\u003e\n        \u003cimg src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_features_02.png\" alt=\"Funkcja Umino D1 2\"\u003e\n        \u003ch3 class=\"umino-d1-features-callout\"\u003e\u003cspan class=\"umino-d1-features-callout-line\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003cspan class=\"umino-d1-features-callout-title\"\u003ePrzód 2K\u003c\/span\u003e\u003c\/h3\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003cscript\u003e\n    (function () {\n      var section = document.querySelector(\".umino-d1-features\");\n      if (!section) return;\n\n      var frames = Array.prototype.map.call(section.querySelectorAll(\".umino-d1-features-frame\"), function (frame) {\n        return {\n          element: frame,\n          img: frame.querySelector(\"img\"),\n          callout: frame.querySelector(\".umino-d1-features-callout\"),\n          line: frame.querySelector(\".umino-d1-features-callout-line\"),\n          title: frame.querySelector(\".umino-d1-features-callout-title\")\n        };\n      });\n      var desktopMq = window.matchMedia(\"(min-width: 992px)\");\n      var loading = false;\n\n      function placeCallouts() {\n        var boxW = section.clientWidth;\n        var boxH = section.querySelector(\".umino-d1-features-sticky\").clientHeight;\n        var isDesktop = desktopMq.matches;\n        var anchor = isDesktop ? \"data-lens-\" : \"data-mobile-lens-\";\n\n        for (var i = 0; i \u003c frames.length; i++) {\n          var frame = frames[i];\n          var img = frame.img;\n          if (!img.naturalWidth || !boxW) continue;\n\n          var cover = Math.max(boxW \/ img.naturalWidth, boxH \/ img.naturalHeight);\n          var width = img.naturalWidth * cover;\n          var height = img.naturalHeight * cover;\n          var positionX = isDesktop ? 0.5 : parseFloat(getComputedStyle(img).objectPosition) \/ 100;\n          var lensX = (boxW - width) * positionX + (parseFloat(frame.element.getAttribute(anchor + \"x\")) \/ 100) * width;\n          var lensY = (boxH - height) \/ 2 + (parseFloat(frame.element.getAttribute(anchor + \"y\")) \/ 100) * height;\n          var calloutX = lensX;\n\n          if (!isDesktop) {\n            \/\/ 按最大缩放 1.08 留出 16px 边距；文字避让边缘时，竖线仍对准镜头下沿。\n            var halfTitle = frame.title.offsetWidth \/ 2;\n            var minX = boxW \/ 2 + (16 - boxW \/ 2) \/ 1.08 + halfTitle;\n            var maxX = boxW \/ 2 + (boxW \/ 2 - 16) \/ 1.08 - halfTitle;\n            calloutX = Math.max(minX, Math.min(maxX, lensX));\n            var gap = parseFloat(getComputedStyle(frame.callout).rowGap);\n            var bottom = boxH \/ 2 + (boxH \/ 2 - 16) \/ 1.08;\n            var lineHeight = Math.max(0, Math.min(96, boxH * 0.12, bottom - lensY - gap - frame.title.offsetHeight));\n            frame.callout.style.setProperty(\"--feature-line-offset\", (lensX - calloutX) + \"px\");\n            frame.callout.style.setProperty(\"--feature-line-height\", lineHeight + \"px\");\n          }\n\n          frame.callout.style.left = calloutX + \"px\";\n          frame.callout.style.top = lensY + \"px\";\n        }\n      }\n\n      function loadScript(src, isReady) {\n        if (isReady()) return Promise.resolve();\n        return new Promise(function (resolve, reject) {\n          var script = document.querySelector('script[src=\"' + src + '\"]');\n          if (!script) {\n            script = document.createElement(\"script\");\n            script.src = src;\n            script.addEventListener(\"load\", resolve, { once: true });\n            script.addEventListener(\"error\", reject, { once: true });\n            document.head.appendChild(script);\n            return;\n          }\n\n          script.addEventListener(\"load\", resolve, { once: true });\n          script.addEventListener(\"error\", reject, { once: true });\n        });\n      }\n\n      function setupAnimation() {\n        var hold = 1;\n        var fade = 0.5;\n        ScrollTrigger.getAll().forEach(function (trigger) {\n          if (trigger.trigger !== section) return;\n          var animation = trigger.animation;\n          trigger.kill();\n          if (animation) animation.kill();\n        });\n        placeCallouts();\n        var timeline = gsap.timeline({\n          defaults: { ease: \"none\" },\n          scrollTrigger: {\n            trigger: section,\n            start: \"top top\",\n            end: \"bottom bottom\",\n            scrub: 0.5,\n            onRefreshInit: placeCallouts\n          }\n        });\n\n        frames.forEach(function (frame, index) {\n          var start = index * (hold + fade);\n          var enter = index === 0 ? 0 : start - fade;\n          var end = start + hold + (index \u003c frames.length - 1 ? fade : 0);\n          gsap.set(frame.element, { opacity: index === 0 ? 1 : 0, scale: 1.08, zIndex: index + 1 });\n          gsap.set(frame.line, { scale: 0 });\n          gsap.set(frame.title, { opacity: 0, y: 24 });\n\n          if (index \u003e 0) {\n            timeline.to(frame.element, { opacity: 1, duration: fade, ease: \"sine.inOut\" }, enter);\n            timeline.set(frames[index - 1].element, { opacity: 0 }, start);\n          }\n          timeline.to(frame.element, { scale: 1.02, duration: end - enter }, enter);\n          timeline.to(frame.line, { scale: 1, duration: 0.3, ease: \"power1.out\" }, start);\n          timeline.to(frame.title, { opacity: 1, y: 0, duration: 0.4, ease: \"power1.out\" }, start + 0.12);\n        });\n      }\n\n      function start() {\n        if (loading) return;\n        loading = true;\n        \/\/ 与 Video 使用相同 CDN 地址，复用已经加载或正在加载的脚本。\n        loadScript(\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.11.4\/gsap.min.js\", function () {\n          return !!window.gsap;\n        }).then(function () {\n          return loadScript(\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.11.4\/ScrollTrigger.min.js\", function () {\n            return !!window.ScrollTrigger;\n          });\n        }).then(function () {\n          gsap.registerPlugin(ScrollTrigger);\n          setupAnimation();\n        }).catch(function (error) {\n          loading = false;\n          console.warn(\"[Umino Features] Animation unavailable:\", error);\n        });\n      }\n\n      frames.forEach(function (frame) {\n        if (!frame.img.complete) frame.img.addEventListener(\"load\", placeCallouts, { once: true });\n      });\n      start();\n    })();\n  \u003c\/script\u003e\n\n \u003c!-- Cases --\u003e\n  \u003csection class=\"umino-d1-cases-section py-4 py-lg-5 text-light\" style=\"background-color: #000;\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"row align-items-center mb-5\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 pr-lg-5 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold\"\u003eWyrazistość, na której możesz polegać.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eUchwyć więcej szczegółów przy zmiennym oświetleniu dzięki Sony STARVIS 2.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6\"\u003e\n          \u003cimg class=\"img-fluid gl-rounded w-100\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_clarity-elevated.png\" alt=\"Przetworniki obrazu Sony STARVIS 2 IMX678 i IMX675\"\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"row align-items-center mb-5\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 order-2 order-lg-1\"\u003e\n          \u003cvideo class=\"d-block gl-rounded w-100\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n            \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_see-the-road.mp4\" type=\"video\/mp4\"\u003e\n          \u003c\/video\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6 order-1 order-lg-2 pl-lg-5 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold\"\u003eZobacz drogę, a nie odbicia.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eDołączony filtr CPL ogranicza odblaski na przedniej szybie, zapewniając czystszy, bardziej wyrazisty obraz.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"row align-items-center mb-5\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 pr-lg-5 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold\"\u003eSzczegóły przy każdym kontraście.\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eHDR pomaga zachować szczegóły w jasnych partiach i głębokich cieniach, zapewniając bardziej zrównoważony obraz drogi.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6\"\u003e\n          \u003cvideo class=\"d-block gl-rounded w-100\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n            \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_hdr.mp4\" type=\"video\/mp4\"\u003e\n          \u003c\/video\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"row align-items-center\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 order-2 order-lg-1\"\u003e\n          \u003cvideo class=\"d-block gl-rounded w-100\" autoplay muted loop playsinline aria-hidden=\"true\"\u003e\n            \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_day-and-night.mp4\" type=\"video\/mp4\"\u003e\n          \u003c\/video\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6 order-1 order-lg-2 pl-lg-5 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold mb-0\"\u003eWyraźny obraz. Dniem i nocą.\u003c\/h2\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n \u003c!-- Video \n \u003csection class=\"umino-d1-video d-none d-lg-block\"\u003e\n   \u003cdiv class=\"umino-d1-video-sticky\"\u003e\n     \u003cvideo playsinline=\"playsinline\" muted=\"muted\" preload=\"none\" aria-hidden=\"true\"\u003e\n       \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino_video.mp4\" type=\"video\/mp4\"\u003e\n     \u003c\/video\u003e\n     \u003cdiv class=\"umino-d1-video-title container text-center text-light\"\u003e\n       \u003ch2 class=\"font-weight-bold mb-0\"\u003eThe Car is Rented.\u003cbr\u003eThe Journey Is Yours.\u003c\/h2\u003e\n     \u003c\/div\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n --\u003e\n\n \u003c!-- Video mobile \n \u003csection class=\"umino-d1-video-mobile d-lg-none py-5 text-light\"\u003e\n   \u003cvideo playsinline=\"playsinline\" muted=\"muted\" preload=\"none\" aria-hidden=\"true\"\u003e\n     \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino_video.mp4\" type=\"video\/mp4\"\u003e\n   \u003c\/video\u003e\n   \u003cdiv class=\"container text-center\"\u003e\n     \u003ch2 class=\"font-weight-bold mb-0\"\u003eThe Car is Rented.\u003cbr\u003eThe Journey Is Yours.\u003c\/h2\u003e\n   \u003c\/div\u003e\n \u003c\/section\u003e\n \u003cscript\u003e\n   (function () {\n     var GSAP_URL = \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.11.4\/gsap.min.js\";\n     var ST_URL = \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.11.4\/ScrollTrigger.min.js\";\n     var desktopMq = window.matchMedia(\"(min-width: 992px)\");\n     var desktopTl;\n     var playGen = 0;\n     var unlocked = false;\n\n     function loadScript(src) {\n       return new Promise(function (resolve, reject) {\n         var existing = document.querySelector('script[src=\"' + src + '\"]');\n         if (existing) {\n           if ((src.indexOf(\"ScrollTrigger\") !== -1 \u0026\u0026 window.ScrollTrigger) ||\n               (src.indexOf(\"gsap.min.js\") !== -1 \u0026\u0026 window.gsap)) {\n             resolve();\n             return;\n           }\n           existing.addEventListener(\"load\", resolve);\n           existing.addEventListener(\"error\", reject);\n           return;\n         }\n         var script = document.createElement(\"script\");\n         script.src = src;\n         script.onload = resolve;\n         script.onerror = reject;\n         document.head.appendChild(script);\n       });\n     }\n\n     function ensureGsap() {\n       if (window.gsap \u0026\u0026 window.ScrollTrigger) return Promise.resolve();\n       var ready = window.gsap ? Promise.resolve() : loadScript(GSAP_URL);\n       return ready.then(function () {\n         return window.ScrollTrigger ? Promise.resolve() : loadScript(ST_URL);\n       });\n     }\n\n     function killDesktop(section) {\n       if (desktopTl) {\n         if (desktopTl.scrollTrigger) desktopTl.scrollTrigger.kill();\n         desktopTl.kill();\n         desktopTl = null;\n       }\n       if (section) section.style.height = \"\";\n     }\n\n     function freezeLastFrame(video, gen) {\n       if (!video) return;\n       video.pause();\n       video.muted = true;\n       function toEnd() {\n         if (gen !== playGen) return;\n         if (video.duration \u0026\u0026 isFinite(video.duration)) {\n           video.currentTime = Math.max(0, video.duration - 0.05);\n         }\n       }\n       if (video.readyState \u003e= 1) {\n         toEnd();\n       } else {\n         video.addEventListener(\"loadedmetadata\", toEnd, { once: true });\n       }\n     }\n\n     function unlockVideos(desktopVideo, mobileVideo) {\n       if (unlocked) return;\n       unlocked = true;\n       [desktopVideo, mobileVideo].forEach(function (video) {\n         if (!video) return;\n         var playPromise = video.play();\n         if (playPromise \u0026\u0026 playPromise.then) {\n           playPromise.then(function () {\n             video.pause();\n           }).catch(function () {});\n         }\n       });\n     }\n\n     function setupDesktop(section, video, gen) {\n       if (!section || !video) return;\n\n       video.pause();\n       video.muted = true;\n       gsap.registerPlugin(ScrollTrigger);\n\n       function bind() {\n         if (gen !== playGen || !desktopMq.matches || !video.duration || !isFinite(video.duration)) return;\n\n         var screens = Math.max(1, video.duration * 0.28);\n         var title = section.querySelector(\".umino-d1-video-title\");\n         section.style.height = (1 + screens) * 100 + \"vh\";\n\n         desktopTl = gsap.timeline({\n           scrollTrigger: {\n             trigger: section,\n             start: \"top 10%\",\n             end: \"bottom bottom\",\n             scrub: 0.4,\n             invalidateOnRefresh: true\n           }\n         });\n\n         desktopTl.to(video, {\n           currentTime: video.duration,\n           ease: \"none\",\n           duration: 1\n         }, 0);\n\n         if (title) {\n           desktopTl.fromTo(title, {\n             opacity: 0,\n             y: 32\n           }, {\n             opacity: 1,\n             y: 0,\n             ease: \"none\",\n             duration: 0.2\n           }, 0.55);\n         }\n\n         ScrollTrigger.refresh();\n       }\n\n       if (video.readyState \u003e= 1) {\n         bind();\n       } else {\n         video.addEventListener(\"loadedmetadata\", bind, { once: true });\n       }\n     }\n\n     function apply() {\n       var desktopSection = document.querySelector(\".umino-d1-main-container .umino-d1-video\");\n       var desktopVideo = desktopSection \u0026\u0026 desktopSection.querySelector(\"video\");\n       var mobileSection = document.querySelector(\".umino-d1-main-container .umino-d1-video-mobile\");\n       var mobileVideo = mobileSection \u0026\u0026 mobileSection.querySelector(\"video\");\n       var gen = ++playGen;\n\n       killDesktop(desktopSection);\n\n       if (desktopMq.matches) {\n         if (mobileVideo) {\n           mobileVideo.pause();\n           mobileVideo.preload = \"none\";\n         }\n         if (desktopVideo) {\n           desktopVideo.preload = \"auto\";\n           desktopVideo.load();\n         }\n         ensureGsap().then(function () {\n           if (gen !== playGen || !desktopMq.matches) return;\n           setupDesktop(desktopSection, desktopVideo, gen);\n         });\n       } else {\n         if (desktopVideo) {\n           desktopVideo.pause();\n           desktopVideo.preload = \"none\";\n         }\n         if (mobileVideo) {\n           mobileVideo.preload = \"auto\";\n           mobileVideo.load();\n           freezeLastFrame(mobileVideo, gen);\n         }\n       }\n     }\n\n     function start() {\n       var desktopVideo = document.querySelector(\".umino-d1-main-container .umino-d1-video video\");\n       var mobileVideo = document.querySelector(\".umino-d1-main-container .umino-d1-video-mobile video\");\n       function unlock() {\n         unlockVideos(desktopVideo, mobileVideo);\n       }\n       window.addEventListener(\"touchstart\", unlock, { once: true });\n       window.addEventListener(\"click\", unlock, { once: true });\n\n       apply();\n       if (desktopMq.addEventListener) {\n         desktopMq.addEventListener(\"change\", apply);\n       } else if (desktopMq.addListener) {\n         desktopMq.addListener(apply);\n       }\n     }\n\n     if (document.readyState === \"loading\") {\n       document.addEventListener(\"DOMContentLoaded\", start);\n     } else {\n       start();\n     }\n   })();\n \u003c\/script\u003e\n --\u003e\n\n \u003c!-- Travel Case --\u003e\n  \u003csection class=\"umino-d1-travel-section py-4 py-lg-5 text-light\" style=\"background-color: #000;\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"row align-items-center\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 mb-4 mb-lg-0\"\u003e\n          \u003ch2 class=\"font-weight-bold\"\u003ePodróż z przemyślaną organizacją\u003c\/h2\u003e\n          \u003cp class=\"mb-0\"\u003eDołączone etui podróżne przechowuje wideorejestrator i niezbędne akcesoria w jednym dopracowanym, wygodnym do noszenia zestawie.\u003c\/p\u003e\n         \n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6 pl-lg-5\"\u003e\n          \u003cimg class=\"img-fluid gl-rounded w-100\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/umino-d1_travel.jpg\" alt=\"Etui podróżne Umino D1\"\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n  \u003c!-- Driving Awareness \n  \u003csection class=\"umino-d1-adas-section py-4 py-lg-5 text-light\" style=\"background-color: #000;\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"text-center mb-5\"\u003e\n        \u003ch4 class=\"umino-d1-muted\" style=\"font-weight: 400\"\u003e*Umino D1 Pro Only\u003c\/h4\u003e\n        \u003ch2 class=\"font-weight-bold\"\u003eStay One Step Ahead on Unfamiliar Roads.\u003c\/h2\u003e\n        \u003cp class=\"umino-d1-muted mb-0\"\u003eD1 Pro adds an extra layer of driving awareness to help you stay alert\u003cbr class=\"d-none d-lg-inline\"\u003e and react with greater confidence on the road.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"row align-items-center\"\u003e\n        \u003cdiv class=\"col-12 col-lg-6 mb-4 mb-lg-0\"\u003e\n          \u003cdiv class=\"tab-content\"\u003e\n            \u003cdiv class=\"tab-pane active\" id=\"umino-d1-forward-collision\" role=\"tabpanel\" aria-labelledby=\"umino-d1-forward-collision-tab\"\u003e\n              \u003cvideo class=\"d-block gl-rounded w-100\" muted loop playsinline preload=\"none\" aria-label=\"Forward Collision Warning demonstration\"\u003e\n                \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/video_forward-collision-warning.mp4\" type=\"video\/mp4\"\u003e\n              \u003c\/video\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"tab-pane\" id=\"umino-d1-following-distance\" role=\"tabpanel\" aria-labelledby=\"umino-d1-following-distance-tab\"\u003e\n              \u003cvideo class=\"d-block gl-rounded w-100\" muted loop playsinline preload=\"none\" aria-label=\"Following Distance Warning demonstration\"\u003e\n                \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/video_following-distance-warning.mp4\" type=\"video\/mp4\"\u003e\n              \u003c\/video\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"tab-pane\" id=\"umino-d1-pedestrian-collision\" role=\"tabpanel\" aria-labelledby=\"umino-d1-pedestrian-collision-tab\"\u003e\n              \u003cvideo class=\"d-block gl-rounded w-100\" muted loop playsinline preload=\"none\" aria-label=\"Pedestrian Collision Warning demonstration\"\u003e\n                \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/video_pedestrian-collision-warning.mp4\" type=\"video\/mp4\"\u003e\n              \u003c\/video\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"tab-pane\" id=\"umino-d1-lane-departure\" role=\"tabpanel\" aria-labelledby=\"umino-d1-lane-departure-tab\"\u003e\n              \u003cvideo class=\"d-block gl-rounded w-100\" muted loop playsinline preload=\"none\" aria-label=\"Lane Departure Warning demonstration\"\u003e\n                \u003csource src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/video_lane-departure-warning.mp4\" type=\"video\/mp4\"\u003e\n              \u003c\/video\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"col-12 col-lg-6 pl-lg-5\"\u003e\n          \u003cdiv class=\"umino-d1-adas-tabs nav flex-column\" role=\"tablist\" aria-label=\"Driving awareness features\" aria-orientation=\"vertical\"\u003e\n            \u003ca class=\"nav-link active py-2 pl-3 mb-3\" id=\"umino-d1-forward-collision-tab\" data-toggle=\"tab\" href=\"#umino-d1-forward-collision\" role=\"tab\" aria-controls=\"umino-d1-forward-collision\" aria-selected=\"true\"\u003e\n              \u003ch3 class=\"font-weight-bold mb-0\"\u003eForward Collision Warning\u003c\/h3\u003e\n              \u003cdiv class=\"umino-d1-adas-description\"\u003e\n                \u003cdiv\u003e\u003cp class=\"mt-2 mb-0\"\u003eAlerts the driver when the vehicle ahead decelerates suddenly, or the distance to that vehicle is closing too quickly.\u003c\/p\u003e\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/a\u003e\n            \u003ca class=\"nav-link py-2 pl-3 mb-3\" id=\"umino-d1-following-distance-tab\" data-toggle=\"tab\" href=\"#umino-d1-following-distance\" role=\"tab\" aria-controls=\"umino-d1-following-distance\" aria-selected=\"false\"\u003e\n              \u003ch3 class=\"font-weight-bold mb-0\"\u003eFollowing Distance Warning\u003c\/h3\u003e\n              \u003cdiv class=\"umino-d1-adas-description\"\u003e\n                \u003cdiv\u003e\u003cp class=\"mt-2 mb-0\"\u003eAlerts the driver when the following distance to the vehicle ahead is too short.\u003c\/p\u003e\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/a\u003e\n            \u003ca class=\"nav-link py-2 pl-3 mb-3\" id=\"umino-d1-pedestrian-collision-tab\" data-toggle=\"tab\" href=\"#umino-d1-pedestrian-collision\" role=\"tab\" aria-controls=\"umino-d1-pedestrian-collision\" aria-selected=\"false\"\u003e\n              \u003ch3 class=\"font-weight-bold mb-0\"\u003ePedestrian Collision Warning\u003c\/h3\u003e\n              \u003cdiv class=\"umino-d1-adas-description\"\u003e\n                \u003cdiv\u003e\u003cp class=\"mt-2 mb-0\"\u003eAlerts the driver when a pedestrian is detected in the vehicle’s path.\u003c\/p\u003e\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/a\u003e\n            \u003ca class=\"nav-link py-2 pl-3\" id=\"umino-d1-lane-departure-tab\" data-toggle=\"tab\" href=\"#umino-d1-lane-departure\" role=\"tab\" aria-controls=\"umino-d1-lane-departure\" aria-selected=\"false\"\u003e\n              \u003ch3 class=\"font-weight-bold mb-0\"\u003eLane Departure Warning\u003c\/h3\u003e\n              \u003cdiv class=\"umino-d1-adas-description\"\u003e\n                \u003cdiv\u003e\u003cp class=\"mt-2 mb-0\"\u003eAlerts the driver when the vehicle begins to drift out of its lane.\u003c\/p\u003e\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/a\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"small umino-d1-muted font-italic mt-4 mb-0\"\u003e*ADAS alerts are for assistance only and do not replace driver attention or judgment. Always follow local traffic laws and road conditions.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003cscript\u003e\n    (function () {\n      function initDrivingAwarenessTabs() {\n        var section = document.querySelector(\".umino-d1-adas-section\");\n        if (!section || !window.jQuery || !window.jQuery.fn.tab) return;\n        var tabs = section.querySelector(\".umino-d1-adas-tabs\");\n        var videos = section.querySelectorAll(\"video\");\n        var inView = false;\n\n        function updatePlayback() {\n          tabs.classList.toggle(\"is-running\", inView \u0026\u0026 !document.hidden);\n          videos.forEach(function (video) {\n            if (video.closest(\".tab-pane\").classList.contains(\"active\") \u0026\u0026 inView \u0026\u0026 !document.hidden) {\n              video.play().catch(function () {});\n            } else {\n              video.pause();\n            }\n          });\n        }\n\n        tabs.addEventListener(\"animationend\", function (event) {\n          if (event.animationName !== \"umino-d1-adas-progress\") return;\n          var active = tabs.querySelector(\".nav-link.active\");\n          if (event.target !== active) return;\n          window.jQuery(active.nextElementSibling || tabs.firstElementChild).tab(\"show\");\n        });\n\n        tabs.addEventListener(\"click\", function (event) {\n          if (!event.target.closest(\".nav-link\")) return;\n          tabs.classList.add(\"is-resetting\");\n          void tabs.offsetWidth;\n          tabs.classList.remove(\"is-resetting\");\n        });\n\n        window.jQuery(tabs).on(\"shown.bs.tab\", function (event) {\n          var video = section.querySelector(event.target.getAttribute(\"href\") + \" video\");\n          video.currentTime = 0;\n          updatePlayback();\n        });\n\n        new IntersectionObserver(function (entries) {\n          inView = entries[0].isIntersecting;\n          updatePlayback();\n        }).observe(section);\n        document.addEventListener(\"visibilitychange\", updatePlayback);\n      }\n\n      if (document.readyState === \"loading\") {\n        document.addEventListener(\"DOMContentLoaded\", initDrivingAwarenessTabs, { once: true });\n      } else {\n        initDrivingAwarenessTabs();\n      }\n    })();\n  \u003c\/script\u003e\n  --\u003e\n\n  \u003c!-- Specifications --\u003e\n  \u003csection class=\"umino-d1-spec-section py-5 text-light\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003ch2 class=\"font-weight-bold mb-4\"\u003eSpecyfikacja\u003c\/h2\u003e\n      \u003cdiv class=\"umino-d1-spec-card\"\u003e\n        \u003cdiv class=\"umino-d1-spec-images\"\u003e\n          \u003cimg class=\"mb-3\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/table_d1-mini.png\" alt=\"Wideorejestrator Umino D1 Mini\"\u003e\n          \u003cimg class=\"mb-3\" src=\"https:\/\/static.gl-inet.com\/www\/images\/products\/umino-d1\/table_d1-pro.png\" alt=\"Wideorejestrator Umino D1 Pro\"\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"umino-d1-spec-products\"\u003e\n          \u003ch4\u003eUmino D1 Mini\u003c\/h4\u003e\n          \u003ch4\u003eUmino D1 Pro\u003c\/h4\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"umino-d1-spec-compare\"\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-microchip\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003eSony STARVIS 2\u003cbr\u003eIMX675 (5 MP)\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003ePrzetwornik obrazu\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-microchip\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003eSony STARVIS 2\u003cbr\u003eIMX678 (8 MP)\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003ePrzetwornik obrazu\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-video\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e2K @ 60 fps\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eMaksymalna rozdzielczość\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-video\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003ePrzód 4K @ 30 fps\u003cbr\u003eWnętrze 1080p @ 30 fps\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eMaksymalna rozdzielczość\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-aperture\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003eF1.8 \/ 140°\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003ePrzysłona \/ pole widzenia\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-aperture\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003ePrzód F1.8 \/ 140°\u003cbr\u003eWnętrze F2.0 \/ 125°\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003ePrzysłona \/ pole widzenia\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-display\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e1.69 cala\u003cbr\u003eIPS\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eKolorowy ekran dotykowy\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-display\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e1.69 cala\u003cbr\u003eIPS z pełną laminacją\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eKolorowy ekran dotykowy\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-expand\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e63 x 55.83 x 27.76\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eWymiary (mm)\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-expand\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e95 x 56.8 x 27.8\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eWymiary (mm)\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"umino-d1-spec-compare-row\"\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-weight-hanging\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e103g\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eMasa\u003c\/p\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-cell\"\u003e\n              \u003ci class=\"fa-regular fa-weight-hanging\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n              \u003cp class=\"umino-d1-spec-value\"\u003e153g\u003c\/p\u003e\n              \u003cp class=\"umino-d1-spec-name small mt-auto\"\u003eMasa\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cbutton class=\"umino-d1-spec-toggle\" type=\"button\" data-toggle=\"collapse\" data-target=\"#umino-d1-spec-shared\" aria-expanded=\"false\" aria-controls=\"umino-d1-spec-shared\"\u003e\n          Rozwiń, aby dowiedzieć się więcej \u003ci class=\"fa-solid fa-chevron-down\" aria-hidden=\"true\"\u003e\u003c\/i\u003e\n        \u003c\/button\u003e\n        \u003cdiv class=\"collapse\" id=\"umino-d1-spec-shared\"\u003e\n          \u003cdiv class=\"umino-d1-spec-shared\"\u003e\n            \u003ch5\u003eSprzęt\u003c\/h5\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003ePozycjonowanie (GNSS)\u003c\/span\u003e\u003cspan\u003eObsługiwane\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eG-Sensor\u003c\/span\u003e\u003cspan\u003eObsługiwane\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eŁączność bezprzewodowa\u003c\/span\u003e\u003cspan\u003eWi-Fi 6 (2.4 GHz \u0026amp; 5 GHz) + Bluetooth 5.0\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eSzybkość transferu Wi-Fi\u003c\/span\u003e\u003cspan\u003eDo 20 MB\/s\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eDźwięk\u003c\/span\u003e\u003cspan\u003ePodwójny mikrofon + głośnik\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eRozszerzenie pamięci\u003c\/span\u003e\u003cspan\u003emicroSD do 512 GB (exFAT)\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eZasilanie awaryjne\u003c\/span\u003e\u003cspan\u003eSuperkondensator\u003c\/span\u003e\u003c\/div\u003e\n            \u003ch5\u003eWarunki środowiskowe\u003c\/h5\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eTemperatura pracy\u003c\/span\u003e\u003cspan\u003e-10 ~ 60°C (14 ~ 140°F)\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eWilgotność podczas pracy\u003c\/span\u003e\u003cspan\u003e5% ~ 95%, bez kondensacji\u003c\/span\u003e\u003c\/div\u003e\n            \u003cdiv class=\"umino-d1-spec-shared-row\"\u003e\u003cspan\u003eStopień ochrony\u003c\/span\u003e\u003cspan\u003eIP4X\u003c\/span\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n   \u003c!-- Disclaimer --\u003e\n   \u003csection class=\"py-3 py-lg-4 text-light\" style=\"background-color: #000;\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cp class=\"mb-0 small\"\u003e*Przepisy dotyczące prywatności, nadzoru i nagrywania różnią się zależnie od lokalizacji. Korzystając z produktu, przestrzegaj wszystkich obowiązujących przepisów.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n\u003c\/main\u003e\n\n\u003cscript src=\"https:\/\/js.gl-inet.com\/web-sdk\/6.1\/braze.min.js\"\u003e\u003c\/script\u003e\n\u003cscript\u003e\n  (function () {\n    if (window.__brazeBannerLoaded) {\n      return;\n    }\n\n    window.__brazeBannerLoaded = true;\n\n    const placementId = 'pdp_top_banner_um-d1';\n    let bannerInserted = false;\n\n    function showZohoFallback() {\n      const bannerContainer = document.getElementById('global-banner-container');\n      const zohoFallback = document.getElementById('zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU');\n\n      if (bannerContainer) {\n        bannerContainer.style.display = 'none';\n      }\n\n      if (zohoFallback) {\n        zohoFallback.style.display = '';\n      } else {\n        console.warn('[Braze] Zoho fallback container not found');\n      }\n    }\n\n    try {\n      if (typeof braze === 'undefined') {\n        throw new Error('Braze SDK is unavailable');\n      }\n\n      const initialized = braze.initialize('a3cb3cae-dc89-461c-9ddf-ca3980efb0c6', {\n        baseUrl: 'sdk.iad-07.braze.com',\n        enableLogging: true,\n        allowUserSuppliedJavascript: true,\n      });\n\n      if (!initialized) {\n        console.error('[Braze] SDK initialization failed');\n        showZohoFallback();\n        return;\n      }\n\n      const bannerContainer = document.getElementById('global-banner-container');\n      const desktop = window.matchMedia('(min-width: 992px)');\n\n      function updateAlignment() {\n        const iframe = bannerContainer.querySelector('iframe');\n        if (!iframe || !iframe.contentDocument) return;\n        iframe.contentDocument.documentElement.style.setProperty(\n          '--subscribe-align', desktop.matches ? 'flex-start' : 'center'\n        );\n      }\n\n      function styleBanner(iframe) {\n        const doc = iframe.contentDocument;\n        if (!doc || !doc.querySelector('#mc-embedded-subscribe-form')) return;\n\n        if (!doc.getElementById('umino-subscribe-styles')) {\n          const style = doc.createElement('style');\n          style.id = 'umino-subscribe-styles';\n          style.textContent = `\n            body #mc_embed_shell {\n              justify-content: var(--subscribe-align);\n              margin-top: 0;\n            }\n\n            body #mc-embedded-subscribe-form {\n              width: 100%;\n              margin: 0;\n              justify-content: var(--subscribe-align);\n            }\n\n            body #mc_embed_shell input[type=\"submit\"] {\n              background-color: #2b2b2b;\n              transition: none;\n            }\n\n            body #mc_embed_shell input[type=\"submit\"]:hover {\n              background-color: #3a3a3a;\n            }\n          `;\n          doc.head.appendChild(style);\n        }\n\n        updateAlignment();\n        iframe.setAttribute('data-subscribe-styled', '');\n      }\n\n      if (!bannerContainer) {\n        showZohoFallback();\n        return;\n      }\n\n      bannerContainer.addEventListener('load', function (event) {\n        if (event.target.tagName === 'IFRAME') styleBanner(event.target);\n      }, true);\n\n      const bannerObserver = new MutationObserver(function () {\n        const iframe = bannerContainer.querySelector('iframe');\n        if (iframe \u0026\u0026 iframe.contentDocument \u0026\u0026 iframe.contentDocument.readyState === 'complete') {\n          styleBanner(iframe);\n        }\n      });\n      bannerObserver.observe(bannerContainer, { childList: true });\n      desktop.addEventListener('change', updateAlignment);\n\n      braze.subscribeToBannersUpdates(function (banners) {\n        console.log('[Braze] Banners updated:', banners);\n\n        const container = document.getElementById('global-banner-container');\n\n        if (!container) {\n          console.warn('[Braze] Banner container not found');\n          return;\n        }\n\n        if (bannerInserted) {\n          console.log('[Braze] Banner already inserted, skipping duplicate render');\n          return;\n        }\n\n        const banner = braze.getBanner(placementId);\n        const zohoFallback = document.getElementById('zf_div_NQISHJHnTfSITvrfpf8hR513YTZK9Hdkvx5Y2RXyhnU');\n\n        console.log('[Braze] Banner:', banner);\n\n        if (!banner) {\n          console.warn('[Braze] No Banner for placement:', placementId);\n          showZohoFallback();\n          return;\n        }\n\n        if (banner.isControl) {\n          console.warn('[Braze] Banner is control');\n          container.style.display = 'none';\n          if (zohoFallback) zohoFallback.style.display = 'none';\n          return;\n        }\n\n        container.innerHTML = '';\n        container.style.display = '';\n        if (zohoFallback) zohoFallback.style.display = 'none';\n\n        braze.insertBanner(banner, container);\n        bannerInserted = true;\n\n        console.log('[Braze] Banner inserted:', placementId);\n      });\n\n      braze.openSession();\n\n      setTimeout(function () {\n        console.log('[Braze] Requesting Banner:', placementId);\n        braze.requestBannersRefresh([placementId]);\n      }, 1500);\n    } catch (error) {\n      console.error('[Braze] SDK initialization failed:', error);\n      showZohoFallback();\n    }\n  })();\n\u003c\/script\u003e\n","brand":"GL.iNet","offers":[{"title":"Backer Club \/ D1 Pro \/ Yes","offer_id":57934590443703,"sku":null,"price":10.95,"currency_code":"EUR","in_stock":false},{"title":"Backer Club \/ D1 Pro \/ No","offer_id":57934590476471,"sku":null,"price":10.95,"currency_code":"EUR","in_stock":false},{"title":"Backer Club \/ D1 Mini \/ Yes","offer_id":57934590509239,"sku":null,"price":10.95,"currency_code":"EUR","in_stock":false},{"title":"Backer Club \/ D1 Mini \/ No","offer_id":57934590542007,"sku":null,"price":10.95,"currency_code":"EUR","in_stock":false},{"title":"Insider \/ D1 Pro \/ Yes","offer_id":57934590574775,"sku":null,"price":1.95,"currency_code":"EUR","in_stock":false},{"title":"Insider \/ D1 Pro \/ No","offer_id":57934590607543,"sku":null,"price":1.95,"currency_code":"EUR","in_stock":false},{"title":"Insider \/ D1 Mini \/ Yes","offer_id":57934590640311,"sku":null,"price":1.95,"currency_code":"EUR","in_stock":false},{"title":"Insider \/ D1 Mini \/ No","offer_id":57934590673079,"sku":null,"price":1.95,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0711\/7733\/9063\/files\/3A013936-8060-4ECD-B594-536D8D623A43.png?v=1787735049","url":"https:\/\/www.gl-inet.com\/pl-pl\/products\/umino-um-d1","provider":"GL.iNet","version":"1.0","type":"link"}