PageSourceSearch

https://ulvovi.info/ua

html ulvovi.info collected 2026-10-02 07:22:17 UTC 65,431 bytes, 1,111 lines download raw bytes

1<!doctype html>
2<html lang="uk">
3<head>
4<meta charset="utf-8">
5<meta name="viewport" content="width=device-width, initial-scale=1">
6<meta name="color-scheme" content="light">
7
8<title>Львів — статті та довідник закладів</title>
9<meta name="robots" content="index, follow">
10<meta name="description" content="Львів — статті про місто та довідник закладів: адреси, телефони, години роботи.">
11<link rel="canonical" href="https://ulvovi.info/ua">
12
13
14<link rel="alternate" hreflang="uk" href="https://ulvovi.info/ua">
15<link rel="alternate" hreflang="ru" href="https://ulvovi.info/ru">
16<link rel="alternate" hreflang="x-default" href="https://ulvovi.info/ua">
17
18<meta property="og:type" content="website">
19<meta property="og:site_name" content="Львів">
20<meta property="og:title" content="Львів — статті та довідник закладів">
21<meta property="og:description" content="Львів — статті про місто та довідник закладів: адреси, телефони, години роботи.">
22<meta property="og:url" content="https://ulvovi.info/ua">
23<meta property="og:locale" content="uk_UA">
24<meta property="og:locale:alternate" content="ru_UA">
25<meta name="twitter:card" content="summary">
26
27
28
29<link rel="icon" href="/favicons/ulvovi.info.png" type="image/png">
30
31<link rel="apple-touch-icon" href="/favicons/ulvovi.info-64.png">
32
33
34
35<meta name="theme-color" content="#428bca">
36<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://ulvovi.info/ua#site","name":"Львів","url":"https://ulvovi.info/ua","inLanguage":"uk","publisher":{"@id":"https://ulvovi.info/ua#org"}},{"@type":"Organization","@id":"https://ulvovi.info/ua#org","name":"Львів","url":"https://ulvovi.info/ua"}]}</script>
36
37<style>
38
39@font-face{font-family:'Commissioner';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/commissioner-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
40@font-face{font-family:'Commissioner';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/commissioner-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
41@font-face{font-family:'Commissioner';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/commissioner-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
42@font-face{font-family:'Commissioner';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/commissioner-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
43@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/jetbrains-mono-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
44@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/jetbrains-mono-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
45@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/jetbrains-mono-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
46@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/jetbrains-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
47@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url('/fonts/onest-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
48@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url('/fonts/onest-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
49@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url('/fonts/onest-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
50@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url('/fonts/onest-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
51
52
53:root{
54  
55  --bg:#f4f6f4; --bg-top:#fafbfa;
56  --card:#fff; --card-2:#fafbfa; --soft:#edf0ee; --soft2:#f5f7f5;
57  --line:#dce1de; --line2:#c2cac5;
58  --ink:#0f1211; --ink2:#3e4643; --muted:#737c78;
59  
60  --brand:#428bca;
61  --accent:#2f6ea8; --accent2:#25577f; --accent-soft:#e8f1f9; --accent-line:#bcd6ec;
62  --on-accent:#fff;
63  --brand2:#3a9fbe;
64  --gold:#8a5a10; --gold-soft:#fdf2dd; --gold-line:#f0d6a2;
65  --ok:#357a35; --ok-soft:#e8f4e8; --bad:#a02622; --bad-soft:#fbeae9;
66  
67  --shadow:0 1px 2px rgba(13,20,16,.04),0 2px 8px -3px rgba(13,20,16,.07);
68  --shadow-lift:0 12px 30px -10px rgba(13,20,16,.20),0 3px 8px -4px rgba(13,20,16,.10);
69  --shadow-deep:0 28px 60px -28px rgba(13,20,16,.38),0 8px 20px -12px rgba(13,20,16,.16);
70  
71  --edge:inset 0 1px 0 rgba(255,255,255,.85);
72  --scrim:linear-gradient(180deg,rgba(8,18,14,0) 8%,rgba(8,18,14,.30) 48%,rgba(8,18,14,.80) 100%);
73  --f-head:Onest,"Segoe UI",system-ui,sans-serif;
74  --f-body:Commissioner,"Segoe UI",system-ui,-apple-system,sans-serif;
75  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
76  --r:12px; --r-lg:18px; --r-xl:22px; --r-2xl:28px;
77  --head:64px;
78  --ease:cubic-bezier(.2,.7,.3,1); --t:.18s var(--ease);
79}
80
81*{box-sizing:border-box}
82html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
83@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
84
85body{margin:0;color:var(--ink);background:var(--bg);
86  background-image:radial-gradient(1200px 420px at 70% -140px,var(--accent-soft),transparent 70%),
87    linear-gradient(180deg,var(--bg-top),var(--bg) 460px);
88  background-repeat:no-repeat;
89  
90  font:420 16px/1.58 var(--f-body);
91  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
92
93h1,h2,h3,h4,.f-head{font-family:var(--f-head);font-optical-sizing:auto}
94.mono,.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;
95  font-feature-settings:"tnum" 1}
96a{color:var(--accent);text-decoration:none}
97a:hover{text-decoration:underline}
98img{max-width:100%}
99
100:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
101
102.wrap{max-width:1140px;margin:0 auto;padding:0 18px}
103@media (min-width:1500px){.wrap{max-width:1360px}}
104@media (min-width:1800px){.wrap{max-width:1480px}}
105.muted{color:var(--muted)}
106.nowrap{white-space:nowrap}
107.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
108  clip:rect(0 0 0 0);white-space:nowrap;border:0}
109.ic{width:1em;height:1em;flex:none;vertical-align:-.12em;fill:none;stroke:currentColor;
110  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
111.ic-lg{width:1.25em;height:1.25em}
112.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--card);padding:10px 16px;border-radius:0 0 var(--r) 0}
113.skip:focus{left:0}
114
115.stand{background:var(--gold-soft);color:var(--gold);border-bottom:1px solid var(--gold-line);
116  padding:7px 0;font-size:12.5px;letter-spacing:.01em}
117
118.site-head{background:var(--card);border-bottom:1px solid var(--line);position:relative;z-index:5}
119@media (min-width:941px){.site-head{position:sticky;top:0;box-shadow:0 18px 30px -30px rgba(13,20,16,.5)}}
120
121@supports (backdrop-filter:blur(2px)){
122  @media (min-width:941px){
123    .site-head{background:color-mix(in srgb,var(--card) 78%,transparent);
124      backdrop-filter:saturate(1.8) blur(14px);-webkit-backdrop-filter:saturate(1.8) blur(14px)}
125  }
126}
127
128.head-in{display:grid;grid-template-areas:"brand nav search langs";
129  grid-template-columns:auto max-content minmax(148px,1fr) auto;align-items:center;gap:8px 20px;min-height:var(--head)}
130
131.brand{grid-area:brand;display:flex;align-items:center;color:var(--ink);text-decoration:none;min-height:36px}
132.brand:hover{text-decoration:none}
133
134.brand>picture{display:block;line-height:0}
135.brand-logo{height:32px;width:auto;max-width:212px;display:block}
136.brand-city{position:relative;margin-left:13px;padding-left:14px;font-size:15px;font-weight:640;
137  letter-spacing:-.01em;color:var(--ink2);white-space:nowrap}
138.brand-city::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
139  width:1px;height:21px;background:var(--line2)}
140.brand:hover .brand-city{color:var(--accent)}
141.brand-fb{display:none;align-items:center;gap:10px}
142.brand.no-logo .brand-fb{display:flex}
143.brand.no-logo .brand-city{display:none}
144.brand-mark{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;
145  background:linear-gradient(150deg,var(--accent),var(--brand2));color:#fff;font-weight:800;font-size:17px;line-height:1;
146  box-shadow:var(--shadow),var(--edge)}
147.brand-text{display:flex;flex-direction:column;line-height:1.15}
148.brand-text b{font-size:17px;font-weight:750;letter-spacing:-.015em}
149.brand-text small{font-size:11px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
150.nav{grid-area:nav;display:flex;gap:2px;align-items:center;overflow-x:auto;scrollbar-width:none}
151.nav::-webkit-scrollbar{display:none}
152.nav a{position:relative;color:var(--ink2);font-size:14.5px;font-weight:560;padding:8px 12px;
153  border-radius:10px;white-space:nowrap;transition:background var(--t),color var(--t)}
154.nav a:hover{background:var(--soft);color:var(--ink);text-decoration:none}
155.nav a[aria-current]{color:var(--accent);background:var(--accent-soft)}
156
157.nav a[aria-current]::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;
158  border-radius:2px;background:var(--accent)}
159
160.nav details{position:relative;flex:none}
161.nav summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:5px;
162  color:var(--ink2);font-size:14.5px;font-weight:560;padding:8px 12px;border-radius:10px;
163  white-space:nowrap;transition:background var(--t),color var(--t)}
164.nav summary::-webkit-details-marker{display:none}
165.nav summary:hover{background:var(--soft);color:var(--ink)}
166.nav details.on>summary{color:var(--accent);background:var(--accent-soft)}
167
168.nav summary .ic{transition:transform var(--t)}
169.nav details[open]>summary .ic{transform:rotate(90deg)}
170.nav .more-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:178px;
171  display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--card);
172  border:1px solid var(--line);border-radius:13px;box-shadow:0 12px 30px rgba(0,0,0,.13)}
173.nav .more-panel a{padding:9px 11px}
174
175.nav:has(details[open]){overflow:visible}
176.head-search{grid-area:search;display:flex;align-items:center;gap:6px;background:var(--soft);
177  border:1px solid transparent;border-radius:999px;padding:2px 4px 2px 13px;
178  transition:background var(--t),border-color var(--t),box-shadow var(--t)}
179.head-search:focus-within{background:var(--card);border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}
180.head-search .ic{color:var(--muted)}
181.head-search input{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:inherit;font-size:14px;padding:7px 0}
182.head-search input:focus{outline:none}
183.head-search button{border:0;background:none;color:var(--muted);cursor:pointer;padding:6px 8px;border-radius:999px;display:flex;
184  transition:color var(--t),background var(--t)}
185.head-search button:hover{color:var(--accent);background:var(--accent-soft)}
186.langs{grid-area:langs;display:flex;gap:2px;align-items:center;text-transform:uppercase;
187  font-size:12px;font-weight:650;letter-spacing:.05em}
188.langs a,.langs b{padding:5px 9px;border-radius:8px}
189.langs b{background:var(--soft);color:var(--ink)}
190.langs a{color:var(--muted);transition:color var(--t),background var(--t)}
191.langs a:hover{color:var(--accent);background:var(--accent-soft);text-decoration:none}
192
193@media (max-width:1100px){
194  .head-in{gap:8px 14px}
195  .brand-city{display:none}
196}
197@media (max-width:980px){
198  
199  .head-in{grid-template-areas:"brand langs" "search search" "nav nav";grid-template-columns:1fr auto;
200    gap:0;padding:10px 0 2px;min-height:0}
201  .head-search{margin:11px 0 1px;padding:2px 4px 2px 13px}
202  .nav{margin:8px -18px 0;padding:0 18px 8px}
203  .brand-logo{height:28px}
204  
205  .site-head{overflow-x:clip}
206}
207@media (max-width:620px){.brand-city{display:none}}
208
209main{display:block;padding:30px 0 52px}
210
211h1{font-size:clamp(29px,1.05rem + 2.3vw,44px);line-height:1.07;letter-spacing:-.035em;
212  font-weight:800;margin:0 0 10px;text-wrap:balance}
213.page-head{margin:0 0 28px}
214.kicker{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:11.5px;font-weight:750;
215  letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
216.kicker a{color:var(--muted)}
217.kicker .ic{color:var(--accent);opacity:.85}
218.lede{margin:0;color:var(--ink2);font-size:17px;line-height:1.52;max-width:62ch;text-wrap:pretty}
219.lede strong{color:var(--ink);font-weight:750;font-size:19px;letter-spacing:-.015em}
220.rule{border:0;border-top:1px solid var(--line);margin:38px 0 30px}
221
222.sec-head{display:flex;align-items:baseline;gap:12px;margin:0 0 18px;
223  padding:0 0 10px;border-bottom:1px solid var(--line)}
224
225.sec-head h2{margin:0;font-family:var(--f-head);font-size:21px;font-weight:700;letter-spacing:-.03em}
226
227
228.sec-head .cnt{font-size:12px;font-weight:500;letter-spacing:.01em;
229  color:var(--muted);font-variant-numeric:tabular-nums}
230.sec-more{margin-left:auto;font-size:14px;font-weight:640;white-space:nowrap}
231@media (max-width:520px){.sec-head .cnt{display:none}}
232
233.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 16px;
234  font-size:13px;color:var(--muted)}
235.crumbs a{color:var(--muted);border-radius:6px;transition:color var(--t)}
236.crumbs a:hover{color:var(--accent)}
237.crumbs .ic{width:.85em;height:.85em;opacity:.55}
238.crumbs .cur{color:var(--ink2);font-weight:600}
239
240.layout{display:grid;grid-template-columns:292px minmax(0,1fr);gap:34px;align-items:start}
241
242.layout.main-first{grid-template-columns:minmax(0,1fr) 312px}
243
244@media (max-width:940px){
245  .layout,.layout.main-first{grid-template-columns:minmax(0,1fr);gap:20px}
246  
247}
248.layout>*{min-width:0}
249.side{display:flex;flex-direction:column;gap:14px;min-width:0}
250
251@media (min-width:941px){.side-sticky{position:sticky;top:calc(var(--head) + 16px)}}
252
253.side-in{display:flex;flex-direction:column;gap:14px;min-width:0}
254.filt{display:none}
255@media (min-width:941px){
256  .side-in{position:sticky;top:calc(var(--head) + 16px)}
257}
258@media (max-width:940px){
259  .filt{display:block}
260  .filt>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;
261    background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
262    box-shadow:var(--shadow),var(--edge);
263    padding:13px 16px;font-size:15px;font-weight:650;color:var(--ink)}
264  .filt>summary::-webkit-details-marker{display:none}
265  .filt>summary .ic{color:var(--accent)}
266  .filt>summary .caret{margin-left:auto;color:var(--muted);transition:transform var(--t)}
267  .filt[open]>summary .caret{transform:rotate(90deg)}
268  .side-in{display:none}
269  .filt[open] ~ .side-in{display:flex}
270}
271
272.panel{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
273  box-shadow:var(--shadow),var(--edge);padding:6px}
274.panel-h{display:flex;align-items:center;gap:8px;margin:0;padding:13px 12px 9px;
275  font-size:11.5px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
276.panel-h .ic{color:var(--accent);opacity:.85;width:1.15em;height:1.15em}
277.panel-note{margin:0;padding:10px 12px 8px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}
278.panel-note a{font-weight:600}
279
280.opts{list-style:none;margin:0;padding:0 0 6px;display:flex;flex-direction:column;gap:1px}
281.opts.tall{max-height:min(54vh,438px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
282.panel:has(.opts.tall)::after{content:"";position:absolute;
282left:6px;right:14px;bottom:6px;height:26px;
283  border-radius:0 0 14px 14px;pointer-events:none;
284  background:linear-gradient(180deg,transparent,var(--card))}
285.panel:has(.panel-note)::after{display:none}
286.opts a{display:flex;align-items:baseline;gap:10px;padding:8px 11px;border-radius:10px;
287  font-size:14.5px;color:var(--ink2);line-height:1.35;transition:background var(--t),color var(--t)}
288.opts a:hover{background:var(--soft);color:var(--ink);text-decoration:none}
289.opts .cnt{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}
290.opts .on a{background:var(--accent-soft);color:var(--accent);font-weight:660}
291.opts .on .cnt{color:var(--accent)}
292
293.searchbar{display:flex;gap:9px;margin:0 0 18px}
294.searchbar .f{flex:1;display:flex;align-items:center;gap:10px;background:var(--card);
295  border:1px solid var(--line);border-radius:15px;padding:0 16px;box-shadow:var(--shadow),var(--edge);
296  transition:border-color var(--t),box-shadow var(--t)}
297.searchbar .f:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
298.searchbar .f .ic{color:var(--muted)}
299.searchbar input{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:inherit;padding:13px 0}
300.searchbar input:focus{outline:none}
301
302.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent2);
303  background:linear-gradient(180deg,var(--accent),var(--accent2));
304  color:var(--on-accent);font:inherit;font-size:15px;font-weight:650;padding:12px 20px;border-radius:15px;cursor:pointer;
305  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.18);
306  transition:filter var(--t),box-shadow var(--t),transform var(--t)}
307.btn:hover{filter:brightness(1.08);text-decoration:none;color:var(--on-accent);box-shadow:var(--shadow-lift)}
308.btn:active{transform:translateY(1px);box-shadow:var(--shadow)}
309.btn-ghost{background:var(--card);border-color:var(--line);color:var(--ink2);box-shadow:var(--shadow),var(--edge)}
310.btn-ghost:hover{background:var(--soft);border-color:var(--line2);color:var(--ink);filter:none}
311
312.cards{display:flex;flex-direction:column;gap:14px}
313.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
314.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
315  box-shadow:var(--shadow),var(--edge);padding:16px;
316  transition:border-color var(--t),box-shadow var(--t),transform var(--t)}
317
318@media (hover:hover){
319  .card:hover{border-color:var(--line2);box-shadow:var(--shadow-lift),var(--edge);transform:translateY(-2px)}
320}
321
322.card h2,.card h3{margin:0;font-size:17.5px;line-height:1.3;font-weight:730;letter-spacing:-.019em;text-wrap:pretty}
323.card h2 a,.card h3 a{color:var(--ink)}
324.card h2 a:hover,.card h3 a:hover{color:var(--accent);text-decoration:none}
325
326.card h2 a::after,.card h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--r-lg)}
327.meta{display:flex;flex-wrap:wrap;align-items:center;gap:3px 14px;color:var(--muted);font-size:13.5px;margin:8px 0 0}
328.meta i{font-style:normal;display:inline-flex;align-items:center;gap:6px}
329.meta .ic{opacity:.7}
330
331.meta .checked{color:var(--accent);font-weight:560}
332.meta .checked .ic{opacity:1}
333
334.meta .shut{color:var(--muted);font-weight:560;text-decoration:line-through;
335  text-decoration-color:var(--line);text-underline-offset:2px}
336.meta .shut .ic{opacity:.5}
337.excerpt{margin:10px 0 0;color:var(--ink2);font-size:14.5px;line-height:1.55;text-wrap:pretty}
338.badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;
339  letter-spacing:.03em;text-transform:uppercase;padding:4px 10px;border-radius:999px;
340  background:var(--gold-soft);color:var(--gold);border:1px solid var(--gold-line)}
341.badge-soft{background:var(--soft);color:var(--muted);border-color:transparent}
342
343.pcard{display:flex;gap:15px;align-items:flex-start;overflow:hidden}
344.pcard .thumb{flex:none;width:92px;height:92px;border-radius:14px;overflow:hidden;
345  background:var(--soft2);border:1px solid var(--line);display:grid;place-items:center}
346.pcard .thumb img{width:100%;height:100%;object-fit:cover;display:block}
347.pcard .thumb.logo img{object-fit:contain;padding:7px;background:#fff}
348.pcard .thumb.blank{color:var(--line2)}
349.pcard .thumb .ic{width:26px;height:26px}
350.pcard .body{min-width:0;flex:1}
351
352.pcard .kind{margin:0 0 4px;font-size:11px;font-weight:750;letter-spacing:.09em;
353  text-transform:uppercase;color:var(--muted)}
354.pcard .tel{color:var(--ink2);font-variant-numeric:tabular-nums;font-weight:600;position:relative;z-index:1}
355.pcard .tel:hover{color:var(--accent)}
356
357.pcard.is-top::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
358  background:linear-gradient(180deg,var(--gold),var(--gold-line));border-radius:var(--r-lg) 0 0 var(--r-lg)}
359@media (max-width:560px){.pcard{gap:13px}.pcard .thumb{width:72px;height:72px;border-radius:12px}}
360
361.chips{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:26px 0 0}
362.chips-label{display:inline-flex;color:var(--muted);margin-right:1px}
363.chips-label .ic{width:1.1em;height:1.1em}
364.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--card);
365  border-radius:999px;padding:6px 14px;font-size:13.5px;color:var(--ink2);line-height:1.45;
366  box-shadow:var(--edge);transition:border-color var(--t),color var(--t),background var(--t)}
367a.chip:hover{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft);text-decoration:none}
368span.chip{color:var(--muted);background:var(--soft);border-color:transparent;box-shadow:none}
369
370.chip .n{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
371
372a.chip-lead{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);font-weight:640}
373a.chip-lead:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
374
375.pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:30px 0 0}
376.pg{min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;
377  border:1px solid var(--line);background:var(--card);border-radius:12px;font-size:14.5px;font-weight:620;
378  color:var(--ink2);font-variant-numeric:tabular-nums;box-shadow:var(--shadow),var(--edge);
379  transition:border-color var(--t),color var(--t)}
380a.pg:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
381.pg.is-cur{background:linear-gradient(180deg,var(--accent),var(--accent2));border-color:var(--accent2);color:var(--on-accent)}
382.pg.is-off{opacity:.4;box-shadow:none}
383.pg.dots{border:0;background:none;min-width:20px;padding:0 2px;color:var(--muted);box-shadow:none}
384@media (max-width:560px){.pg.num-far{display:none}}
385
386.empty{background:var(--card);border:1px dashed var(--line2);border-radius:var(--r-xl);
387  padding:44px 24px;text-align:center;color:var(--muted)}
388.empty .ic{width:34px;height:34px;color:var(--line2);margin:0 0 10px}
389
390.article{max-width:100%}
391
392
393
394.site-foot{position:relative;background:var(--card);border-top:1px solid var(--line);
395  margin-top:auto;padding:34px 0 0}
396main>.wrap>*:last-child{margin-bottom:34px}
397
398.site-foot::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;
399  background:linear-gradient(90deg,var(--accent),var(--brand2) 45%,var(--gold))}
400.foot-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,392px);gap:30px;align-items:start}
401@media (max-width:820px){.foot-top{grid-template-columns:1fr;gap:24px}}
402.foot-about>picture{display:block;line-height:0}
403.foot-logo{height:30px;width:auto;max-width:200px;display:block;margin:0 0 11px}
404.foot-about b{font-size:17px;letter-spacing:-.015em;display:block}
405.foot-about p{margin:8px 0 0;font-size:14px;color:var(--muted);max-width:44ch;line-height:1.55}
406.foot-find h3,.foot-nav h3{margin:0 0 11px;font-size:11.5px;font-weight:750;letter-spacing:.1em;
407  text-transform:uppercase;color:var(--muted)}
408.foot-find .searchbar{margin:0}
409.foot-find .searchbar .f{background:var(--soft2)}
410.foot-nav{display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;justify-content:space-between;
411  border-top:1px solid var(--line);margin-top:32px;padding:20px 0 4px}
412.foot-links{display:flex;flex-wrap:wrap;gap:6px 8px}
413.foot-links a{font-size:14.5px;font-weight:600;color:var(--ink2);padding:7px 13px;border-radius:10px;
414  transition:background var(--t),color var(--t)}
415.foot-links a:hover{background:var(--soft);color:var(--accent);text-decoration:none}
416.foot-langs{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
417.foot-langs a{font-size:14px;color:var(--muted);padding:7px 13px;border-radius:10px;border:1px solid var(--line);
418  transition:color var(--t),border-color var(--t),background var(--t)}
419.foot-langs a:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft);text-decoration:none}
420.foot-bottom{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;align-items:center;
421  border-top:1px solid var(--line);margin-top:16px;padding:16px 0;font-size:13px;color:var(--muted)}
422.foot-bottom a{color:var(--muted);display:inline-flex;align-items:center;gap:6px}
423.foot-bottom a:hover{color:var(--accent)}
424.foot-bottom .ic{width:.95em;height:.95em;transform:rotate(-90deg)}
425body{min-height:100vh;display:flex;flex-direction:column}
426/* 🔴 Перенос довгих слів. У тілах успадкованих матеріалів адреси часто стоять
427   ТЕКСТОМ посилання, і без цього правила одна така адреса розсувала сторінку:
428   виміряно на статті при 360 px — зайвих 51 px горизонтальної прокрутки, тобто
429   на найпоширенішій ширині телефона сайт їхав убік. Стосується не лише статей:
430   описи закладів і біографії приїхали з тієї самої бази. */
431body{overflow-wrap:break-word}
432
433body>.wrap{flex:1 0 auto;width:100%}
434
435.narrow{max-width:812px;margin:0 auto}
436
437
438
439
440
441.hero{position:relative;margin:0 0 26px;border-radius:var(--r-xl);overflow:hidden;
442  background:var(--soft);isolation:isolate}
443.hero-shot{position:absolute;inset:0;z-index:0;line-height:0}
444.hero-shot img{width:100%;height:100%;object-fit:cover;display:block}
445
446.hero::after{content:"";position:absolute;inset:0;z-index:1;
447  background:linear-gradient(105deg,rgba(8,18,14,.94) 0%,rgba(8,18,14,.80) 38%,
448             rgba(8,18,14,.34) 66%,rgba(8,18,14,.12) 100%)}
449
450@media (max-width:760px){
451  .hero::after{background:linear-gradient(180deg,rgba(8,18,14,.34) 0%,rgba(8,18,14,.72) 42%,
452               rgba(8,18,14,.93) 100%)}
453}
454.hero-body{position:relative;z-index:2;padding:30px 26px 26px;max-width:760px;color:#fff}
455@media (min-width:761px){.hero-body{min-height:300px;display:flex;flex-direction:column;justify-content:flex-end}}
456
457.hero-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
458.hero-city{margin:0;font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.16em;
459  text-transform:uppercase;color:rgba(255,255,255,.82)}
460.hero-tag{padding:5px 10px;border-radius:3px;background:rgba(255,255,255,.14);
461  font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;
462  text-transform:uppercase;color:#fff}
463.hero-body h2{margin:14px 0 0;max-width:19ch;color:#fff;font-weight:800;
464  font-size:clamp(26px,3.8vw,44px);line-height:1.03;letter-spacing:-.045em;text-wrap:balance}
465.hero-body h2 a{color:#fff}
466.hero-body h2 a:hover{color:#fff;text-decoration:none}
467.hero-body h2 a::after{content:"";position:absolute;inset:0}
468.hero-body .excerpt{margin:12px 0 0;max-width:56ch;font-size:15px;line-height:1.5;
469  color:#c8dbd3;text-wrap:pretty}
470.hero-meta{margin:14px 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;
471  font-size:13.5px;color:#c2d4cd}
472.hero-meta span+span::before{content:"·";margin-right:10px;opacity:.55}
473@media (hover:hover){.hero:hover .hero-shot img{transform:scale(1.03)}}
474.hero-shot img{transition:transform .5s var(--ease)}
475@media (prefers-reduced-motion:reduce){.hero-shot img{transition:none}}
476
477
478
479
480.civic{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);margin:26px 0 0;
481  background:var(--soft2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
482.civic div{padding:11px 18px;border-right:1px solid var(--line)}
483.civic div:last-child{border-right:0}
484.civic dt{margin:0;font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.14em;
485  text-transform:uppercase;color:var(--muted)}
486.civic dd{margin:7px 0 0;font-family:var(--f-head);font-size:19px;font-weight:600;
487  letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
488.civic dd small{font-size:12px;font-weight:500;color:var(--muted);margin-left:5px;letter-spacing:0}
489
490.civic .now dd{color:var(--accent)}
491
492@media (max-width:760px){.civic{grid-auto-flow:row;grid-template-columns:1fr 1fr}
493  .civic div:nth-child(2n){border-right:0}}
494
495
496.cols2{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}
497
498.cols2.one{grid-template-columns:1fr}
499@media (max-width:880px){.cols2{grid-template-columns:1fr;gap:20px}}
500.li2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;
501  padding:11px 0;border-bottom:1px solid var(--line)}
502.li2:last-child{border-bottom:0}
503.li2 b{display:block;font-size:14.5px;font-weight:640;line-height:1.25}
504.li2 b a{color:var(--ink)}
505.li2 b a:hover{color:var(--accent);text-decoration:none}
506.li2 span{display:block;margin-top:3px;font-size:12.5px;color:var(--muted)}
507
508.pill2{padding:3px 8px;border-radius:3px;font-family:var(--f-mono);font-size:11px;
509  font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
510.pill2.o{background:var(--accent-soft);color:var(--accent)}
511.pill2.v{border:1px solid var(--accent-line);color:var(--accent)}
512
513
514.sts{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
515.sts a{display:inline-flex;align-items:baseline;gap:6px;padding:7px 11px;
516  border:1px solid var(--line);border-radius:3px;background:var(--card);
517  font-size:13px;color:var(--ink2);white-space:nowrap}
518.sts a:hover{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft);text-decoration:none}
519.sts .n{font-family:var(--f-mono);font-size:11px;font-weight:500;color:var(--muted);
520  font-variant-numeric:tabular-nums}
521.sts a:hover .n{color:var(--accent)}
522
523
524.arts{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px 22px;margin-top:16px}
525.art{position:relative;min-width:0}
526.art .im{display:block;border-radius:var(--r);overflow:hidden;background:var(--soft2);line-height:0}
527.art .im img{width:100%;height:100%;object-fit:cover;display:block}
528.art.lead{grid-column:1;grid-row:1;display:flex;flex-direction:column}
529.arts-mini{grid-column:2/4;grid-row:1;display:grid;grid-template-columns:1fr 1fr;
530  gap:18px 22px;align-content:start;min-width:0}
531.art.lead .im{aspect-ratio:16/10}
532.art.lead h3{margin:11px 0 0;font-size:clamp(18px,1rem+.5vw,23px);line-height:1.16;letter-spacing:-.02em}
533.art.lead .excerpt{margin-top:8px;font-size:15px;max-width:46ch}
534
535.art:not(.lead){display:grid;grid-template-columns:92px minmax(0,1fr);
536  grid-template-rows:auto auto auto;gap:0 13px;align-items:start;align-content:start}
537.art:not(.lead) .im{grid-column:1;grid-row:1/4;aspect-ratio:1;align-self:start}
538.art:not(.lead) .cat{grid-column:2;grid-row:1;margin:0}
539.art:not(.lead) h3{grid-column:2;grid-row:2;margin:5px 0 0;font-size:15.5px;line-height:1.3}
540.art:not(.lead) .excerpt{display:none}
541.art:not(.lead) .meta{grid-column:2;grid-row:3;margin:6px 0 0}
542.art .cat{margin-top:10px;font-size:11px;font-weight:700;letter-spacing:.11em;
543  text-transform:uppercase;color:var(--accent)}
544.art h3 a{color:var(--ink)}
545.art h3 a:hover{color:var(--accent);text-decoration:none}
546.art h3 a::after{content:"";position:absolute;inset:0}
547
548.arts-more{grid-column:1/4;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
549  margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
550.art.wide{display:flex;flex-direction:column}
551.art.wide .im{aspect-ratio:16/10}
552.art.wide h3{margin:9px 0 0;font-size:15px;line-height:1.3}
553@media (max-width:880px){
554  .arts-more{grid-column:1;grid-template-columns:1fr 1fr;gap:16px}
555  .arts{grid-template-columns:minmax(0,1fr);gap:16px}
556  .art.lead{grid-column:1;grid-row:auto}
557  .arts-mini{grid-column:1;grid-row:auto;grid-template-columns:1fr;gap:16px}
558}
559
560@media (max-width:520px){
561  .arts-more{grid-template-columns:1fr;gap:0}
562  .art.wide{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto auto auto;
563    gap:0 13px;align-items:start;align-content:start;padding:13px 0;border-bottom:1px solid var(--line)}
564  .art.wide:last-child{border-bottom:0}
565  .art.wide .im{grid-column:1;grid-row:1/4;aspect-ratio:1;align-self:start}
566  .art.wide .cat{grid-column:2;grid-row:1;margin:0}
567  .art.wide h3{grid-column:2;grid-row:2;margin:5px 0 0;font-size:15px}
568  .art.wide .meta{grid-column:2;grid-row:3;margin:6px 0 0}
569}
570
571.sec-dir{margin-top:34px}
572
573.rubs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:16px;
574  background:var(--line);border:1px solid var(--line)}
575
576.rubs a{display:flex;align-items:baseline;gap:9px;padding:14px 14px;background:var(--card);
577  font-size:14.5px;line-height:1.25;color:var(--ink)}
578.rubs a:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}
579
580.rubs.tail-1 a:last-child{grid-column:span 4}
581.rubs.tail-2 a:nth-last-child(-n+2){grid-column:span 2}
582.rubs.tail-3 a:last-child{grid-column:span 2}
583@media (max-width:880px){.rubs.tail-1 a:last-child,.rubs.tail-3 a:last-child{grid-column:span 2}
584  .rubs.tail-2 a:nth-last-child(-n+2){grid-column:auto}}
585@media (max-width:520px){.rubs a{grid-column:auto !important}}
586.rubs .n{margin-left:auto;font-family:var(--f-mono);font-size:12.5px;font-weight:600;
587  color:var(--accent);font-variant-numeric:tabular-nums}
588@media (max-width:880px){.rubs{grid-template-columns:1fr 1fr}}
589@media (max-width:520px){.rubs{grid-template-columns:1fr}}
590
591
592.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
593.vcard{display:flex;flex-direction:column;padding:0;overflow:hidden}
594.vcard .shot{display:block;aspect-ratio:16/10;background:var(--soft2);overflow:hidden;line-height:0}
595.vcard .shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
596.vcard:hover .shot img{transform:scale(1.04)}
597.vcard .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:0;flex:1}
598.vcard h3{font-size:16px;line-height:1.34;font-weight:690}
599.vcard .meta{margin-top:auto;padding-top:10px}
600
601
602.mini{list-style:none;margin:0;padding:0 0 6px;display:flex;flex-direction:column;gap:1px}
603.mini a{display:flex;gap:11px;align-items:center;padding:8px 10px;border-radius:12px;color:var(--ink2);
604  transition:background var(--t)}
605.mini a:hover{background:var(--soft);text-decoration:none}
606.mini-thumb{flex:none;width:40px;height:40px;border-radius:11px;overflow:hidden;background:#fff;
607  border:1px solid var(--line);display:grid;place-items:center;color:var(--line2);box-shadow:var(--edge)}
608.mini-thumb img{width:100%;height:100%;object-fit:contain;padding:3px}
609.mini-body{min-width:0;font-size:14px;line-height:1.35;font-weight:630;color:var(--ink)}
610.mini-body small{display:block;font-weight:400;font-size:12.5px;color:var(--muted);margin-top:1px}
611</style>
612<script>
vendor: 332 bytes, lines 612-615
612(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
613  var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;
614  j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
615  })(window,document,'script','dataLayer','
615GTM-56QRSJT
vendor: 3 bytes, line 615
615');
615</script>
615
616</head>
617<body id="top">
vendor: 68 bytes, lines 617-618
617
618<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
618GTM-56QRSJT
vendor: 84 bytes, lines 618-619
618" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
619
620<svg width="0" height="0" style="position:absolute" aria-hidden="true" focusable="false"><defs>
621<symbol id="i-home" viewBox="0 0 24 24"><path d="m3.5 11 8.5-7 8.5 7"/><path d="M6 9.7V20h12V9.7"/></symbol>
622<symbol id="i-pin" viewBox="0 0 24 24"><path d="M12 21s7-5.4 7-11a7 7 0 1 0-14 0c0 5.6 7 11 7 11z"/><circle cx="12" cy="10" r="2.5"/></symbol>
623<symbol id="i-phone" viewBox="0 0 24 24"><path d="M6.4 3h3l1.5 4-2 1.4a12.2 12.2 0 0 0 6.7 6.7l1.4-2 4 1.5v3a2 2 0 0 1-2.2 2A16.6 16.6 0 0 1 4.4 5.2 2 2 0 0 1 6.4 3z"/></symbol>
624<symbol id="i-clock" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.4"/><path d="M12 7.4V12l3.1 1.8"/></symbol>
625<symbol id="i-mail" viewBox="0 0 24 24"><rect x="3.2" y="5.2" width="17.6" height="13.6" rx="2.2"/><path d="m3.8 6.6 8.2 5.8 8.2-5.8"/></symbol>
626<symbol id="i-globe" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.4"/><path d="M3.6 12h16.8"/><path d="M12 3.6c2.4 2.7 2.4 14.1 0 16.8-2.4-2.7-2.4-14.1 0-16.8z"/></symbol>
627<symbol id="i-search" viewBox="0 0 24 24"><circle cx="11" cy="11" r="6.4"/><path d="m15.8 15.8 4.6 4.6"/></symbol>
628<symbol id="i-chev" viewBox="0 0 24 24"><path d="m9.5 5.5 6.5 6.5-6.5 6.5"/></symbol>
629<symbol id="i-star" viewBox="0 0 24 24"><path d="m12 3.7 2.6 5.3 5.8.85-4.2 4.1 1 5.8-5.2-2.75-5.2 2.75 1-5.8-4.2-4.1 5.8-.85z"/></symbol>
630<symbol id="i-photo" viewBox="0 0 24 24"><rect x="3.2" y="5.2" width="17.6" height="13.6" rx="2.2"/><circle cx="8.6" cy="10" r="1.5"/><path d="m4.4 17.4 4.8-4.3 3.8 3.3 2.9-2.4 4.1 3.4"/></symbol>
631<symbol id="i-calendar" viewBox="0 0 24 24"><rect x="3.4" y="5.2" width="17.2" height="14.6" rx="2.2"/><path d="M3.4 10h17.2M8 3.4v3.4M16 3.4v3.4"/></symbol>
632<symbol id="i-tag" viewBox="0 0 24 24"><path d="M11.4 3.6H20V12l-8.6 8.6a1.7 1.7 0 0 1-2.4 0l-6.2-6.2a1.7 1.7 0 0 1 0-2.4z"/><circle cx="16" cy="8" r="1.3"/></symbol>
633<symbol id="i-user" viewBox="0 0 24 24"><circle cx="12" cy="8.4" r="3.5"/><path d="M4.8 20.2a7.4 7.4 0 0 1 14.4 0"/></symbol>
634<symbol id="i-eye" viewBox="0 0 24 24"><path d="M2.4 12s3.6-6.2 9.6-6.2S21.6 12 21.6 12s-3.6 6.2-9.6 6.2S2.4 12 2.4 12z"/><circle cx="12" cy="12" r="2.7"/></symbol>
635<symbol id="i-play" viewBox="0 0 24 24"><circle cx="12" cy="12" r="8.6"/><path d="M10.2 8.8 15.6 12l-5.4 3.2z"/></symbol>
636<symbol id="i-grid" viewBox="0 0 24 24"><rect x="3.4" y="3.4" width="7.2" height="7.2" rx="1.8"/><rect x="13.4" y="3.4" width="7.2" height="7.2" rx="1.8"/><rect x="3.4" y="13.4" width="7.2" height="7.2" rx="1.8"/><rect x="13.4" y="13.4" width="7.2" height="7.2" rx="1.8"/></symbol>
637<symbol id="i-doc" viewBox="0 0 24 24"><path d="M13.5 3.4H7a2 2 0 0 0-2 2v13.2a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8.9z"/><path d="M13.4 3.6V9h5.4M8.6 13h6.8M8.6 16.6h5"/></symbol>
638<symbol id="i-filter" viewBox="0 0 24 24"><path d="M4 7h16M7 12h10M10 17h4"/></symbol>
639
640<symbol id="i-route" viewBox="0 0 24 24"><path d="M20.5 3.5 3.7 10.2a.5.5 0 0 0 .05.94l7.1 2.02 2.02 7.1a.5.5 0 0 0 .94.05z"/><path d="M20.5 3.5 10.85 13.15"/></symbol>
641<symbol id="i-ext" viewBox="0 0 24 24"><path d="M14 4.5h5.5V10"/><path d="M19.5 4.5 11 13"/><path d="M18 14.4v4.1a2 2 0 0 1-2 2H5.5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4.1"/></symbol>
642</defs></svg>
643<a class="skip" href="#main">Перейти до вмісту</a>
644
645
646
647
648<header class="site-head"><div class="wrap head-in">
649  
650  <a class="brand" href="/ua">
651          
652      <picture>
653        <img class="brand-logo" src="https://ulvovi.info/sites/default/files/logos/ulvovi.info.png" alt="Львів" height="32" decoding="async" onerror="this.closest('.brand').classList.add('no-logo');this.parentNode.remove()">
654      </picture>
655        <span class="brand-fb" aria-hidden="true">
656      <span class="brand-mark">Л</span>
657      <span class="brand-text"><b>Львів</b><small>Міський портал</small></span>
658    </span>
659    
660    <span class="brand-city">Львів</span>  </a>
661
662  
663    <nav class="nav" aria-label="Основна навігація">
664    <a href="/ua/info">Довідник</a>
665    
666          <a href="/ua/tag-kudi-piti">Куди піти</a>
667        <a href="/ua/articles">Статті</a>
668    
669    <details class="more">
670      <summary>Ще<svg class="ic" aria-hidden="true"><use href="#i-chev"/></svg>
671</summary>
672      <div class="more-panel">
673        <a href="/ua/news">Новини</a>
674        <a href="/ua/peoples">Люди</a>
675      </div>
676    </details>
677  </nav>
678
679  
680  <form class="head-search" action="/ua/info" method="get" role="search">
681    <svg class="ic" aria-hidden="true"><use href="#i-search"/></svg>
682    <input type="search" name="q" value="" placeholder="Пошук у довіднику" aria-label="Пошук у довіднику">
683    <button type="submit" aria-label="Знайти"><svg class="ic" aria-hidden="true"><use href="#i-chev"/></svg>
684</button>
685  </form>
686
687  
688  
689  <div class="langs">
690                  <b>ua</b>
691                        <a href="https://ulvovi.info/ru" hreflang="ru">ru</a>
692                      </div>
693</div></header>
694
695<div class="wrap"><main id="main">
696
697
698
699          
700
701
702
703
704
705    
706    <section class="hero">
707          <span class="hero-shot"><img src="/thumb/1280/images/articles/110842/378d37fad1b589c40b110e0fe8b7d9d034b64b4d_1557305326_0.jpg.webp" alt="" fetchpriority="high" decoding="async" width="1004" height="485"></span>
708        <div class="hero-body">
709      
710      <div class="hero-eyebrow">
711        <h1 class="hero-city">Львів</h1>
712        <span class="hero-tag">Топ-и</span>      </div>
713      <h2><a href="/ua/article/110842-10-naykraschikh-misc-dlya-vidviduvannya-u-lvovi">10 найкращих місць для відвідування у Львові</a></h2>
714            <p class="excerpt">Є в Україні місто, яке зачаровує з першого погляду – дивовижний і таємничий Львів. Тут гармонійно поєднуються старовина та сучасність, атмосфера минулого й інновації. Галицька столиця славит…</p>      <p class="hero-meta">
715        
716        <span>17 хв читання</span>              </p>
717    </div>
718  </section>
719
720  
721  <section class="sec-articles">
722    <div class="sec-head">
723      <h2>Матеріали про місто</h2>
724      
725      
726      <span class="cnt">8 671 стаття і новина</span>      <a class="sec-more" href="/ua/articles">Усі статті →</a>
727    </div>
728    <div class="arts">
729                              <article class="art lead">
730                                    <a class="im" href="/ua/article/111951-sertifikaciya-avto-z-evropi-ta-ssha-skilki-koshtue-yaki-vimogi-do-optiki-i" tabindex="-1" aria-hidden="true"><img src="/thumb/640/images/articles/111951/pexels-mike-harvey-dela-cruz-623567474-39073762.jpg.webp" alt="" loading="lazy" width="640" height="427"></a>
731                                <p class="cat">Авто і Мото</p>          <h3><a href="/ua/article/111951-sertifikaciya-avto-z-evropi-ta-ssha-skilki-koshtue-yaki-vimogi-do-optiki-i">Сертифікація авто з Європи та США: скільки коштує, які вимоги до оптики і тонування</a></h3>
732          <p class="excerpt">Купівля автомобіля за кордоном — це перевірений спосіб отримати якісний транспортний засіб із прозорою історією або суттєво заощадити бюджет. Проте перетин кордону та сплата митних платежів…</p>          <div class="meta">
733            <i>14 хв читання</i>                      </div>
734        </article>
735            
736      <div class="arts-mini">
737                  
738                            <article class="art">
739                                    <a class="im" href="/ua/article/110840-de-nezvichno-vidsvyatkuvati-den-narodzhennya-u-lvovi-10-originalnikh-idey" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/110840/FDMyejTzLXVLZvXQZx7p8J6Ka3FxzRfJYooKJFfX.jpg.webp" alt="" loading="lazy" width="320" height="152"></a>
740                                <p class="cat">Топ-и</p>          <h3><a href="/ua/article/110840-de-nezvichno-vidsvyatkuvati-den-narodzhennya-u-lvovi-10-originalnikh-idey">Де незвично відсвяткувати день народження у Львові: 10 оригінальних ідей</a></h3>
741          
742          <div class="meta">
743            <i>19 хв читання</i>                      </div>
744        </article>
745                  
746                            <article class="art">
747                                    <a class="im" href="/ua/article/108841-scho-mozhna-pobachiti-u-novomu-lvivskomu-muzei-tretya-pislya-opivnochi" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/108841/0_0.jpg.webp" alt="" loading="lazy" width="320" height="213"></a>
748                                <p class="cat">Новини Культури</p>          <h3><a href="/ua/article/108841-scho-mozhna-pobachiti-u-novomu-lvivskomu-muzei-tretya-pislya-opivnochi">Що можна побачити у новому львівському музеї &quot;Третя після опівночі&quot;?</a></h3>
749          
750          <div class="meta">
751            <i>3 хв читання</i>                      </div>
752        </article>
753                  
754                            <article class="art">
755                                    <a class="im" href="/ua/article/108049-park-gigantskikh-skulptur-bilya-lvova" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/108049/image2_2.jpg.webp" alt="" loading="lazy" width="320" height="213"></a>
756                                <p class="cat">Новини Дозвілля</p>          <h3><a href="/ua/article/108049-park-gigantskikh-skulptur-bilya-lvova">Парк гігантських скульптур біля Львова</a></h3>
757          
758          <div class="meta">
759            <i>4 хв читання</i>                      </div>
760        </article>
761                  
762                            <article class="art">
763                                    <a class="im" href="/ua/article/108815-istoriya-lvova-vid-zasnuvannya-do-sogodennya" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/108815/0.png.webp" alt="" loading="lazy" width="320" height="208"></a>
764                                <p class="cat">Новини Дозвілля</p>          <h3><a href="/ua/article/108815-istoriya-lvova-vid-zasnuvannya-do-sogodennya">Історія Львова: від заснування до сьогодення</a></h3>
765          
766          <div class="meta">
767            <i>4 хв читання</i>                      </div>
768        </article>
769                  
770                            <article class="art">
771                                    <a class="im" href="/ua/article/108482-yak-pravilno-vikoristovuvati-generator-poradi-lvivskikh-ryatuvalnikiv" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/108482/6z7a8902-3187d732.jpg.webp" alt="" loading="lazy" width="320" height="190"></a>
772                                <p class="cat">Суспільство</p>          <h3><a href="/ua/article/108482-yak-pravilno-vikoristovuvati-generator-poradi-lvivskikh-ryatuvalnikiv">Як правильно використовувати генератор: поради львівських рятувальників</a></h3>
773          
774          <div class="meta">
775            <i>3 хв читання</i>                      </div>
776        </article>
777                  
778                            <article class="art">
779                                    <a class="im" href="/ua/article/108177-kilka-istoriy-meshkanciv-oseli" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/108177/0_0.jpg.webp" alt="" loading="lazy" width="320" height="240"></a>
780                                <p class="cat">Суспільство</p>          <h3><a href="/ua/article/108177-kilka-istoriy-meshkanciv-oseli">Кілька історій мешканців “Оселі”</a></h3>
781          
782          <div class="meta">
783            <i>3 хв читання</i>                      </div>
784        </article>
785              </div>
786      
787            <div class="arts-more">
788                                    <article class="art wide">
789                                    <a class="im" href="/ua/article/108334-yak-misto-vporaetsya-z-krizoyu-v-energetici" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/108334/00.png.webp" alt="" loading="lazy" width="320" height="196"></a>
790                                <p class="cat">Суспільство</p>          <h3><a href="/ua/article/108334-yak-misto-vporaetsya-z-krizoyu-v-energetici">Як місто впорається з кризою в енерÐ
790³ÐµÑ‚иці?</a></h3>
791          
792          <div class="meta">
793            <i>4 хв читання</i>                      </div>
794        </article>
795                                    <article class="art wide">
796                                    <a class="im" href="/ua/article/108298-scho-treba-mati-vdoma-v-razi-nadzvichaynoi-situacii" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/108298/466f712-02aacc9-depositphotos-482001080-s--1200.jpg.webp" alt="" loading="lazy" width="320" height="168"></a>
797                                <p class="cat">Суспільство</p>          <h3><a href="/ua/article/108298-scho-treba-mati-vdoma-v-razi-nadzvichaynoi-situacii">Що треба мати вдома в разі надзвичайної ситуації</a></h3>
798          
799          <div class="meta">
800            <i>3 хв читання</i>                      </div>
801        </article>
802                                    <article class="art wide">
803                                    <a class="im" href="/ua/article/108236-yaka-situaciya-z-orendoyu-zhitla-u-lvovi" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/108236/lviv-secrets-1.jpg.webp" alt="" loading="lazy" width="320" height="213"></a>
804                                <p class="cat">Нерухомість</p>          <h3><a href="/ua/article/108236-yaka-situaciya-z-orendoyu-zhitla-u-lvovi">Яка ситуація з орендою житла у Львові</a></h3>
805          
806          <div class="meta">
807            <i>3 хв читання</i>                      </div>
808        </article>
809                                    <article class="art wide">
810                                    <a class="im" href="/ua/article/108185-burzhuyki-elektropliti-ta-inshe-yak-lvivyanam-pidgotuvatisya-do-zimi" tabindex="-1" aria-hidden="true"><img src="/thumb/320/images/articles/108185/1TeE-ra23d8wuWkUOcmjJ8Vie940W5vO-lJ7.jpg.webp" alt="" loading="lazy" width="320" height="197"></a>
811                                <p class="cat">Lifestyle</p>          <h3><a href="/ua/article/108185-burzhuyki-elektropliti-ta-inshe-yak-lvivyanam-pidgotuvatisya-do-zimi">Буржуйки, електроплити та інше: як львів’янам підготуватися до зими</a></h3>
812          
813          <div class="meta">
814            <i>3 хв читання</i>                      </div>
815        </article>
816              </div>
817          </div>
818  </section>
819
820  
821  <dl class="civic">
822          <div class="now">
823        <dt>Зараз відчинено</dt>
824        <dd>81<small>із 116 з графіком</small></dd>
825      </div>
826        <div>
827      <dt>У довіднику</dt>
828      
829      
830      <dd>398<small>у 81 рубриці</small></dd>
831    </div>
832          <div>
833        <dt>Перевірено вручну</dt>
834        
835                
836        
837        <dd>78<small>за півроку</small></dd>
838      </div>
839        <div>
840      <dt>Матеріали про місто</dt>
841      
842      
843      <dd>8 671<small>стаття і новина</small></dd>
844    </div>
845  </dl>
846
847<section class="sec-dir">
848  <div class="sec-head">
849    <h2>Довідник</h2>
850    
851          
852      <span class="cnt">81 рубрика ·
853        398 закладів</span>
854        <a class="sec-more" href="/ua/info">Весь довідник →</a>
855  </div>
856  
857  
858  <nav class="rubs " aria-label="Рубрики">
859          
860      <a href="/ua/info-medical-centers">Медичні центри та клініки<span class="n">65</span></a>
861          
862      <a href="/ua/info-clothing">Одяг<span class="n">42</span></a>
863          
864      <a href="/ua/info-beauty-salons">Салони краси та перукарні<span class="n">28</span></a>
865          
866      <a href="/ua/info-building-materials">Будівельні матеріали<span class="n">28</span></a>
867          
868      <a href="/ua/info-diagnostics">Діагностичні центри<span class="n">21</span></a>
869          
870      <a href="/ua/info-travel-agencies">Туристичні агенції<span class="n">20</span></a>
871          
872      <a href="/ua/info-dentistry">Стоматологія<span class="n">16</span></a>
873          
874      <a href="/ua/info-kids-goods">Дитячі товари та іграшки<span class="n">13</span></a>
875          
876      <a href="/ua/info-online-shops">Інтернет-магазини<span class="n">13</span></a>
877          
878      <a href="/ua/info-shoes">Взуття<span class="n">13</span></a>
879          
880      <a href="/ua/info-appliances">
880Побутова техніка та електроніка<span class="n">12</span></a>
881          
882      <a href="/ua/info-doors-windows">Двері та вікна<span class="n">12</span></a>
883      </nav>
884</section>
885
886  
887  <div class="cols2 ">
888          <section>
889        
890        <div class="sec-head"><h2>Зараз відчинено</h2>
891          <span class="cnt">10:15</span>
892          <a class="sec-more" href="/ua/info">Весь довідник →</a></div>
893                                      <div class="li2">
894            <span>
895              <b><a href="/ua/info-magazyn-olena-dats-gallery-olena-dac-geleri">Магазин &quot;Olena Dats&#039; Gallery&quot; (&quot;Олена Даць Гелері&quot;)</a></b>
896                          </span>
897            
898            
899            <span class="pill2 o">до 19:00</span>
900          </div>
901                                      <div class="li2">
902            <span>
903              <b><a href="/ua/info-klinika-zablockogo">Клініка &quot;Заблоцького&quot;</a></b>
904              <span>вулиця Коперника 20</span>            </span>
905            
906            
907            <span class="pill2 o">до 18:00</span>
908          </div>
909                                      <div class="li2">
910            <span>
911              <b><a href="/ua/info-magazyn-legenda-class-legenda-klas">Legenda Class, чоловічий класичний одяг</a></b>
912              <span>вулиця Шевченка 111а</span>            </span>
913            
914            
915            <span class="pill2 o">до 19:00</span>
916          </div>
917                                      <div class="li2">
918            <span>
919              <b><a href="/ua/info-medychnyy-centr-intersono">Медичний центр &quot;Medicover&quot; (&quot;Медікавер&quot;)</a></b>
920              <span>вулиця Антоновича 102</span>            </span>
921            
922            
923            <span class="pill2 o">до 20:00</span>
924          </div>
925              </section>
926    
927          <section>
928        
929                <div class="sec-head"><h2>Нещодавно перевірені</h2>
930          <span class="cnt">вересень 2026</span></div>
931                            <div class="li2">
932            <span>
933              <b><a href="/ua/info-doktor-vet">Доктор VET</a></b>
934              
935              <span>вулиця Любінська 164-а</span>            </span>
936                          
937              <span class="pill2 v"><time datetime="2026-09">перевірено</time></span>
938                      </div>
939                            <div class="li2">
940            <span>
941              <b><a href="/ua/info-veterynarnyi-gospital-eurovet">Ветеринарний госпіталь «EuroVet»</a></b>
942              
943              <span>вулиця Софії Яблонської 8</span>            </span>
944                          
945              <span class="pill2 v"><time datetime="2026-09">перевірено</time></span>
946                      </div>
947                            <div class="li2">
948            <span>
949              <b><a href="/ua/info-stomatologichna-klinika-avitsenna">Стоматологічна клініка «Авіценна»</a></b>
950              
951              <span>вулиця Антоненка-Давидовича 1</span>            </span>
952                          
953              <span class="pill2 v"><time datetime="2026-09">перевірено</time></span>
954                      </div>
955                            <div class="li2">
956            <span>
957              <b><a href="/ua/info-megadental">МегаДентал</a></b>
958              
959              <span>вулиця Залізнична 7м</span>            </span>
960                          
961              <span class="pill2 v"><time datetime="2026-09">перевірено</time></span>
962                      </div>
963              </section>
964      </div>
965
966  
967  <section>
968    <div class="sec-head"><h2>Вулиці міста</h2>
969      <span class="cnt">заклади за адресами</span></div>
970    <div class="sts">
971              <a href="/ua/street-vulicya-kulparkivska">вулиця Кульпарківська<span class="n">17</span></a>
972              <a href="/ua/street-vulicya-gorodocka">вулиця Городоцька<span class="n">15</span></a>
973              <a href="/ua/street-vulicya-zelena">вулиця Зелена<span class="n">13</span></a>
974              <a href="/ua/street-prospekt-chornovola">проспект Чорновола<span class="n">12</span></a>
975              <a href="/ua/street-vulicya-volodimira-velikogo">вулиця Володимира Великого<span class="n">10</span></a>
976              <a href="/ua/street-vulicya-striyska">вулиця Стрийська<span class="n">10</span></a>
977              <a href="/ua/street-prospekt-chervonoi-kalini">проспект Червоної Калини<span class="n">9</span></a>
978              <a href="/ua/street-vulicya-ivana-franka">вулиця Івана Франка<span class="n">8</span></a>
979          </div>
980  </section>
981
982
983
984
985
986
987
988
989
990<div class="blocks blocks--content">
991          <div class="blk-item"><div class="container">
992<p>У Львові:&nbsp;<a href="https://control.ua/ua/kamery-videonablyudeniya/tip-podklyucheniya_besprovodnie-wi-fi/" target="_blank">WiFi камери</a>,&nbsp;<a href="https://oksana-mukha.lviv.ua/wedding-dress">весільний салон Львів</a></p>
993
994<p>&nbsp;</p>
995</div>
996</div>
997      </div>
998</main></div>
999
1000<footer class="site-foot">
1001  <div class="wrap">
1002    <div class="foot-top">
1003      <div class="foot-about">
1004        
1005                  <picture>
1006            <img class="foot-logo" src="https://ulvovi.info/sites/default/files/logos/ulvovi.info.png" alt="Львів" height="30" loading="lazy" decoding="async" onerror="this.parentNode.remove()">
1007          </picture>
1008                <b>Львів</b>
1009        
1010                        <p>Ulvovi.info — міське видання з 2011 року</p>
1011      </div>
1012      
1013      <div class="foot-find">
1014        <h3>Пошук у довіднику</h3>
1015        <form class="searchbar" action="/ua/info" method="get" role="search">
1016          <label class="f">
1017            <svg class="ic" aria-hidden="true"><use href="#i-search"/></svg>
1018            <input type="search" name="q" placeholder="назва закладу" aria-label="Пошук за назвою">
1019          </label>
1020          <button class="btn" type="submit">Знайти</button>
1021        </form>
1022      </div>
1023    </div>
1024
1025    <div class="foot-nav">
1026      <nav class="foot-links" aria-label="Розділи">
1027        <a href="/ua">Головна</a>
1028        <a href="/ua/info">Довідник</a>
1029        <a href="/ua/news">Новини</a>
1030        <a href="/ua/articles">Статті</a>
1031        <a href="/ua/peoples">Люди</a>
1032        
1033                  <a href="/ua/reklama" class="foot-ad">Реклама на сайті</a>
1034              </nav>
1035      <nav class="foot-langs" aria-label="Мова">
1036                                                <a href="https://ulvovi.info/ru" hreflang="ru">Русский</a>
1037                                          </nav>
1038    </div>
1039
1040    <div class="foot-bottom">
1041      
1042      <span>© 2026 ulvovi.info. Часткове використання матеріалів дозволене за наявності гіперпосилання на нас.</span>
1043      <a href="#top"><svg class="ic" aria-hidden="true"><use href="#i-chev"/></svg>
1044 Нагору</a>
1045    </div>
1046  </div>
1047  
1048  </footer>
1049
1050
1051<script>
1052/* Плеєр YouTube підставляємо ЛИШЕ на клік.
1053   Один вбудований плеєр важить понад мегабайт і ставить куки ще до того, як
1054   хтось натиснув «грати»; на сторінці з трьома відео це втричі більше за всю
1055   решту сторінки. До кліку тут лежить лише обкладинка. */
1056(function () {
1057  'use strict';
1058  var open = function (box) {
1059    var id = box.getAttribute('data-yt');
1060    if (!id || box.dataset.done) return;
1061    box.dataset.done = '1';
1062    var f = document.createElement('iframe');
1063    f.src = 'https://www.youtube-nocookie.com/embed/' + id + '?autoplay=1&rel=0';
1064    f.setAttribute('allow', 'accelerometer; autoplay; encrypted-media; picture-in-picture');
1065    f.setAttribute('allowfullscreen', '');
1066    f.setAttribute('title', box.getAttribute('aria-label') || 'video');
1067    box.textContent = '';
1068    box.appendChild(f);
1069  };
1070  document.addEventListener('click', function (e) {
1071    var box = e.target.closest('[data-yt]');
1072    if (box) open(box);
1073  });
1074  /* З клавіатури теж: блок оголошений як кнопка, отже мусить нею бути. */
1075  document.addEventListener('keydown', function (e) {
1076    if (e.key !== 'Enter' && e.key !== ' ') return;
1077    var box = e.target.closest && e.target.closest('[data-yt]');
1078    if (box) { e.preventDefault(); open(box); }
1079  });
1080})();
1081
1082/* Випадаюче меню закривається кліком повз нього і клавішею Esc.
1083   ⚠️ Нативний `<details>` цього не вміє сам: розкрите меню лишалося б висіти
1084   поверх сторінки, доки на нього не натиснуть удруге. Решта поведінки —
1085   клавіатура, читалки, робота без JS — уже нативна, тому дописуємо рівно це. */
1086(function () {
1087  'use strict';
1088  var nav = document.querySelector('.nav');
1089  if (!nav) return;
1090  var shut = function (skip) {
1091    nav.querySelectorAll('details[open]').forEach(function (d) { if (d !== skip) d.open = false; });
1092  };
1093  document.addEventListener('click', function (e) {
1094    var d = e.target.closest ? e.target.closest('.nav details') : null;
1095    shut(d);
1096  });
1097  document.addEventListener('keydown', function (e) {
1098    if (e.key !== 'Escape') return;
1099    var open = nav.querySelector('details[open]');
1100    if (!open) return;
1101    open.open = false;
1102    /* Фокус повертаємо на сам перемикач, інакше він падає на <body> і
1103       клавіатурний читач опиняється на початку сторінки. */
1104    var s = open.querySelector('summary');
1105    if (s) s.focus();
1106  });
1107})();
1108</script>
vendor: 1 bytes, line 1108
1108
1109<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"90dee73b601d49509074158507318988","r":1,"spa":2}' crossorigin="anonymous"></script>
1109
1110</body>
1111</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.