PageSourceSearch

https://www.zchl.cz/

html zchl.cz collected 2026-10-07 13:28:11 UTC 24,417 bytes, 502 lines download raw bytes

1
2<!DOCTYPE html>
3<!--
4   www.firesport.eu
5   [email protected] 
6-->
7<html lang="cs">
8<head>
9<meta charset="UTF-8" />
10<title>Požární sport FireSport.eu</title>
11<meta name="viewport" content="width=device-width, initial-scale=1.0" />
12<meta name="description" content="hasiči,hasič,dobrovolní hasiči, požární útok, ČR, sport, Fire SPORT, firesport,kalendář soutěží, pozvánky, výsledky, videa, fotky, diskuze." />
13<meta name="keywords" content="hasiči, dobrovolní hasiči, požární útok, požární sport, výsledky, videa" />
14<meta property="og:image" content="">
15<meta property="og:title" content="FireSport.eu">
16<meta property="og:description" content="Fandíme požární sport">
17<meta property="og:url" content="">
18<meta property="og:type" content="website">
19
20<link rel="preconnect" href="https://fonts.googleapis.com">
21<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
22<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet">
23<style>
24  :root{
25    --bg-0:#080b10;
26    --bg-1:#0d131b;
27    --panel:rgba(255,255,255,0.05);
28    --panel-border:rgba(255,255,255,0.09);
29    --panel-strong:rgba(255,255,255,0.08);
30    --fire:#ff4b2b;
31    --fire-soft:#ff7a4d;
32    --amber:#ffb627;
33    --water:#2ec4e8;
34    --text:#ffffff;
35    --muted:#d5dbe2;
36    --muted-2:#aab3be;
37    --radius:18px;
38  }
39  *{margin:0;padding:0;box-sizing:border-box;}
40  html{scroll-behavior:smooth;}
41    body{
42    background:
43      radial-gradient(1100px 600px at 12% -8%, rgba(255,75,43,0.16), transparent 60%),
44      radial-gradient(900px 700px at 90% 8%, rgba(46,196,232,0.10), transparent 55%);
45    background-color:var(--bg-0);
46    color:#ffffff;
47    font-family:'Inter', sans-serif;
48    line-height:1.6;
49    overflow-x:hidden;
50  }
51
52  body::before{
53    content:"";
54    position:fixed;
55    inset:0;
56    z-index:-2;
57    background:
58      linear-gradient(180deg, rgba(8,11,16,0.55) 0%, rgba(8,11,16,0.80) 55%, rgba(8,11,16,0.92) 100%),
59      url("./images/templatemo_carousel_bg.jpg") center top / cover no-repeat;
60    pointer-events:none;
61  }
62
63    @media (prefers-reduced-motion: reduce){
64    html{scroll-behavior:auto;}
65    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
66  }
67  a{color:inherit; text-decoration:none;}
68  h1,h2,h3{font-family:'Oswald', sans-serif; letter-spacing:0.02em; text-transform:uppercase;}
69  .eyebrow{
70    font-family:'JetBrains Mono', monospace;
71    font-size:0.72rem;
72    letter-spacing:0.22em;
73    text-transform:uppercase;
74    color:var(--amber);
75    display:inline-flex;
76    align-items:center;
77    gap:10px;
78  }
79  .eyebrow::before{content:"";width:22px;height:1px;background:var(--amber);display:inline-block;}
80  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
81  section{padding:120px 0;}
82  :focus-visible{outline:2px solid var(--amber); outline-offset:3px;}
83
84  /* ---------- NAV ---------- */
85  header{
86    position:fixed; top:0; left:0; right:0; z-index:100;
87    padding:22px 0;
88    transition:padding .35s ease, background .35s ease, border-color .35s ease;
89    border-bottom:1px solid transparent;
90  }
91  header.scrolled{
92    padding:14px 0;
93    background:rgba(8,11,16,0.62);
94    backdrop-filter:blur(18px) saturate(140%);
95    -webkit-backdrop-filter:blur(18px) saturate(140%);
96    border-bottom:1px solid var(--panel-border);
97  }
98  nav{display:flex; align-items:center; justify-content:space-between;}
99  .brand{display:flex; flex-direction:column; line-height:1.1;}
100  .brand b{font-family:'Oswald'; font-size:1.25rem; letter-spacing:0.04em;}
101  .brand b span{color:var(--fire);}
102  .brand small{font-family:'JetBrains Mono'; font-size:0.62rem; letter-spacing:0.12em; color:var(--muted); text-transform:uppercase;}
103  .navlinks{display:flex; gap:34px; list-style:none;}
104  .navlinks a{
105    font-family:'Oswald'; font-size:0.86rem; letter-spacing:0.06em; text-transform:uppercase;
106    color:var(--muted); position:relative; padding:6px 0; transition:color .25s ease;
107  }
108  .navlinks a::after{
109    content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--fire);
110    transition:width .25s ease;
111  }
112  .navlinks a:hover{color:var(--text);}
113  .navlinks a:hover::after{width:100%;}
114  .burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px;}
115  .burger span{width:24px; height:2px; background:var(--text);}
116
117  /* ---------- HERO ---------- */
118  .hero{
119    min-height:100vh; display:flex; align-items:center; position:relative;
120    padding-top:120px;
121  }
122  .hero::before{
123    content:""; position:absolute; inset:0; z-index:-1;
124    background:
125      radial-gradient(600px 340px at 20% 30%, rgba(255,75,43,0.20), transparent 70%),
126      radial-gradient(500px 500px at 85% 70%, rgba(46,196,232,0.14), transparent 70%);
127    animation:drift 16s ease-in-out infinite alternate;
128  }
129  @keyframes drift{ from{transform:translateY(0) scale(1);} to{transform:translateY(-18px) scale(1.03);} }
130  .hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:60px; align-items:center;}
131  .hero h1{font-size:clamp(2.6rem, 6vw, 4.6rem); line-height:1; margin:18px 0 22px;}
132  .hero h1 .hl{color:var(--fire); text-shadow:0 0 40px rgba(255,75,43,0.35);}
133  .hero p.lead{color:var(--muted); max-width:520px; font-size:1.05rem; margin-bottom:34px;}
134  .btnrow{display:flex; gap:16px; flex-wrap:wrap;}
135  .btn{
136    font-family:'Oswald'; text-transform:uppercase; letter-spacing:0.05em; font-size:0.88rem;
137    padding:14px 28px; border-radius:999px; display:inline-flex; align-items:center; gap:10px;
138    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
139  }
140  .btn-fire{background:linear-gradient(135deg, var(--fire), #c62b16); color:#fff; box-shadow:0 10px 30px -8px rgba(255,75,43,0.55);}
141  .btn-fire:hover{transform:translateY(-3px); box-shadow:0 16px 36px -8px rgba(255,75,43,0.7);}
142  .btn-ghost{border:1px solid var(--panel-border); color:var(--text); background:var(--panel); backdrop-filter:blur(10px);}
143  .btn-ghost:hover{border-color:var(--water); color:var(--water); transform:translateY(-3px);}
144
145  /* Stopwatch signature card */
146  .stopwatch{
147    position:relative;
148    background:linear-gradient(160deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
149    border:1px solid var(--panel-border);
150    border-radius:28px;
151    padding:38px 32px;
152    backdrop-filter:blur(22px) saturate(160%);
153    -webkit-backdrop-filter:blur(22px) saturate(160%);
154    box-shadow:0 30px 60px -30px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.08);
155    text-align:center;
156  }
157  .stopwatch .eyebrow{margin-bottom:14px;}
158  .stopwatch .time{
159    font-family:'JetBrains Mono'; font-weight:700; font-size:clamp(3rem, 7vw, 4.2rem);
160    background:linear-gradient(135deg, #fff, var(--amber) 60%, var(--fire));
161    -webkit-background-clip:text; background-clip:text; color:transparent;
162    letter-spacing:-0.02em;
163  }
164  .stopwatch .time span{font-size:0.42em; -webkit-text-fill-color:var(--muted); background:none; vertical-align:baseline;}
165  .stopwatch .meta{font-family:'Oswald'; color:var(--muted); margin-top:10px; letter-spacing:0.04em; text-transform:uppercase; font-size:0.82rem;}
166  .stopwatch .meta b{color:var(--text);}
167  .pulse-ring{
168    position:absolute; top:-1px; left:50%; transform:translateX(-50%);
169    width:70%; height:3px; border-radius:2px;
170    background:linear-gradient(90deg, transparent, var(--fire), var(--amber), transparent);
171    animation:sweep 2.6s linear infinite;
172  }
173  @keyframes sweep{ 0%{opacity:.3;} 50%{opacity:1;} 100%{opacity:.3;} }
174
175  /* ---------- REVEAL ---------- */
176  .reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
177  .reveal.in{opacity:1; transform:translateY(0);}
178
179  /* ---------- SECTION HEADER ---------- */
180  .sec-head{margin-bottom:56px; max-width:640px;}
181  .sec-head h2{font-size:clamp(1.9rem, 4vw, 2.6rem); margin-top:14px;}
182  .sec-head p{color:var(--muted); margin-top:14px; font-size:1rem;}
183
184  /* ---------- ABOUT ---------- */
185  .about-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:start;}
186  .glass{
187    background:var(--panel); border:1px solid var(--panel-border); border-radius:var(--radius);
188    backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%);
189    padding:34px;
190  }
191  .about-grid p{color:var(--muted); margin-bottom:16px;}
192  .about-grid p:last-child{margin-bottom:0;}
193  .facts{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
194  .fact{padding:20px; border-radius:14px; background:rgba(255,255,255,0.03); border:1px solid var(--panel-border);}
195  .fact .n{font-family:'JetBrains Mono'; font-size:1.6rem; font-weight:700; color:var(--water);}
196  .fact .l{font-size:0.76rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em; margin-top:4px;}
197
198  /* ---------- RECORDS ---------- */
199  .records{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
200  .record-card{
201    position:relative; border-radius:var(--radius); padding:30px 26px;
202    background:linear-gradient(160deg, rgba(255,255,255,0.07), rgba(255,255,255,0.015));
203    border:1px solid var(--panel-border);
204    backdrop-filter:blur(16px);
205    transition:transform .3s ease, border-color .3s ease;
206    overflow:hidden;
207  }
208  .record-card:hover{transform:translateY(-6px); border-color:rgba(255,182,39,0.4);}
209  .record-card .medal{font-family:'JetBrains Mono'; font-size:0.72rem; color:var(--muted); letter-spacing:0.15em; text-transform:uppercase;}
210  .record-card .rt{font-family:'JetBrains Mono'; font-weight:700; font-size:2.4rem; margin:12px 0 6px; color:var(--text);}
211  .record-card.gold .rt{color:var(--amber); text-shadow:0 0 30px rgba(255,182,39,0.35);}
212  .record-card.silver .rt{color:#dbe3ea;}
213  .record-card.bronze .rt{color:#e7a87c;}
214  .record-card .place{font-family:'Oswald'; text-transform:uppercase; letter-spacing:0.03em; font-size:1rem;}
215  .record-card .date{color:var(--muted); font-size:0.85rem; margin-top:4px;}
216  .record-card .rank{
217    position:absolute; right:-10px; top:-10px; font-family:'Oswald'; font-weight:700; font-size:5rem;
218    color:rgba(255,255,255,0.04); line-height:1;
219  }
220
221  /* ---------- RESULTS TABLE ---------- */
222  .results-panel{border-radius:var(--radius); border:1px solid var(--panel-border); overflow:hidden; backdrop-filter:blur(14px);}
223  .results-panel table{width:100%; border-collapse:collapse;}
224  .results-panel thead th{
225    text-align:left; font-family:'Oswald'; text-transform:uppercase; letter-spacing:0.06em; font-size:0.78rem;
226    color:var(--muted); padding:18px 26px; background:rgba(255,255,255,0.04); border-bottom:1px solid var(--panel-border);
227  }
228  .results-panel tbody td{padding:16px 26px; font-size:0.93rem; border-bottom:1px solid rgba(255,255,255,0.05);}
229  .results-panel tbody tr{transition:background .2s ease;}
230  .results-panel tbody tr:hover{background:rgba(255,255,255,0.035);}
231  .results-panel tbody tr:last-child td{border-bottom:none;}
232  .t-time{font-family:'JetBrains Mono'; font-weight:700;}
233  .t-time.good{color:var(--water);}
234  .t-time.np{color:var(--muted-2); font-weight:500;}
235  .badge-np{
236    font-family:'JetBrains Mono'; font-size:0.68rem; padding:3px 9px; border-radius:999px;
237    background:rgba(139,149,161,0.12); color:var(--muted); margin-left:10px; letter-spacing:0.05em;
238  }
239  .toggle-row{text-align:center; padding:22px; border-top:1px solid var(--panel-border); background:rgba(255,255,255,0.02);}
240  .toggle-row button{
241    font-family:'Oswald'; text-transform:uppercase; letter-spacing:0.06em; font-size:0.85rem;
242    background:none; border:1px solid var(--panel-border); color:var(--text); padding:10px 26px; border-radius:999px;
243    cursor:pointer; transition:border-color .25s ease, color .25s ease;
244  }
245  .toggle-row button:hover{border-color:var(--fire); color:var(--fire-soft);}
246  .hidden-row{display:none;}
247
248  /* ---------- VIDEO GRID ---------- */
249  .video-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:26px;}
250  .video-card{
251    border-radius:16px; overflow:hidden; position:relative; border:1px solid var(--panel-border);
252    background:var(--panel); backdrop-filter:blur(10px); transition:transform .3s ease;
253  }
254  .video-card:hover{transform:translateY(-6px);}
255  .video-thumb{position:relative; aspect-ratio:16/9; overflow:hidden;}
256  .video-thumb img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease; display:block;}
257  .video-card:hover .video-thumb img{transform:scale(1.08);}
258  .play-overlay{
259    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
260    background:linear-gradient(180deg, rgba(8,11,16,0.05), rgba(8,11,16,0.65));
261  }
262  .play-btn{
263    width:56px; height:56px; border-radius:50%; background:rgba(255,75,43,0.9);
264    display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(255,75,43,0.5);
265    transition:transform .25s ease;
266  }
267  .video-card:hover .play-btn{transform:scale(1.12);}
268  .play-btn::after{content:""; border-style:solid; border-width:9px 0 9px 15px; border-color:transparent transparent transparent #fff; margin-left:4px;}
269  .video-info{padding:16px 18px;}
270  .video-info .vt{font-family:'JetBrains Mono'; font-weight:700; color:var(--amber); font-size:1.05rem;}
271  .video-info .vp{font-family:'Oswald'; text-transform:uppercase; font-size:0.92rem; margin-top:4px;}
272  .video-info .vd{color:var(--muted); font-size:0.78rem; margin-top:2px;}
273  .show-more-wrap{text-align:center; margin-top:36px;}
274
275  /* ---------- PHOTO GALLERY ---------- */
276  .photo-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
277  .photo-tile{
278    position:relative; aspect-ratio:1/1; border-radius:14px; overflow:hidden;
279    border:1px solid var(--panel-border); background:linear-gradient(160deg, rgba(255,75,43,0.10), rgba(46,196,232,0.06));
280  }
281  .photo-tile img{width:100%; height:100%; object-fit:cover; display:block;}
282  .photo-tile .ph-fallback{
283    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
284    gap:10px; color:var(--muted); text-align:center; padding:14px;
285  }
286  .photo-tile .ph-fallback svg{opacity:0.55;}
287  .photo-tile .ph-fallback span{font-size:0.72rem; font-family:'JetBrains Mono'; letter-spacing:0.03em;}
288  .photo-note{margin-top:20px; color:var(--muted-2); font-size:0.85rem; text-align:center;}
289  .photo-note code{background:rgba(255,255,255,0.06); padding:2px 8px; border-radius:6px; font-family:'JetBrains Mono'; color:var(--water);}
290
291  /* ---------- LINKS ---------- */
292  .links-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px;}
293  .link-card{
294    padding:28px; border-radius:16px; border:1px solid var(--panel-border); background:var(--panel);
295    backdrop-filter:blur(14px); transition:transform .3s ease, border-color .3s ease; display:block;
296  }
297  .link-card:hover{transform:translateY(-5px); border-color:var(--water);}
298  .link-card .lc-tag{font-family:'JetBrains Mono'; font-size:0.7rem; color:var(--water); letter-spacing:0.1em; text-transform:uppercase;}
299  .link-card h3{font-size:1.15rem; margin-top:10px; letter-spacing:0.01em;}
300  .link-card p{color:var(--muted); font-size:0.88rem; margin-top:8px;}
301  .link-card .arrow{margin-top:16px; font-family:'JetBrains Mono'; color:var(--fire-soft); font-size:0.85rem;}
302
303  /* ---------- CONTACT ---------- */
304  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:stretch;}
305  .map-wrap{border-radius:var(--radius); overflow:hidden; border:1px solid var(--panel-border); min-height:380px;}
306  .map-wrap iframe{width:100%; height:100%; min-height:380px; border:0; display:block; filter:grayscale(0.25) contrast(1.05);}
307  .contact-card{display:flex; flex-direction:column; justify-content:center; gap:18px;}
308  .contact-row{display:flex; align-items:center; gap:14px; color:var(--muted);}
309  .contact-row .ic{
310    width:38px; height:38px; border-radius:10px; background:rgba(255,75,43,0.12); color:var(--fire-soft);
311    display:flex; align-items:center; justify-content:center; flex-shrink:0;
312  }
313  .contact-row b{color:var(--text); font-weight:600;}
314
315    /* ---------- FOOTER ---------- */
316  footer{
317  position:fixed; bottom:0; left:0; right:0; z-index:100;
318  padding:11px 0; 
319  border-top:1px solid var(--panel-border); 
320  text-align:center;
321  transition:padding .35s ease, background .35s ease, border-color .35s ease;
322  border-bottom:1px solid transparent;
323  background:#080b10;
324
325  }
326    footer.scrolled{
327    padding:14px 0;
328    background:rgba(8,11,16,0.62);
329    backdrop-filter:blur(18px) saturate(140%);
330    -webkit-backdrop-filter:blur(18px) saturate(140%);
331    border-bottom:1px solid var(--panel-border);
332  }
333
334  footer p{color:var(--muted-2); font-size:0.82rem;}
335  footer .fbrand{font-family:'Oswald'; color:var(--muted); letter-spacing:0.06em; margin-bottom:10px; text-transform:uppercase; font-size:0.85rem;}
336  
337  .naflinks{display:flex; gap:34px; list-style:none;}
338  .naflinks a{
339    font-family:'Oswald'; font-size:0.86rem; letter-spacing:0.06em; text-transform:uppercase;
340    color:var(--muted); position:relative; padding:6px 0; transition:color .25s ease;
341  }
342  .naflinks a::after{
343    content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--fire);
344    transition:width .25s ease;
345  }
346  .naflinks a:hover{color:var(--text);}
347  .naflinks a:hover::after{width:100%;}
348
349
350  /* ---------- RESPONSIVE ---------- */
351  @media (max-width: 980px){
352    .navlinks{display:none;}
353    .burger{display:flex;}
354    .hero-grid, .about-grid, .contact-grid{grid-template-columns:1fr;}
355    .records{grid-template-columns:1fr;}
356    .video-grid{grid-template-columns:repeat(2,1fr);}
357    .photo-grid{grid-template-columns:repeat(2,1fr);}
358    .links-grid{grid-template-columns:1fr;}
359    section{padding:80px 0;}
360    .facts{grid-template-columns:1fr 1fr;}
361  }
362  @media (max-width: 560px){
363    .video-grid{grid-template-columns:1fr;}
364    .photo-grid{grid-template-columns:repeat(2,1fr);}
365    .results-panel{overflow-x:auto;}
366    .results-panel table{min-width:520px;}
367  }
368</style>
369</head>
370<body>
371
372<header id="site-header">
373  <div class="wrap">
374    <nav>
375      <div class="brand">
376        <b><span>POŽÁRNÍ SPORT</span></b>
377        <small>Firesport.eu</small>
378      </div>
379      <div>
380      <img src="./images/templatemo_carousel_bg_s.jpg" alt="Fire Sport" height="1" style="vertical-align: middle;">
381      <a href="https://press.firesport.eu/" title="Fire Sport" ><img src="./dokument/logofs2.png" alt="Fire Sport" height="30" style="vertical-align: middle;"></a>
382      </div>
383
384      <ul class="navlinks">
385        <li><a href="./index.html">Domů</a></li>
386        <li><a href="./index.php">Admin</a></li>
387        <li><a href="#o-tymu">O násu</a></li>        
388        <li><a href="./startovky.html">Startovky</a></li>
389        <li><a href="./ligy.html">Ligy</a></li>
390        <li><a href="./statistiky.html">Statistiky</a></li>        
391        <li><a href="./pozvanky.html#kontakt">Kontakt</a></li>
392      </ul>
393      <button class="burger" id="burger" aria-label="Otevřít menu" aria-expanded="false">
394        <span></span><span></span><span></span>
395      </button>
396    </nav>
397  </div>
398</header>
399
400<!-- mobile menu -->
401<div id="mobile-menu" style="position:fixed; inset:0; background:rgba(8,11,16,0.97); backdrop-filter:blur(20px); z-index:99; display:none; flex-direction:column; align-items:center; justify-content:center; gap:32px;">
402  <a href="./index.html" class="mm-link">Domů</a>
403  <a href="./index.php" class="mm-link">Admin</a>
404  <a href="./startovky.html" class="mm-link">Startovky</a>
405  <a href="./ligy.html" class="mm-link">Ligy</a>
406  <a href="./statistiky.html" class="mm-link">Statistiky</a>
407  <a href="./pozvanky.html#kontakt" class="mm-link">Kontakt</a>
408</div>
409<style>.mm-link{font-family:'Oswald'; font-size:1.6rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--text);}</style>
410
411
412<!-- ================= HERO Západočeská hasičská liga ================= -->
413<section class="hero" id="home">
414  <div class="wrap hero-grid">
415    <div>
416      <span class="eyebrow">Pozvánky na společné akce</span>
417      <h1>Západočeská hasičská liga<br><span class="hl">POŽÁRNÍ SPORT</span></h1>
418      <p class="lead">Sledujte výsledky, video ze soutěží a fotky.</p>
419      <div class="btnrow">
420        <a href="./pozvanky.html#pozvanky" class="btn btn-fire">Pozvánky</a>
421        <a href="./startovky.html" class="btn btn-fire">Startovky</a>
422        <a href="./pozvanky.html#videa" class="btn btn-ghost">Videa</a>
423        <a href="./pozvanky.html#fotogalerie" class="btn btn-ghost">Fotogalerie</a>
424        <a href="./pozvanky.html#odkazy" class="btn btn-ghost">Odkazy</a>
425        <a href="./index.php" class="btn btn-fire">Staré stránky do roku 2025 (Results Admin)</a>
426      </div>
427    </div>
428    <div class="stopwatch reveal">
429      <div class="pulse-ring"></div>
430      <span class="eyebrow">Kolik akcí nás čeká?</span>
431      <div class="time" id="record-time"></div>
432        <p class="meta"><img src="./images/templatemo_carousel_bg_s.jpg" alt="Fire Sport" height="125" style="vertical-align: middle;"></p>
433    </div>
434    <div>
435    <p>Copyright © 2000 Všechna práva vyhrazena. Žádná z částí webu FireSport.eu nesmí být použita bez souhlasu autorů stránek.</p>
436    </div>
437  </div>
438</section>
439
440<footer>
441  <div class="wrap">
442    <div class="fbrand">
443      <ul class="naflinks">
444        <li><a href="#home">↑</a></li>
445        <li><a href="https://www.firesport.eu/nova-soutez.html">Nová</a></li>
446        <li><a href="./pozvanky.html">Pozvánky</a></li>
447        <li><a href="./souteze-akce.html">Soutěže</a></li>
448        <li><a href="./vysledky.html">Výsledky</a></li>
449      </ul>
450    </div>
451  </div>
452</footer>
453
454<script>
455  // Sticky header
456  const header = document.getElementById('site-header');
457  window.addEventListener('scroll', () => {
458    header.classList.toggle('scrolled', window.scrollY > 30);
459  });
460
461  // Mobile menu
462  const burger = document.getElementById('burger');
463  const mobileMenu = document.getElementById('mobile-menu');
464  burger.addEventListener('click', () => {
465    const isOpen = mobileMenu.style.display === 'flex';
466    mobileMenu.style.display = isOpen ? 'none' : 'flex';
467    burger.setAttribute('aria-expanded', String(!isOpen));
468  });
469  mobileMenu.querySelectorAll('a').forEach(a => a.addEventListener('click', () => {
470    mobileMenu.style.display = 'none';
471    burger.setAttribute('aria-expanded', 'false');
472  }));
473
474  // Scroll reveal
475  const io = new IntersectionObserver((entries) => {
476    entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); } });
477  }, { threshold: 0.12 });
478  document.querySelectorAll('.reveal').forEach(el => io.observe(el));
479
480  // Toggle full results table
481  const toggleBtn = document.getElementById('toggle-results');
482  toggleBtn.addEventListener('click', () => {
483    const hidden = document.querySelectorAll('#results-body .hidden-row');
484    const willShow = toggleBtn.dataset.open !== 'true';
485    hidden.forEach(r => r.style.display = willShow ? 'table-row' : 'none');
486    toggleBtn.textContent = willShow ? 'Skrýt historii' : 'Zobrazit celou historii';
487    toggleBtn.dataset.open = String(willShow);
488  });
489
490  // Toggle extra videos
491  const toggleVideos = document.getElementById('toggle-videos');
492  toggleVideos.addEventListener('click', () => {
493    const hidden = document.querySelectorAll('#video-grid .hidden-row');
494    const willShow = toggleVideos.dataset.open !== 'true';
495    hidden.forEach(v => { v.style.display = willShow ? 'block' : 'none'; if(willShow) io.observe(v); });
496    toggleVideos.textContent = willShow ? 'Skrýt videa' : 'Zobrazit další videa';
497    toggleVideos.dataset.open = String(willShow);
498  });
499</script>
499
500
501</body>
502</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.