PageSourceSearch

https://pdd.ee/

html pdd.ee collected 2026-10-05 00:22:11 UTC 25,882 bytes, 410 lines download raw bytes

1<!doctype html>
2<html lang="en" class="transport-board-booting">
3<head>
4  <meta charset="utf-8">
5  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
6  <meta name="theme-color" content="#05070c">
7  <title>PDD.EE — Transit Hub</title>
8  <meta name="description" content="PDD.EE Transit Hub — nearby transport schedules for air, rail, road and sea.">
9  <style>
10    html.transport-board-booting #modeTabs,
11    html.transport-board-booting #currentLocationBar,
12    html.transport-board-booting .board-layout,
13    html.transport-board-booting #servicesFooter,
14    html.transport-board-booting #unifiedTransportMapPanel,
15    html.transport-board-booting #locationPanel {
16      display: none !important;
17    }
18  </style>
19  <link rel="stylesheet" href="/styles.css?v=20261003-route-directions-8">
20</head>
21<body class="transport-board-page">
22  <main class="app">
23    <header class="hero">
24      <div class="language-switcher">
25        <button id="fullscreenMapButton" class="header-icon-button fullscreen-map-toggle" type="button" aria-label="Open tracking map" title="Open tracking map">
26          <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
27            <path d="M4 6.5 9 4l6 2.5L20 4v13.5L15 20l-6-2.5L4 20z"/>
28            <path d="M9 4v13.5M15 6.5V20"/>
29          </svg>
30        </button>
31        <button id="languageButton" class="language-toggle" type="button" aria-haspopup="true" aria-expanded="false">🌐 EN</button>
32      </div>
33      <div id="brandReset" class="brand" role="link" tabindex="0" aria-label="Начать заново">
34        <div class="brand-mark" aria-hidden="true">
35          <span></span>
36          <span></span>
37          <span></span>
38        </div>
39        <div>
40          <h1 class="brand-main-title">
41            <span class="brand-product">TRANSIT HUB</span>
42            <span class="brand-domain">AIR • RAIL • ROAD • SEA</span>
43          </h1>
44          <div id="heroTagline" class="hero-tagline">PLAN • DEPART • DISCOVER</div>
45          <div id="heroPromise" class="hero-promise"></div>
46          <div class="hero-meta">
47            <span id="updatedLine">
47Updated --:--</span>
48            <span id="windowLine">Window: next 4h</span>
49            <span id="sourceLine" hidden></span>
50          </div>
51        </div>
52      </div>
53      <div class="skyline" aria-hidden="true">
54        <svg viewBox="0 0 240 78" role="img">
55          <path d="M4 66h232" />
56          <path d="M14 66V42h20v24M44 66V28h28v38M82 66V36h16V22h18v44M128 66V30h24v36M162 66V18h16v48M188 66V38h34v28" />
57          <path d="M8 50c24-14 48-14 72 0s48 14 72 0 48-14 80 0" />
58        </svg>
59      </div>
60    </header>
61
62<nav id="modeTabs" class="mode-tabs" aria-label="Transport mode" hidden>
63      <button data-ui-transport-tab="airports" data-transport-context="airports" data-mode="airports" type="button">
64        <span class="mode-icon" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M3 13l18-8-7 16-3-7-8-1z"/><path d="M11 14l10-9"/></svg></span>AIR
65      </button>
66      <button data-ui-transport-tab="ports" data-transport-context="ports" data-mode="ports" type="button">
67        <span class="mode-icon" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M12 3v13M8 7h8M5 12h14"/><path d="M5 16c2 3 4 4 7 4s5-1 7-4"/></svg></span>PORT
68      </button>
69      <button data-ui-transport-tab="trains" data-transport-context="trains" data-mode="trains" type="button">
70        <span class="mode-icon" aria-hidden="true"><svg viewBox="0 0 24 24"><rect x="5" y="3" width="14" height="14" rx="3"/><path d="M8 21l3-4M16 21l-3-4M8 8h8M8 12h3M13 12h3"/></svg></span>RAIL
71      </button>
72      <button data-ui-transport-tab="coach" data-transport-context="coach" data-mode="buses" data-bus-submode="stations" type="button">
73        <span class="mode-icon mode-icon--coach" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M7 7V4h10v3"/><rect x="4" y="7" width="16" height="11" rx="2"/><path d="M7 11h10M8 18v2M16 18v2M7 15h2M15 15h2"/></svg></span>BUS
74      </button>
75      <button data-ui-transport-tab="city" data-transport-context="local" data-mode="buses" data-bus-submode="city" type="button">
76        <span class="mode-icon" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M4 20V8h5v12M9 20V4h6v16M15 20v-9h5v9M2 20h20"/><path d="M11 7h2M11 11h2M11 15h2"/></svg></span>CITY
77      </button>
78    </nav>
79    <button id="globalBackButton" class="global-back-button" type="button" hidden>← BACK</button>
80    <button id="routeSessionReturnButton" class="route-session-return" type="button" hidden>← BACK TO ROUTE</button>
81
82    <div id="transportContextLoading" class="route-origin-loading transport-context-loading" role="status" hidden></div>
83
84    <section id="locationPanel" class="location-card start-card">
85      <div class="start-choice">
86        <div id="manualSearch" class="manual-search">
87          <div class="start-brand-message">
88            <h2 id="startLocationTitle" class="start-location-title">WHERE ARE YOU LEAVING FROM?</h2>
89            <div class="start-brand-travel">PDD.EE — TRAVEL</div>
90            <div class="start-brand-positioning">INTERNATIONAL PUBLIC TRANSPORT · BETA</div>
91          </div>
92
93          <form id="routePlannerForm" class="route-planner" novalidate>
94            <div class="route-point route-point--origin">
95              <label id="manualSearchLabel" for="manualQuery">FROM</label>
96              <div class="route-point__controls">
97                <input id="manualQuery" type="search" inputmode="search" autocomplete="off" placeholder="City, stop, station, airport or port">
98                <button id="routeOriginLocationButton" class="route-location-button route-point-icon-button" type="button" aria-label="My location" title="My location">
99                  <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="3"/><path d="M12 2v4M12 18v4M2 12h4M18 12h4"/><circle cx="12" cy="12" r="8"/></svg>
100                </button>
101                <button id="routeOriginMapButton" class="route-location-button route-point-icon-button route-map-location-button" type="button" aria-label="Choose on map" title="Choose on map">
102                  <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 6.5 9 4l6 2.5L20 4v13.5L15 20l-6-2.5L4 20z"/><path d="M9 4v13.5M15 6.5V20"/></svg>
103                </button>
104              </div>
105              <div id="manualResults" class="manual-results route-origin-results"></div>
106              <div id="routeOriginLoading" class="route-origin-loading route-origin-loading--page" role="status" hidden></div>
107            </div>
108            <button id="routeSwapButton" class="route-swap-button" type="button" aria-label="Swap origin and destination" title="Swap origin and destination">↕</button>
109            <div class="route-point route-point--destination">
110              <label id="routeDestinationLabel" for="routeDestinationQuery">TO</label>
111              <div class="route-point__controls route-point__controls--destination">
112                <input id="routeDestinationQuery" type="search" inputmode="search" autocomplete="off" placeholder="City, stop, station, airport or port">
113                <button id="routeDestinationMapButton" class="route-location-button route-point-icon-button route-map-location-button" type="button" aria-label="Choose on map" title="Choose on map">
114                  <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 6.5 9 4l6 2.5L20 4v13.5L15 20l-6-2.5L4 20z"/><path d="M9 4v13.5M15 6.5V20"/></svg>
115                </button>
116              </div>
117              <div id="routeDestinationResults" class="manual-results route-destination-results"></div>
118            </div>
119            <fieldset class="route-time-choice">
120              <legend id="routeTimeLegend">TIME</legend>
121              <label><input type="radio" name="route-time-mode" value="now" checked><span id="routeTimeNow">Now</span></label>
122              <label><input type="radio" name="route-time-mode" value="departure"><span id="routeTimeDeparture">Departure</span></label>
123              <label><input type="radio" name="route-time-mode" value="arrival"><span id="routeTimeArrival">Arrival</span></label>
124            </fieldset>
125            <div id="routeScheduledTime" class="route-scheduled-time" hidden>
126              <strong id="routeScheduledTimeTitle" class="route-scheduled-time__title">Depart at</strong>
127              <label><span id="routeDateLabel">Date</span><span class="route-native-picker"><output id="routeDateDisplay">DD.MM.YYYY</output><input id="routeDateInput" type="date"></span></label>
128              <label><span id="routeClockLabel">Time</span><span class="route-native-picker"><output id="routeClockDisplay">HH:mm</output><input id="routeClockInput" type="time" step="300"></span></label>
129            </div>
130            <button id="routeFindButton" class="primary-action route-find-button" type="submit">FIND ROUTE</button>
131            <div id="routePlannerMessage" class="route-planner-message" role="status" hidden></div>
132          </form>
133          <button id="scheduleBrowserOpenButton" class="schedule-browser-entry" type="button">
134            <span class="schedule-browser-entry__icon" aria-hidden="true">▦</span>
135            <span id="scheduleBrowserOpenLabel">Transport schedules</span>
136          </button>
137          <section id="scheduleBrowserPanel" class="schedule-browser" aria-labelledby="scheduleBrowserTitle" hidden>
138            <div class="schedule-browser__toolbar">
139              <button id="scheduleBrowserBackButton" class="schedule-browser__back" type="button" hidden>← Back</button>
140              <button id="scheduleBrowserCloseButton" class="schedule-browser__close" type="button" aria-label="Close" title="Close">×</button>
141            </div>
142            <div id="scheduleBrowserPlaceStep" class="schedule-browser__place-step">
143              <h2 id="scheduleBrowserTitle">Where do you want to view schedules?</h2>
144              <div class="schedule-browser__search-controls">
145                <input id="scheduleBrowserQuery" type="search" inputmode="search" autocomplete="off" placeholder="City or place">
146                <button id="scheduleBrowserNearMeButton" class="schedule-browser__near-me" type="button">📍 Near me</button>
147              </div>
148              <div id="scheduleBrowserSearchResults" class="schedule-browser__search-results" role="listbox"></div>
149              <div id="scheduleBrowserPlaceMessage" class="schedule-browser__message" role="status" hidden></div>
150            </div>
151            <div id="scheduleBrowserBoardStep" class="schedule-browser__board-step" hidden>
152              <header class="schedule-browser__heading">
153                <div>
154                  <h2 id="scheduleBrowserBoardTitle"></h2>
155                  <div id="scheduleBrowserBoardSubtitle" class="schedule-browser__subtitle"></div>
156                </div>
157                <button id="scheduleBrowserChangePlaceButton" type="button">Change place</button>
158              </header>
159              <div id="scheduleBrowserDateControls" class="schedule-browser__date-controls" aria-label="Schedule date">
160                <button id="scheduleBrowserTodayButton" type="button" data-schedule-date-offset="0">Today</button>
161                <button id="scheduleBrowserTomorrowButton" type="button" data-schedule-date-offset="1">Tomorrow</button>
162                <label class="schedule-browser__date-picker">
163                  <span id="scheduleBrowserDateLabel">Date</span>
164                  <input id="scheduleBrowserDateInput" type="date">
165                </label>
166              </div>
167              <div id="scheduleBrowserFilters" class="schedule-browser__filters" role="tablist" aria-label="Transport filter"></div>
168              <div id="scheduleBrowserStatus" class="schedule-browser__message" role="status" hidden></div>
169              <div id="scheduleBrowserDepartures" class="schedule-browser__departures"></div>
170            </div>
171          </section>
172          <div id="quickCitiesLabel" class="quick-cities-label" hidden>Popular places</div>
173          <div id="quickCityButtons" class="quick-city-buttons" aria-label="Quick city selection" hidden>
174            <button type="button" data-manual-city="tallinn">Tallinn</button>
175            <button type="button" data-manual-city="tartu">Tartu</button>
176            <button type="button" data-manual-city="helsinki">Helsinki</button>
177            <button type="button" data-manual-city="budva">Budva</button>
178          </div>
179          <div id="manualSearchHint" class="manual-hint" hidden></div>
180          <div id="locationMessage" class="location-message" hidden></div>
181          <button id="cancelLocationButton" class="cancel-location" type="button" hidden>Cancel</button>
182          <button id="chooseCityButton" type="button" hidden>Find a place</button>
183        </div>
184      </div>
185      <div id="startExplore" class="start-explore" hidden>
186        <div id="startExploreTitle" class="start-explore-title">What you can view</div>
187        <div class="start-feature-grid">
188          <button type="button" data-start-context="airports" class="start-feature-card" aria-label="Airports">
189            <span class="mode-icon" aria-hidden="true"><svg viewBox="0 0 24 24">
189<path d="M3 13l18-8-7 16-3-7-8-1z"/><path d="M11 14l10-9"/></svg></span>
190            <strong data-feature-label="airports">Airports</strong>
191          </button>
192          <button type="button" data-start-context="trains" class="start-feature-card" aria-label="Trains">
193            <span class="mode-icon" aria-hidden="true"><svg viewBox="0 0 24 24"><rect x="5" y="3" width="14" height="14" rx="3"/><path d="M8 21l3-4M16 21l-3-4M8 8h8M8 12h3M13 12h3"/></svg></span>
194            <strong data-feature-label="trains">Trains</strong>
195          </button>
196          <button type="button" data-start-context="local" class="start-feature-card" aria-label="City transport">
197            <span class="mode-icon" aria-hidden="true"><svg viewBox="0 0 24 24"><rect x="4" y="5" width="16" height="12" rx="3"/><path d="M7 9h10M8 17v2M16 17v2M8 13h2M14 13h2"/></svg></span>
198            <strong data-feature-label="local">City</strong>
199          </button>
200          <button type="button" data-start-context="coach" class="start-feature-card" aria-label="Intercity transport">
201            <span class="mode-icon mode-icon--coach" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M7 7V4h10v3"/><rect x="4" y="7" width="16" height="11" rx="2"/><path d="M7 11h10M8 18v2M16 18v2M7 15h2M15 15h2"/></svg></span>
202            <strong data-feature-label="coach">Coach</strong>
203          </button>
204          <button type="button" data-start-context="ports" class="start-feature-card" aria-label="Ferries & ports">
205            <span class="mode-icon" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M12 3v13M8 7h8M5 12h14"/><path d="M5 16c2 3 4 4 7 4s5-1 7-4"/></svg></span>
206            <strong data-feature-label="ports">Ferries & ports</strong>
207          </button>
208        </div>
209      </div>
210    </section>
211
212
213
214<section id="locationWarning" class="location-warning" hidden>
215      <span id="locationWarningText">Location is off. Choose a place manually.</span>
216      <div id="locationPermissionCard" class="location-permission-card" hidden>
217        <strong id="locationPermissionTitle" class="location-permission-card__title">Location is off</strong>
218        <p id="locationPermissionDescription">Allow location access for Transit Hub.</p>
219        <details id="locationPermissionHelp" class="location-permission-help">
220          <summary id="locationPermissionHelpSummary">How to enable</summary>
221          <div class="location-permission-help__content">
222            <section data-location-permission-device="ios" hidden>
223              <strong id="locationPermissionIosTitle">iPhone/iPad</strong>
224              <p id="locationPermissionIosSteps">Open Page Settings (aA), then Website Settings → Location → Allow. Also check Location Services in device settings.</p>
225            </section>
226            <section data-location-permission-device="android" hidden>
227              <strong id="locationPermissionAndroidTitle">Android</strong>
228              <p id="locationPermissionAndroidSteps">Check this site's location permission, then your browser's location permission and the phone's Location setting.</p>
229            </section>
230            <section data-location-permission-device="desktop" hidden>
231              <strong id="locationPermissionDesktopTitle">Desktop browser</strong>
232              <p id="locationPermissionDesktopSteps">Open the site controls beside the address bar, allow Location, then try again.</p>
233            </section>
234          </div>
235        </details>
236        <div class="location-permission-actions">
237          <button id="locationPermissionRetry" type="button">Check again</button>
238          <button id="locationPermissionManual" type="button">Choose a place manually</button>
239        </div>
240      </div>
241    </section>
242
243    <section id="currentLocationBar" class="current-location-bar location-summary" hidden>
244      <div class="location-summary__left">
245        <span id="currentLocationLabel">📍 choose location</span>
246        <span id="currentLocationSource" class="location-source-pill" hidden></span>
247        <div class="location-summary__actions">
248          <button id="changeLocationButton" type="button">Change location</button>
249        </div>
250        <div id="locationRefreshMessage" class="location-refresh-message" hidden></div>
251      </div>
252      <div class="location-summary__weather">
253        <span class="weather-shell">
254          <button id="weatherSummary" class="weather-summary" type="button" hidden aria-expanded="false">
255            <span id="weatherIcon" class="weather-icon" aria-hidden="true">🌡️</span>
256            <span id="weatherTemperature" class="weather-temperature"></span>
257          </button>
258          <div id="weatherPopover" class="weather-popover" hidden></div>
259        </span>
260      </div>
261    </section>
262
263    <section class="board-layout" hidden>
264      <aside class="hubs-panel" aria-label="Nearby hubs">
265        <div class="section-title">Nearby hubs</div>
266        <div id="objects" class="hub-list"></div>
267      </aside>
268      <section class="live-panel">
269        <div id="selectedObjectSummary" class="selected-object-summary" hidden></div>
270        <div class="live-head">
271          <div>
272            <div class="section-title">LIVE BOARD</div>
273            <div id="objectMeta" class="selected-meta">Choose a nearby hub</div>
274          </div>
275          <button id="rotationButton" class="rotation-button" type="button" aria-label="Auto-rotation" title="Auto-rotation" hidden>AUTO OFF</button>
276        </div>
277
278        <div class="live-table" role="table" aria-label="Live transport board">
279          <div id="liveHeader" class="live-row live-header" role="row">
280            <div>TIME</div>
281            <div>MODE</div>
282            <div>FROM / TO</div>
283            <div>SERVICE</div>
284            <div>STATUS</div>
285          </div>
286          <div id="events"></div>
287        </div>
288
289        <footer class="pager">
290          <button id="backButton" type="button">PREV</button>
291          <div id="pageLabel">Page 1 / 1</div>
292          <button id="nextButton" type="button">NEXT</button>
293        </footer>
294
295
296        <section id="cityMapLocationCta" class="city-map-location-cta" hidden>
297          <p id="cityMapLocationDescription"></p>
298          <button id="cityMapLocationButton" class="primary-action" type="button">📍 Near me</button>
299        </section>
300        <section id="unifiedTransportMapPanel" class="vehicle-map-panel unified-transport-map" hidden aria-label="Transport map"></section>
301        <div id="routeOriginMapActions" class="route-origin-map-actions" hidden>
302          <button id="routeOriginMapConfirm" class="primary-action" type="button">CHOOSE THIS PLACE</button>
303          <button id="routeOriginMapCancel" type="button">CANCEL</button>
304        </div>
305        <aside id="unifiedTransportMapLegend" class="map-transport-legend" aria-labelledby="mapTransportLegendTitle">
306          <div id="mapTransportLegendTitle" class="map-transport-legend__title"></div>
307          <div id="mapTransportLegendItems" class="map-transport-legend__items"></div>
308        </aside>
309      </section>
310
311    </section>
312
313    <section id="coveragePanel" class="coverage-panel" hidden>
314      <div class="coverage-card">
315        <button id="coverageCloseButton" class="coverage-close" type="button" aria-label="Close">×</button>
316        <div id="coverageContent"></div>
317      </div>
318    </section>
319
320
321    <section id="servicesFooter" class="taxi-apps-footer services-apps-footer transfer-only-footer" aria-label="Transfers in Estonia">
322      <div class="transfer-footer-card">
323        <div class="transfer-footer-copy">
324          <div class="transfer-footer-title" data-transfer-i18n="transfer.card.title">Transfers in Estonia</div>
325          <div class="transfer-footer-subtitle">Private transfer • Airport • Port • City</div>
326        </div>
327
328        <a id="footerTransferLink" class="transfer-footer-action" href="/transfer" aria-label="Book a transfer">
329          <svg class="service-transfer-icon" viewBox="0 0 64 48" aria-hidden="true" focusable="false">
330            <path d="M10 31h44l-3-11a6 6 0 0 0-6-4H25a7 7 0 0 0-6 3l-5 7h-4a4 4 0 0 0-4 4v7h5"/>
331            <path d="M18 31h29M23 20h21l2 8H17l6-8Z"/>
332            <circle cx="17" cy="37" r="5"/><circle cx="47" cy="37" r="5"/>
333            <path d="M52 12h7v12h-7zM54 9h3"/>
334          </svg>
335          <span data-transfer-i18n="transfer.card.cta">BOOK A TRANSFER →</span>
336        </a>
337      </div>
338    </section>
339
340    <footer class="site-footer">
341      <span class="site-footer-copyright">© 2026 TRANSIT HUB · PDD.EE</span>
342      <span class="site-footer-links">
343        <a id="siteFooterAbout" href="/about">About</a>
344        <span aria-hidden="true">·</span>
345        <a id="siteFooterPrivacy" href="/privacy.html">Privacy</a>
346        <span aria-hidden="true">·</span>
347        <a id="siteFooterReport" href="/about#contact">Report a problem</a>
348        <span aria-hidden="true">·</span>
349        <button id="locationHelpOpen" class="site-footer-help-link" type="button">
350          <span aria-hidden="true">📍</span>
351          <span id="locationHelpOpenLabel">Location help</span>
352        </button>
353      </span>
354    </footer>
355  </main>
356  <div id="overlayRoot">
357    <div id="languageDropdown" class="language-dropdown" hidden></div>
358    <div id="destinationWeatherPopover" class="destination-weather-popover" role="dialog" hidden></div>
359  </div>
360  <section id="locationHelpModal" class="location-help-modal" role="dialog" aria-modal="true" aria-labelledby="locationHelpTitle" hidden>
361    <div id="locationHelpPanel" class="location-help-panel">
362      <div class="location-help-panel__header">
363        <h2 id="locationHelpTitle">Location help</h2>
364        <button id="locationHelpClose" class="location-help-close" type="button" aria-label="Close" title="Close">×</button>
365      </div>
366      <p id="locationHelpIntro" class="location-help-intro"></p>
367      <div id="locationHelpTabs" class="location-help-tabs" role="tablist" aria-label="Device">
368        <button type="button" role="tab" data-location-help-device="android">Android</button>
369        <button type="button" role="tab" data-location-help-device="ios">iPhone / iPad</button>
370        <button type="button" role="tab" data-location-help-device="windows">Windows</button>
371        <button type="button" role="tab" data-location-help-device="linux">Linux</button>
372      </div>
373      <div id="locationHelpDevicePanel" class="location-help-device" role="tabpanel">
374        <h3 id="locationHelpDeviceTitle">Device</h3>
375        <p id="locationHelpDeviceSteps" class="location-help-steps"></p>
376        <p id="locationHelpDeviceNote" class="location-help-note" hidden></p>
377      </div>
378      <p id="locationHelpCommon" class="location-help-common"></p>
379    </div>
380  </section>
381  <section id="fullscreenMapOverlay" class="fullscreen-map-overlay" role="dialog" aria-modal="true" aria-label="Tracking map" hidden>
382    <div class="fullscreen-map-overlay__bar">
383      <strong id="fullscreenMapTitle">MAP</strong>
384      <button id="fullscreenMapClose" class="fullscreen-map-close" type="button" aria-label="Close map" title="Close map">×</button>
385    </div>
386    <p id="fullscreenMapGpsStatus" class="fullscreen-map-gps-status" hidden>Finding your location…</p>
387    <aside id="fullscreenMapPermission" class="fullscreen-map-permission" hidden>
388      <p id="fullscreenMapPermissionDescription">Allow location access to use the tracking map.</p>
389      <button id="fullscreenMapPermissionAllow" type="button">Allow location</button>
390      <details id="fullscreenMapPermissionHelp" class="location-permission-help">
391        <summary id="fullscreenMapPermissionHelpSummary">How to enable</summary>
392        <div class="fullscreen-map-permission__device">
393          <strong id="fullscreenMapPermissionDeviceTitle">Computer</strong>
394          <p id="fullscreenMapPermissionDeviceSteps">Allow Location in this site's browser settings.</p>
395        </div>
396      </details>
397    </aside>
398    <div id="fullscreenMapMount" class="fullscreen-map-mount"></div>
399  </section>
400  
400<script src="/i18n.js?v=20260808-three-locales-1"></script>
400
401  
401<script src="/estonia-routing-access-points.js?v=20260912-1"></script>
401
402  
402<script src="/taxi-city-registry.js?v=20260804-helsinki-taxi-1"></script>
402
403  
403<script src="/taxi-providers.js?v=20260717-tallinn-map-1"></script>
403
404  
404<script src="/vendor/leaflet-rotate-0.2.3/leaflet-rotate.umd.min.js"></script>
404
405  
405<script src="/unified-transport-map.js?v=20261004-route-stop-debug-mobile-17"></script>
405
406  
406<script src="/app.js?v=20261002-estonia-multimodal-network-1"></script>
406
407
408
409</body>
410</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.