{"product_id":"spring-back-parking-sign-stands-112cm-2-pack","title":"2-Pack 112 cm Spring-Back Parking Sign Stands","description":"\u003cp\u003eGuide drivers and pedestrians around car parks, entrances and facility access routes with this 2-pack of spring-back parking sign stands. Each stand is approximately 112 cm high and uses a flexible lower joint with a low-profile surface-mount base.\u003c\/p\u003e\n\u003ch2\u003eKey Features\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003eTwo sign stands per pack in the selected message version.\u003c\/li\u003e\n\u003cli\u003eSpring-back lower joint designed to return towards its upright position after incidental contact.\u003c\/li\u003e\n\u003cli\u003ePrinted message options use high-intensity reflective sheeting for visibility when illuminated.\u003c\/li\u003e\n\u003cli\u003eNarrow frame and detachable sign assembly for installation, replacement and storage.\u003c\/li\u003e\n\u003cli\u003eBase with anchor holes for mounting to a suitable surface.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eChoose Your Sign\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003eNo Sign Sheet: two stands without printed sign sheeting.\u003c\/li\u003e\n\u003cli\u003eADA Parking: the ADA parking artwork shown in the product images.\u003c\/li\u003e\n\u003cli\u003eValet Parking.\u003c\/li\u003e\n\u003cli\u003ePedestrian Crosswalk.\u003c\/li\u003e\n\u003cli\u003eNo Parking.\u003c\/li\u003e\n\u003cli\u003eParking.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eThe supplied wording and graphics follow the selected variant. The ADA Parking option describes the artwork; it does not certify compliance with European accessibility or road-sign requirements.\u003c\/p\u003e\u003ch2\u003eSpecifications\u003c\/h2\u003e\u003cdiv style=\"overflow-x:auto\"\u003e\u003ctable\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003ePack quantity\u003c\/th\u003e\n\u003ctd\u003e2 spring-back parking sign stands\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eOverall height\u003c\/th\u003e\n\u003ctd\u003eApproximately 112 cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eMaximum frame width\u003c\/th\u003e\n\u003ctd\u003eApproximately 241 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eSign sheet size\u003c\/th\u003e\n\u003ctd\u003eApproximately 838 × 216 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eBase width\u003c\/th\u003e\n\u003ctd\u003eApproximately 203 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eFrame and base colour\u003c\/th\u003e\n\u003ctd\u003eBlack\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eInstallation\u003c\/th\u003e\n\u003ctd\u003eSurface-mount base with anchor holes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/div\u003e\u003ch2\u003eInstallation and Use\u003c\/h2\u003e\u003cp\u003eChoose fixings suitable for the installation surface and site conditions. The No Sign Sheet option has no printed message sheet. Printed options are supplied in the selected design. This product is intended for parking and facility guidance and is not represented as a crash-rated work-zone device.\u003c\/p\u003e\n\u003c!-- ORANLITE_US_TIKTOK_IMPORT_20261001_START --\u003e\n\u003csection id=\"oranlite-vertical-panel-message-slider\" data-oranlite-tiktok-slider=\"vertical-panel-messages\" aria-labelledby=\"oranlite-vertical-panel-message-heading\"\u003e\n  \u003cstyle\u003e\n    #oranlite-vertical-panel-message-slider {\n      --oranlite-ink: #222;\n      --oranlite-muted: #626262;\n      --oranlite-line: #d7d7d7;\n      margin: 32px 0;\n    }\n\n    #oranlite-vertical-panel-message-slider * {\n      box-sizing: border-box;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-slider-intro {\n      margin-bottom: 22px;\n    }\n\n    #oranlite-vertical-panel-message-slider h2 {\n      margin: 0 0 8px;\n      color: var(--oranlite-ink);\n      font-size: 24px;\n      line-height: 1.25;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-slider-intro p,\n    #oranlite-vertical-panel-message-slider .oranlite-slide-copy {\n      margin: 0;\n      color: var(--oranlite-muted);\n      line-height: 1.55;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-slider-layout {\n      display: grid;\n      grid-template-columns: minmax(260px, 400px) minmax(220px, 1fr);\n      gap: 28px;\n      align-items: center;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-player {\n      position: relative;\n      width: 100%;\n      max-width: 400px;\n      margin: 0 auto;\n      aspect-ratio: 9 \/ 16;\n      overflow: hidden;\n      border-radius: 6px;\n      background: #000;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-player iframe {\n      position: absolute;\n      inset: 0;\n      width: 100%;\n      height: 100%;\n      border: 0;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-slide-kicker {\n      margin: 0 0 6px;\n      color: var(--oranlite-muted);\n      font-size: 13px;\n      font-weight: 700;\n      letter-spacing: 0;\n      text-transform: uppercase;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-slide-title {\n      margin: 0 0 8px;\n      color: var(--oranlite-ink);\n      font-size: 22px;\n      line-height: 1.25;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-video-tabs {\n      display: grid;\n      gap: 8px;\n      margin: 22px 0;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-video-tab {\n      display: flex;\n      width: 100%;\n      min-height: 46px;\n      align-items: center;\n      gap: 10px;\n      padding: 10px 12px;\n      border: 1px solid var(--oranlite-line);\n      border-radius: 4px;\n      background: #fff;\n      color: var(--oranlite-ink);\n      font: inherit;\n      font-weight: 650;\n      line-height: 1.25;\n      text-align: left;\n      cursor: pointer;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-video-tab:hover {\n      border-color: #777;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-video-tab:focus-visible,\n    #oranlite-vertical-panel-message-slider .oranlite-slider-arrow:focus-visible,\n    #oranlite-vertical-panel-message-slider .oranlite-tiktok-link:focus-visible {\n      outline: 3px solid rgba(0, 104, 183, 0.35);\n      outline-offset: 2px;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-video-tab[aria-selected=\"true\"] {\n      border-color: var(--oranlite-ink);\n      background: #f5f5f5;\n      box-shadow: inset 4px 0 0 var(--tab-color);\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-color-swatch {\n      flex: 0 0 16px;\n      width: 16px;\n      height: 16px;\n      border: 1px solid rgba(0, 0, 0, 0.22);\n      border-radius: 50%;\n      background: var(--tab-color);\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-slider-controls {\n      display: grid;\n      grid-template-columns: 44px 1fr 44px;\n      gap: 10px;\n      align-items: center;\n      margin-top: 18px;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-slider-arrow {\n      display: inline-flex;\n      width: 44px;\n      height: 44px;\n      align-items: center;\n      justify-content: center;\n      padding: 0;\n      border: 1px solid var(--oranlite-ink);\n      border-radius: 4px;\n      background: #fff;\n      color: var(--oranlite-ink);\n      font: inherit;\n      font-size: 24px;\n      line-height: 1;\n      cursor: pointer;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-slider-arrow:hover {\n      background: var(--oranlite-ink);\n      color: #fff;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-slide-counter {\n      color: var(--oranlite-muted);\n      font-variant-numeric: tabular-nums;\n      text-align: center;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-tiktok-link-wrap {\n      margin: 16px 0 0;\n      text-align: center;\n    }\n\n    #oranlite-vertical-panel-message-slider .oranlite-tiktok-link {\n      color: var(--oranlite-ink);\n      font-weight: 700;\n      text-underline-offset: 3px;\n    }\n\n    @media (max-width: 699px) {\n      #oranlite-vertical-panel-message-slider {\n        margin: 28px 0;\n      }\n\n      #oranlite-vertical-panel-message-slider .oranlite-slider-layout {\n        grid-template-columns: minmax(0, 1fr);\n        gap: 22px;\n      }\n\n      #oranlite-vertical-panel-message-slider .oranlite-slider-details {\n        min-width: 0;\n      }\n\n      #oranlite-vertical-panel-message-slider .oranlite-video-tabs {\n        display: flex;\n        width: 100%;\n        gap: 8px;\n        overflow-x: auto;\n        overscroll-behavior-inline: contain;\n        padding: 2px 2px 8px;\n        scroll-snap-type: inline mandatory;\n        scrollbar-width: thin;\n        -webkit-overflow-scrolling: touch;\n      }\n\n      #oranlite-vertical-panel-message-slider .oranlite-video-tab {\n        flex: 0 0 auto;\n        width: auto;\n        min-width: max-content;\n        scroll-snap-align: start;\n      }\n\n      #oranlite-vertical-panel-message-slider .oranlite-video-tab[aria-selected=\"true\"] {\n        box-shadow: inset 0 -4px 0 var(--tab-color);\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"oranlite-slider-intro\"\u003e\n    \u003ch2 id=\"oranlite-vertical-panel-message-heading\"\u003eSee All Five Sign Messages in Action\u003c\/h2\u003e\n    \u003cp\u003eSelect a sign message to watch its product demonstration. Base style is selected separately.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"oranlite-slider-layout\"\u003e\n    \u003cdiv class=\"oranlite-player\" id=\"oranlite-vertical-panel-message-player\"\u003e\n      \u003ciframe data-role=\"player\" src=\"https:\/\/www.tiktok.com\/player\/v1\/7687327573180828958?controls=1\u0026amp;description=0\u0026amp;rel=0\u0026amp;autoplay=0\" title=\"OranLite Pedestrian Crosswalk vertical traffic panel sign demonstration\" loading=\"lazy\" allow=\"fullscreen; autoplay; encrypted-media; picture-in-picture\" allowfullscreen\u003e\u003c\/iframe\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"oranlite-slider-details\" aria-live=\"polite\"\u003e\n      \u003cp class=\"oranlite-slide-kicker\"\u003eCurrent message\u003c\/p\u003e\n      \u003ch3 class=\"oranlite-slide-title\" data-role=\"title\"\u003ePedestrian Crosswalk Sign\u003c\/h3\u003e\n      \u003cp class=\"oranlite-slide-copy\" data-role=\"copy\"\u003eHelps alert drivers to pedestrian crossing areas in parking lots and managed traffic zones.\u003c\/p\u003e\n\n      \u003cdiv class=\"oranlite-video-tabs\" role=\"tablist\" aria-label=\"Choose a traffic panel sign video\"\u003e\n        \u003cbutton class=\"oranlite-video-tab\" type=\"button\" role=\"tab\" aria-selected=\"true\" aria-controls=\"oranlite-vertical-panel-message-player\" data-slide-index=\"0\" style=\"--tab-color: #f2c300;\"\u003e\n          \u003cspan class=\"oranlite-color-swatch\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003cspan\u003ePedestrian Crosswalk\u003c\/span\u003e\n        \u003c\/button\u003e\n        \u003cbutton class=\"oranlite-video-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"oranlite-vertical-panel-message-player\" data-slide-index=\"1\" tabindex=\"-1\" style=\"--tab-color: #222222;\"\u003e\n          \u003cspan class=\"oranlite-color-swatch\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003cspan\u003eValet Parking\u003c\/span\u003e\n        \u003c\/button\u003e\n        \u003cbutton class=\"oranlite-video-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"oranlite-vertical-panel-message-player\" data-slide-index=\"2\" tabindex=\"-1\" style=\"--tab-color: #d92027;\"\u003e\n          \u003cspan class=\"oranlite-color-swatch\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003cspan\u003eNo Parking\u003c\/span\u003e\n        \u003c\/button\u003e\n        \u003cbutton class=\"oranlite-video-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"oranlite-vertical-panel-message-player\" data-slide-index=\"3\" tabindex=\"-1\" style=\"--tab-color: #1f8a4c;\"\u003e\n          \u003cspan class=\"oranlite-color-swatch\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003cspan\u003ePark\u003c\/span\u003e\n        \u003c\/button\u003e\n        \u003cbutton class=\"oranlite-video-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"oranlite-vertical-panel-message-player\" data-slide-index=\"4\" tabindex=\"-1\" style=\"--tab-color: #1f67c1;\"\u003e\n          \u003cspan class=\"oranlite-color-swatch\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003cspan\u003eADA Parking\u003c\/span\u003e\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"oranlite-slider-controls\" aria-label=\"Video slideshow controls\"\u003e\n        \u003cbutton class=\"oranlite-slider-arrow\" type=\"button\" data-action=\"previous\" aria-label=\"Previous video\" title=\"Previous video\"\u003e←\u003c\/button\u003e\n        \u003cspan class=\"oranlite-slide-counter\" data-role=\"counter\" aria-live=\"polite\"\u003e1 \/ 5\u003c\/span\u003e\n        \u003cbutton class=\"oranlite-slider-arrow\" type=\"button\" data-action=\"next\" aria-label=\"Next video\" title=\"Next video\"\u003e→\u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cp class=\"oranlite-tiktok-link-wrap\"\u003e\u003ca class=\"oranlite-tiktok-link\" data-role=\"link\" href=\"https:\/\/www.tiktok.com\/@oranlite\/video\/7687327573180828958\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eWatch on TikTok\u003c\/a\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (() =\u003e {\n      const root = document.getElementById(\"oranlite-vertical-panel-message-slider\");\n      if (!root || root.dataset.initialized === \"true\") return;\n      root.dataset.initialized = \"true\";\n\n      const slides = [\n        {\n          id: \"7687327573180828958\",\n          label: \"Pedestrian Crosswalk Sign\",\n          copy: \"Helps alert drivers to pedestrian crossing areas in parking lots and managed traffic zones.\",\n          frameTitle: \"OranLite Pedestrian Crosswalk vertical traffic panel sign demonstration\"\n        },\n        {\n          id: \"7687327825447128350\",\n          label: \"Valet Parking Sign\",\n          copy: \"Directs drivers to valet parking service areas at hotels, restaurants, venues, and parking facilities.\",\n          frameTitle: \"OranLite Valet Parking vertical traffic panel sign demonstration\"\n        },\n        {\n          id: \"7687330008334896414\",\n          label: \"No Parking Sign\",\n          copy: \"Marks restricted parking areas and helps keep access points, lanes, and reserved spaces clear.\",\n          frameTitle: \"OranLite No Parking vertical traffic panel sign demonstration\"\n        },\n        {\n          id: \"7687383385181932830\",\n          label: \"Park Sign\",\n          copy: \"Guides drivers toward designated parking areas at commercial, residential, and event locations.\",\n          frameTitle: \"OranLite Park vertical traffic panel sign demonstration\"\n        },\n        {\n          id: \"7687383838359588127\",\n          label: \"ADA Parking Sign\",\n          copy: \"Identifies accessible parking areas with a clear, highly visible parking message.\",\n          frameTitle: \"OranLite ADA Parking vertical traffic panel sign demonstration\"\n        }\n      ];\n\n      const frame = root.querySelector(\"[data-role='player']\");\n      const title = root.querySelector(\"[data-role='title']\");\n      const copy = root.querySelector(\"[data-role='copy']\");\n      const link = root.querySelector(\"[data-role='link']\");\n      const counter = root.querySelector(\"[data-role='counter']\");\n      const tabs = Array.from(root.querySelectorAll(\"[data-slide-index]\"));\n      let index = 0;\n\n      function render(nextIndex, bringTabIntoView) {\n        index = (nextIndex + slides.length) % slides.length;\n        const slide = slides[index];\n\n        title.textContent = slide.label;\n        copy.textContent = slide.copy;\n        frame.title = slide.frameTitle;\n        if (!frame.src.includes(slide.id)) {\n          frame.src = `https:\/\/www.tiktok.com\/player\/v1\/${slide.id}?controls=1\u0026description=0\u0026rel=0\u0026autoplay=0`;\n        }\n        link.href = `https:\/\/www.tiktok.com\/@oranlite\/video\/${slide.id}`;\n        counter.textContent = `${index + 1} \/ ${slides.length}`;\n\n        tabs.forEach((tab, tabIndex) =\u003e {\n          const isActive = tabIndex === index;\n          tab.setAttribute(\"aria-selected\", isActive ? \"true\" : \"false\");\n          tab.tabIndex = isActive ? 0 : -1;\n        });\n\n        if (bringTabIntoView) {\n          tabs[index].scrollIntoView({ behavior: \"smooth\", block: \"nearest\", inline: \"center\" });\n        }\n      }\n\n      tabs.forEach((tab) =\u003e {\n        tab.addEventListener(\"click\", () =\u003e render(Number(tab.dataset.slideIndex), true));\n      });\n\n      root.querySelector(\"[data-action='previous']\").addEventListener(\"click\", () =\u003e render(index - 1, true));\n      root.querySelector(\"[data-action='next']\").addEventListener(\"click\", () =\u003e render(index + 1, true));\n\n      root.addEventListener(\"keydown\", (event) =\u003e {\n        if (event.key === \"ArrowLeft\") {\n          event.preventDefault();\n          render(index - 1, true);\n        }\n        if (event.key === \"ArrowRight\") {\n          event.preventDefault();\n          render(index + 1, true);\n        }\n      });\n\n      render(0, false);\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e\n\u003csection id=\"oranlite-vertical-panel-base-slider\" data-oranlite-tiktok-slider=\"vertical-panel-bases\" aria-labelledby=\"oranlite-vertical-panel-base-heading\"\u003e\n  \u003cstyle\u003e\n    #oranlite-vertical-panel-base-slider {\n      --oranlite-ink: #222;\n      --oranlite-muted: #626262;\n      --oranlite-line: #d7d7d7;\n      margin: 32px 0;\n    }\n\n    #oranlite-vertical-panel-base-slider * {\n      box-sizing: border-box;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-slider-intro {\n      margin-bottom: 22px;\n    }\n\n    #oranlite-vertical-panel-base-slider h2 {\n      margin: 0 0 8px;\n      color: var(--oranlite-ink);\n      font-size: 24px;\n      line-height: 1.25;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-slider-intro p,\n    #oranlite-vertical-panel-base-slider .oranlite-base-slide-copy {\n      margin: 0;\n      color: var(--oranlite-muted);\n      line-height: 1.55;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-slider-layout {\n      display: grid;\n      grid-template-columns: minmax(260px, 400px) minmax(220px, 1fr);\n      gap: 28px;\n      align-items: center;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-player {\n      position: relative;\n      width: 100%;\n      max-width: 400px;\n      margin: 0 auto;\n      aspect-ratio: 9 \/ 16;\n      overflow: hidden;\n      border-radius: 6px;\n      background: #000;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-player iframe {\n      position: absolute;\n      inset: 0;\n      width: 100%;\n      height: 100%;\n      border: 0;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-slide-kicker {\n      margin: 0 0 6px;\n      color: var(--oranlite-muted);\n      font-size: 13px;\n      font-weight: 700;\n      letter-spacing: 0;\n      text-transform: uppercase;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-slide-title {\n      margin: 0 0 8px;\n      color: var(--oranlite-ink);\n      font-size: 22px;\n      line-height: 1.25;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-video-tabs {\n      display: grid;\n      gap: 8px;\n      margin: 22px 0;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-video-tab {\n      display: flex;\n      width: 100%;\n      min-height: 46px;\n      align-items: center;\n      gap: 10px;\n      padding: 10px 12px;\n      border: 1px solid var(--oranlite-line);\n      border-radius: 4px;\n      background: #fff;\n      color: var(--oranlite-ink);\n      font: inherit;\n      font-weight: 650;\n      line-height: 1.25;\n      text-align: left;\n      cursor: pointer;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-video-tab:hover {\n      border-color: #777;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-video-tab:focus-visible,\n    #oranlite-vertical-panel-base-slider .oranlite-base-slider-arrow:focus-visible,\n    #oranlite-vertical-panel-base-slider .oranlite-base-tiktok-link:focus-visible {\n      outline: 3px solid rgba(0, 104, 183, 0.35);\n      outline-offset: 2px;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-video-tab[aria-selected=\"true\"] {\n      border-color: var(--oranlite-ink);\n      background: #f5f5f5;\n      box-shadow: inset 4px 0 0 var(--tab-color);\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-swatch {\n      flex: 0 0 16px;\n      width: 16px;\n      height: 16px;\n      border: 1px solid rgba(0, 0, 0, 0.22);\n      border-radius: 50%;\n      background: var(--tab-color);\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-slider-controls {\n      display: grid;\n      grid-template-columns: 44px 1fr 44px;\n      gap: 10px;\n      align-items: center;\n      margin-top: 18px;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-slider-arrow {\n      display: inline-flex;\n      width: 44px;\n      height: 44px;\n      align-items: center;\n      justify-content: center;\n      padding: 0;\n      border: 1px solid var(--oranlite-ink);\n      border-radius: 4px;\n      background: #fff;\n      color: var(--oranlite-ink);\n      font: inherit;\n      font-size: 24px;\n      line-height: 1;\n      cursor: pointer;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-slider-arrow:hover {\n      background: var(--oranlite-ink);\n      color: #fff;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-slide-counter {\n      color: var(--oranlite-muted);\n      font-variant-numeric: tabular-nums;\n      text-align: center;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-tiktok-link-wrap {\n      margin: 16px 0 0;\n      text-align: center;\n    }\n\n    #oranlite-vertical-panel-base-slider .oranlite-base-tiktok-link {\n      color: var(--oranlite-ink);\n      font-weight: 700;\n      text-underline-offset: 3px;\n    }\n\n    @media (max-width: 699px) {\n      #oranlite-vertical-panel-base-slider {\n        margin: 28px 0;\n      }\n\n      #oranlite-vertical-panel-base-slider .oranlite-base-slider-layout {\n        grid-template-columns: minmax(0, 1fr);\n        gap: 22px;\n      }\n\n      #oranlite-vertical-panel-base-slider .oranlite-base-slider-details {\n        min-width: 0;\n      }\n\n      #oranlite-vertical-panel-base-slider .oranlite-base-video-tabs {\n        display: grid;\n        grid-template-columns: minmax(0, 1fr);\n        width: 100%;\n      }\n\n      #oranlite-vertical-panel-base-slider .oranlite-base-video-tab[aria-selected=\"true\"] {\n        box-shadow: inset 4px 0 0 var(--tab-color);\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"oranlite-base-slider-intro\"\u003e\n    \u003ch2 id=\"oranlite-vertical-panel-base-heading\"\u003eCompare Base Options in Action\u003c\/h2\u003e\n    \u003cp\u003eSwitch between the base demonstrations and the No Parking sign demonstration. Sign message and base are selected separately.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"oranlite-base-slider-layout\"\u003e\n    \u003cdiv class=\"oranlite-base-player\" id=\"oranlite-vertical-panel-base-player\"\u003e\n      \u003ciframe data-role=\"player\" src=\"https:\/\/www.tiktok.com\/player\/v1\/7686521804805967134?controls=1\u0026amp;description=0\u0026amp;rel=0\u0026amp;autoplay=0\" title=\"OranLite vertical traffic panel with surface mount fixed base\" loading=\"lazy\" allow=\"fullscreen; autoplay; encrypted-media; picture-in-picture\" allowfullscreen\u003e\u003c\/iframe\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"oranlite-base-slider-details\" aria-live=\"polite\"\u003e\n      \u003cp class=\"oranlite-base-slide-kicker\"\u003eCurrent demonstration\u003c\/p\u003e\n      \u003ch3 class=\"oranlite-base-slide-title\" data-role=\"title\"\u003eSurface Mount Fixed Base\u003c\/h3\u003e\n      \u003cp class=\"oranlite-base-slide-copy\" data-role=\"copy\"\u003eA low-profile fixed-base configuration for permanent placement.\u003c\/p\u003e\n\n      \u003cdiv class=\"oranlite-base-video-tabs\" role=\"tablist\" aria-label=\"Choose a traffic panel demonstration video\"\u003e\n        \u003cbutton class=\"oranlite-base-video-tab\" type=\"button\" role=\"tab\" aria-selected=\"true\" aria-controls=\"oranlite-vertical-panel-base-player\" data-slide-index=\"0\" style=\"--tab-color: #333333;\"\u003e\n          \u003cspan class=\"oranlite-base-swatch\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003cspan\u003eSurface Mount Fixed Base\u003c\/span\u003e\n        \u003c\/button\u003e\n        \u003cbutton class=\"oranlite-base-video-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"oranlite-vertical-panel-base-player\" data-slide-index=\"1\" tabindex=\"-1\" style=\"--tab-color: #f36b21;\"\u003e\n          \u003cspan class=\"oranlite-base-swatch\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003cspan\u003eWater-Filled Base\u003c\/span\u003e\n        \u003c\/button\u003e\n        \u003cbutton class=\"oranlite-base-video-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"oranlite-vertical-panel-base-player\" data-slide-index=\"2\" tabindex=\"-1\" style=\"--tab-color: #d92828;\"\u003e\n          \u003cspan class=\"oranlite-base-swatch\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003cspan\u003eNo Parking Sign Demo\u003c\/span\u003e\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"oranlite-base-slider-controls\" aria-label=\"Product video slideshow controls\"\u003e\n        \u003cbutton class=\"oranlite-base-slider-arrow\" type=\"button\" data-action=\"previous\" aria-label=\"Previous product video\" title=\"Previous product video\"\u003e←\u003c\/button\u003e\n        \u003cspan class=\"oranlite-base-slide-counter\" data-role=\"counter\" aria-live=\"polite\"\u003e1 \/ 3\u003c\/span\u003e\n        \u003cbutton class=\"oranlite-base-slider-arrow\" type=\"button\" data-action=\"next\" aria-label=\"Next product video\" title=\"Next product video\"\u003e→\u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cp class=\"oranlite-base-tiktok-link-wrap\"\u003e\u003ca class=\"oranlite-base-tiktok-link\" data-role=\"link\" href=\"https:\/\/www.tiktok.com\/@oranlite\/video\/7686521804805967134\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eWatch on TikTok\u003c\/a\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (() =\u003e {\n      const root = document.getElementById(\"oranlite-vertical-panel-base-slider\");\n      if (!root || root.dataset.initialized === \"true\") return;\n      root.dataset.initialized = \"true\";\n\n      const slides = [\n        {\n          id: \"7686521804805967134\",\n          account: \"oranlite\",\n          label: \"Surface Mount Fixed Base\",\n          copy: \"A low-profile fixed-base configuration for permanent placement.\",\n          frameTitle: \"OranLite vertical traffic panel with surface mount fixed base\"\n        },\n        {\n          id: \"7686525081756912927\",\n          account: \"eastseagroupltd\",\n          label: \"Water-Filled Base\",\n          copy: \"A portable base configuration that can be filled for added stability.\",\n          frameTitle: \"OranLite vertical traffic panel with water-filled base\"\n        },\n        {\n          id: \"7688907696296217886\",\n          account: \"oranlite\",\n          label: \"No Parking Sign Demo\",\n          copy: \"See the highly visible No Parking sign panel in a real product demonstration.\",\n          frameTitle: \"OranLite No Parking vertical traffic panel sign demonstration\"\n        }\n      ];\n\n      const frame = root.querySelector(\"[data-role='player']\");\n      const title = root.querySelector(\"[data-role='title']\");\n      const copy = root.querySelector(\"[data-role='copy']\");\n      const link = root.querySelector(\"[data-role='link']\");\n      const counter = root.querySelector(\"[data-role='counter']\");\n      const tabs = Array.from(root.querySelectorAll(\"[data-slide-index]\"));\n      let index = 0;\n\n      function render(nextIndex) {\n        index = (nextIndex + slides.length) % slides.length;\n        const slide = slides[index];\n\n        title.textContent = slide.label;\n        copy.textContent = slide.copy;\n        frame.title = slide.frameTitle;\n        if (!frame.src.includes(slide.id)) {\n          frame.src = `https:\/\/www.tiktok.com\/player\/v1\/${slide.id}?controls=1\u0026description=0\u0026rel=0\u0026autoplay=0`;\n        }\n        link.href = `https:\/\/www.tiktok.com\/@${slide.account}\/video\/${slide.id}`;\n        counter.textContent = `${index + 1} \/ ${slides.length}`;\n\n        tabs.forEach((tab, tabIndex) =\u003e {\n          const isActive = tabIndex === index;\n          tab.setAttribute(\"aria-selected\", isActive ? \"true\" : \"false\");\n          tab.tabIndex = isActive ? 0 : -1;\n        });\n      }\n\n      tabs.forEach((tab) =\u003e {\n        tab.addEventListener(\"click\", () =\u003e render(Number(tab.dataset.slideIndex)));\n      });\n\n      root.querySelector(\"[data-action='previous']\").addEventListener(\"click\", () =\u003e render(index - 1));\n      root.querySelector(\"[data-action='next']\").addEventListener(\"click\", () =\u003e render(index + 1));\n\n      root.addEventListener(\"keydown\", (event) =\u003e {\n        if (event.key === \"ArrowLeft\") {\n          event.preventDefault();\n          render(index - 1);\n        }\n        if (event.key === \"ArrowRight\") {\n          event.preventDefault();\n          render(index + 1);\n        }\n      });\n\n      render(0);\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e\n\u003c!-- ORANLITE_US_TIKTOK_IMPORT_20261001_END --\u003e","brand":"Oranlite Europe","offers":[{"title":"No Sign Sheet","offer_id":67617493549250,"sku":"DH-VB-17X4","price":59.55,"currency_code":"EUR","in_stock":true},{"title":"ADA Parking","offer_id":67617493582018,"sku":"DH-VB-17X4-ADA","price":64.76,"currency_code":"EUR","in_stock":true},{"title":"Valet Parking","offer_id":67617493614786,"sku":"DH-VB-17X4-VALETT","price":64.76,"currency_code":"EUR","in_stock":true},{"title":"Pedestrian Crosswalk","offer_id":67617493647554,"sku":"DH-VB-17X4-CROSS","price":69.73,"currency_code":"EUR","in_stock":true},{"title":"No Parking","offer_id":67617493680322,"sku":"DH-VB-17X4-NOPARK","price":64.76,"currency_code":"EUR","in_stock":true},{"title":"Parking","offer_id":67617493713090,"sku":"DH-VB-17X4-PARK","price":64.76,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0714\/4092\/4866\/files\/DH-VB-16X2-01.jpg?v=1790859897","url":"https:\/\/www.oranlite.eu\/pl\/products\/spring-back-parking-sign-stands-112cm-2-pack","provider":"Oranlite Europe","version":"1.0","type":"link"}