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.