1<!doctype html> 2<html lang="cs" class="no-smooth-scroll"> 3<head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width" /> 6 <link rel="preconnect" href="https://fonts.googleapis.com"> 7 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 8 <link href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> 9 <link rel="stylesheet" href="https://www.impuls.cz/assets/bundle.css?v=1789372873" /> 10 11 12 <link rel="stylesheet" href="https://1gr.cz/css/utility/videoplayer.css" /> 13 14
14<script> 15 window.VideoPlayer = window.VideoPlayer || {}; 16 window.VideoPlayer.stringTable = window.VideoPlayer.stringTable || {}; 17 18 window.__pendingMiscVideoCalls = []; 19 window.__videoPlayerReady = false; 20 21 </script>
21 22 23
23<script src="https://1gr.cz/js/uni/uni.js"></script>
23 24
24<script src="https://1gr.cz/js/uni/modules/videoplayer.js" charset="windows-1250"></script>
24 25
25<script src="https://1gr.cz/js/gem/gplayer.js"></script>
25 26 27 28 <title> Akce a soutÄže 29 30| Impuls</title> 31 <meta name="description" 32 content="action.description"> 33 <meta content="action.keywords" name="keywords"> 34 <meta property="og:type" content="website"/> 35 <meta property="og:url" content="https://www.impuls.cz/akce/"/> 36 <meta property="og:description" content="action.description"> 37 38 39 <link rel="apple-touch-icon" sizes="57x57" href="/images/orig_null_null_bf04d52be88e48c4428db45d19c14038.png"> 40 <link rel="apple-touch-icon" sizes="60x60" href="/images/orig_null_null_b95117e7bdbf12a9f16438bc6bd7a038.png"> 41 <link rel="apple-touch-icon" sizes="72x72" href="/images/orig_null_null_974662c7147ff41524e4ed1e62f8a992.png"> 42 <link rel="apple-touch-icon" sizes="76x76" href="/images/orig_null_null_40327d79982f84fe34c86af08e5ea81f.png"> 43 <link rel="apple-touch-icon" sizes="114x114" href="/images/orig_null_null_babb9455bae13503ee05c65c25e6d89a.png"> 44 <link rel="apple-touch-icon" sizes="120x120" href="/images/orig_null_null_53a4648d4f7fe7940e682c31197d03e1.png"> 45 <link rel="apple-touch-icon" sizes="144x144" href="/images/orig_null_null_66209c241a95b154527679acda6ef2d1.png"> 46 <link rel="apple-touch-icon" sizes="152x152" href="/images/orig_null_null_75ba150bb401dbecd8e659e7c216e571.png"> 47 <link rel="apple-touch-icon" sizes="180x180" href="/images/orig_null_null_54314d134552a2d800221bc3fbd127f8.png"> 48 <link rel="icon" type="image/png" sizes="192x192" href="/images/orig_null_null_3f66c1651b8a772bd411b9e31a599df2.png"> 49 <link rel="icon" type="image/png" sizes="32x32" href="/images/orig_null_null_6d6f538fba3299d8b4f53d1bb76942ca.png"> 50 <link rel="icon" type="image/png" sizes="96x96" href="/images/orig_null_null_7c838ad6ad81aef50ed5b9a0e0398f1a.png"> 51 <link rel="icon" type="image/png" sizes="16x16" href="/images/orig_null_null_bf87acf848e785e0cc1fa8ed881c9a9b.png"> 52 <link rel="manifest" href="/images/orig_null_null_81cf494d2476fd9bd5fc86dcbd5621b0.json"> 53 <meta name="msapplication-TileColor" content="#ffffff"> 54 <meta name="msapplication-TileImage" content="/images/orig_null_null_b9ea7336ca66c06f0a512c1e356ac258.png"> 55 <meta name="theme-color" content="#ffffff"> 56 57<style>.grecaptcha-badge {visibility: hidden;}</style> 58 59
59<script>window.dataLayer = window.dataLayer || [];</script>
59<script>
vendor: 326 bytes, lines 59-62
59(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 60new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 61j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 62})(window,document,'script','dataLayer','
62GTM-PVPRWKT
vendor: 3 bytes, line 62
62');
62</script>
62 63 64 65
65<script> 66 window.Unidata = window.Unidata || {}; 67 Unidata.biddingData = [window.matchMedia('(max-width: 999px)').matches 68 ? {"m_branding": true, "m_300x250": true, "m_sticky": true, "m_paticka": true, "m_vignete": true} 69 : {"branding": true, "wallpaper": true, "300x250": true, "halfpagead": true} 70 ]; 71 </script>
71 72 73
73<script>window.Ads = { config:{ "mBrandingOffsetTop":70}}</script>
73 74 75 <style> 76 @import "https://1gr.cz/css/externi/reklama.css?rr=1788517547"; 77</style>
77<script type="text/javascript" src="//delivery.r2b2.cz/hb/mafra/impuls.cz?_desktop" async></script>
77<script>window.cpexPackageConfig = { 78publisherSettingsPath: 'https://cdn.cpex.cz/settings/production/mafra.js', 79websiteSettingsPath: 'https://cdn.cpex.cz/settings/production/mafra/impuls.cz.js' 80} 81document.head.appendChild(Object.assign(document.createElement('script'), { src: `https://cdn.cpex.cz/package/cpex-package${ window.location.href.indexOf('debug') > -1 ? '.js' : '.min.js'}` })); 82</script>
82
83<script src="https://cdn.cpex.cz/cmp/v2/cpex-cmp.min.js" async="async"></script>
83 84<!-- Gemius2025 -->
84<script> if (/adsCMP=[^;]*gemius=1/.test(document.cookie)) { var pp_gemius_consent = true; } else { var pp_gemius_use_cmp = true; } if(!/(^|;)\s*nogemius=/.test(document.cookie)) { var pp_gemius_identifier = 'dvXrqUuRiKoqkjfOTHbOwsVlDfXN8oMCM0DkuJYjPR..U7'; function gemius_pending(i) { window[i] = window[i] || function() { var x = window[i+'_pdata'] = window[i+'_pdata'] || []; x[x.length]=Array.prototype.slice.call(arguments, 0);};}; 85(function(cmds) { var c; while(c = cmds.pop()) gemius_pending(c)})(['gemius_cmd', 'gemius_hit', 'gemius_event', 'gemius_init', 'pp_gemius_hit', 'pp_gemius_event', 'pp_gemius_init']); 86window.pp_gemius_cmd = window.pp_gemius_cmd || window.gemius_cmd; 87(function(d,t) {try {var gt=d.createElement(t),s=d.getElementsByTagName(t)[0],l='http'+((location.protocol=='https:')?'s':''); gt.setAttribute('async','async'); 88gt.setAttribute('defer','defer'); gt.src=l+'://spir.hit.gemius.pl/xgemius.min.js'; s.parentNode.insertBefore(gt,s); } catch (e) { } } ) (document,'script'); 89 } </script>
89<script>var adformtag = window.adformtag = window.adformtag || []; adformtag.push(function () { adformtag.setRequestParam('gdpr', '1'); } );</script>
89<script> 90window.cX = window.cX || {}; 91cX.options = cX.options || { consent: true, consentVersion: 2 }; 92cX.callQueue = cX.callQueue || []; 93cX.callQueue.push(["setSiteId", "4732542837648372374"]); 94function getPianoConsent() { 95 return /adsCMP=[^;]*piano=1/.test(document.cookie) || 96 !(typeof Didomi === "undefined" || 97 !Didomi.getUserStatus().vendors.consent.enabled.includes(412)); 98} 99function setPianoConsent() { 100 var consent = getPianoConsent(); 101 cX.callQueue.push(["setConsent", { 102 pv: consent, 103 segment: consent, 104 ad: consent, 105 recs: consent, 106 geo: consent, 107 device: consent 108 }]); 109} 110setPianoConsent(); 111cX.callQueue.push(["sendPageViewEvent"]); 112</script>
112 113<meta name="cXenseParse:qiw-ostrov" content="iregiony"/>
114<script async="async" src="https://cdn.cxense.com/cx.cce.js"></script>
114 115</head> 116<body> 117 118<div class="branding"> 119 <div class="rk--desktop"><table id="r-leaderboardhp" class="r-main ahead s_branding"><tr><td><div class="r-head"><span></span></div><div class="r-body"><div id='branding' style='position: fixed; left: 50%; transform: translate(-50%); top: 0px; min-width: 998px;'></div> 120<div class='top-layer' style='position: relative; min-width: 998px; min-height: 200px; pointer-events: none'></div> 121</div></td></tr></table></div> 122</div> 123 124<div class="page-wrapper"> 125 <div class="hero-bg-container"> 126 <div class="hero-background"></div> 127 </div> 128 129<nav class="navbar-mobile"> 130 <div class="navbar-mobile-header"> 131 <a href="/" class="navbar-mobile-logo"> 132 <img src="https://www.impuls.cz/assets/images/decorations/impuls-logo.webp?v=1764430950" 133 width="24" 134 height="24" 135 class 136 alt 137 draggable="false" 138 loading="lazy" 139 /> 140 </a> 141 <div class="navbar-mobile-actions"> 142 <a href="/online/" class="mobile-play-button" aria-label="Online rádio" data-google-vignette="false" data-js-xhr="1"> 143 Online rádio 144 <img src="https://www.impuls.cz/assets/images/icons/play.svg?v=1764430950" 145 width="8" 146 height="8" 147 class 148 alt 149 draggable="false" 150 loading="lazy" 151 /> 152 </a> 153 <div class="separator"></div> 154 <button class="hamburger" aria-label="Toggle menu"> 155 <span class="hamburger-line"></span> 156 </button> 157 </div> 158 </div> 159 160 <div class="navbar-mobile-overlay"> 161 <div class="navbar-mobile-content"> 162 <div class="navbar-mobile-links"> 163 <a href="/souteze/halo-tady-impulsovi/" class="mobile-nav-link">Haló, tady Impulsovi</a> 164 <a href="/akce/" class="mobile-nav-link active">Akce a soutÄže</a> 165 <a href="/zpravy/" class="mobile-nav-link">Zprávy</a> 166 <a href="/program/" class="mobile-nav-link">Program</a> 167 <a href="/videa/" class="mobile-nav-link">Videa</a> 168 <div class="mobile-nav-dropdown"> 169 <button class="mobile-nav-link dropdown-trigger"> 170 O rádiu 171 <svg width="12" height="8" viewBox="0 0 12 8" fill="none"> 172 <path 173 d="M1 1L6 6L11 1" 174 stroke="currentColor" 175 stroke-width="2" 176 stroke-linecap="round" 177 ></path> 178 </svg> 179 </button> 180 <div class="mobile-dropdown-items"> 181 <a href="/porady/" class="mobile-dropdown-link">PoÅady</a> 182 <a href="/lide/" class="mobile-dropdown-link">Lidé</a> 183 <a href="/jak-naladit/" class="mobile-dropdown-link" 184 >Jak naladit</a> 185 <a href="/online/" class="mobile-dropdown-link" 186 >Online rádio</a> 187 <a href="/jak-naladit/#aplikace" class="mobile-dropdown-link" 188 >Aplikace</a> 189 <a href="/reklama/" class="mobile-dropdown-link" 190 >Reklama</a> 191 <a href="/kontakty/" class="mobile-dropdown-link" 192 >Kontakty</a> 193 </div> 194 </div> 195 196 </div> 197 198 <div class="navbar-mobile-socials"> 199 <a 200 href="https://www.facebook.com/raaaadio/" 201 target="_blank" 202 aria-label="Facebook" 203 > 204 <img src="https://www.impuls.cz/assets/images/icons/facebook.svg?v=1764430950" 205 width="24" 206 height="24" 207 class 208 alt 209 draggable="false" 210 loading="lazy" 211 /> 212 </a> 213 <a 214 href="https://www.instagram.com/raaaadio_impuls/" 215 target="_blank" 216 aria-label="Instagram" 217 > 218 <img src="https://www.impuls.cz/assets/images/icons/instagram.svg?v=1764430950" 219 width="24" 220 height="24" 221 class 222 alt 223 draggable="false" 224 loading="lazy" 225 /> 226 </a> 227 <a 228 href="https://www.youtube.com/user/RadioImpuls" 229 target="_blank" 230 aria-label="YouTube" 231 > 232 <img src="https://www.impuls.cz/assets/images/icons/youtube.svg?v=1764430950" 233 width="24" 234 height="24" 235 class 236 alt 237 draggable="false" 238 loading="lazy" 239 /> 240 </a> 241 </div> 242 </div> 243 </div> 244</nav> 245<nav class="container navbar"> 246 <a href="/" class="navbar-logo"> 247 <img src="https://www.impuls.cz/assets/images/decorations/impuls-logo.webp?v=1764430950" 248 width="24" 249 height="24" 250 class 251 alt 252 draggable="false" 253 loading="lazy" 254 /> 255 </a> 256 <div class="navbar-content"> 257 <div class="navbar-links"> 258 <a href="/souteze/halo-tady-impulsovi/" class="nav-link"> Haló, tady Impulsovi </a> 259 260 <a href="/akce/" class="nav-link active"> Akce a soutÄže </a> 261 262 <a href="/zpravy/" class="nav-link"> Zprávy </a> 263 264 <a href="/program/" class="nav-link"> Program </a> 265 266 <a href="/videa/" class="nav-link"> Videa </a> 267 268 <div class="nav-dropdown">
269 <span class="nav-link"> O rádiu </span> 270 271 <div class="nav-dropdown-items"> 272 <a href="/porady/" class="nav-dropdown-link"> PoÅady </a><a href="/lide/" class="nav-dropdown-link"> Lidé </a><a href="/jak-naladit/" class="nav-dropdown-link"> Jak naladit </a><a href="/online/" class="nav-dropdown-link"> 273 Online rádio </a><a href="/jak-naladit/#aplikace" class="nav-dropdown-link"> 274 Aplikace 275 </a><a href="/reklama/" class="nav-dropdown-link"> 276 Reklama 277 </a><a href="/kontakty/" class="nav-dropdown-link"> 278 Kontakty 279 </a> 280 </div> 281 </div> 282 </div> 283 <div class="navbar-divider"></div> 284 <div class="navbar-right"> 285 <div class="navbar-socials"> 286 <a href="https://www.facebook.com/raaaadio/" target="_blank"> 287 <img src="https://www.impuls.cz/assets/images/icons/facebook.svg?v=1764430950" 288 width="14" 289 height="14" 290 class 291 alt 292 draggable="false" 293 loading="lazy" 294 /> 295 </a> 296 <a href="https://www.instagram.com/raaaadio_impuls/" target="_blank"> 297 <img src="https://www.impuls.cz/assets/images/icons/instagram.svg?v=1764430950" 298 width="14" 299 height="14" 300 class 301 alt 302 draggable="false" 303 loading="lazy" 304 /> 305 </a> 306 <a href="https://www.youtube.com/user/RadioImpuls" target="_blank"> 307 <img src="https://www.impuls.cz/assets/images/icons/youtube.svg?v=1764430950" 308 width="14" 309 height="14" 310 class 311 alt 312 draggable="false" 313 loading="lazy" 314 /> 315 </a> 316 </div> 317 <a href="/online/" class="nav-link-special" aria-label="Online rádio" data-google-vignette="false" data-js-xhr="1"> 318 Online rádio 319 <img src="/assets/images/icons/play.svg" width="8" height="8" class alt draggable="false" loading="lazy" /> 320 </a> 321 </div> 322 </div> 323</nav> 324 325 <div class="page-content"> 326<div class="container" aria-label="Breadcrumb Navigation"> 327 <nav class="breadcrumb" aria-label="Breadcrumb"> 328 <ol class="breadcrumb-list"> 329 <li> 330 <a href="/" tabindex="0"> Rádio Impuls </a> 331 </li> 332 <li aria-hidden="true" role="presentation"> 333 <img src="https://www.impuls.cz/assets/images/icons/breadcrumb-right.svg?v=1764430950" 334 width="10" 335 height="14" 336 class 337 alt 338 draggable="false" 339 loading="lazy" 340 /> 341 </li> 342 <li> 343 <span aria-current="page">Akce</span> 344 </li> 345 </ol> 346 </nav> 347</div> 348<div class="base-container container"> 349 <div class="grid grid-cols-3 gap-20"> 350 <div class="col-span-2 grid"> 351 <div class="event-container grid"> 352 <div class="event-hero"> 353 <div class="hero-heading"> 354 <h1>Akce</h1> 355 </div> 356 </div> 357 <div class="grid gap-20"> 358 <div class="col-span-2"> 359 360<div class="card-container"> 361 <a href="/souteze/halo-tady-impulsovi/" class="card-large"> 362 <div class="card-image-container"> 363 <img 364 src="/images/640_384_4_3dbb77c680b46f6a06ec620b79b21bc9.webp" class="card-large-image" 365 draggable="false" 366 loading="lazy" 367 /> 368 </div> 369 <div class="card-large-content"> 370 <div class="card-heading-wrapper"> 371 <h2><span>Haló, tady Impulsovi</span></h2> 372 </div> 373 <p>Haló, tady Impulsovi! TeÄ každý den o 500 000 korun. 374</p> 375 <button 376 type="button" class="button button-ghost button-blue" 377 > 378 VÃce informacà 379 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 380 width="12" 381 height="12" 382 alt 383 draggable="false" 384 loading="lazy" 385 /> 386 </button> 387 </div> 388 </a> 389</div> 390 </div> 391 392<div class="card-container"> 393 <a href="/akce/jubilejni-10-rocnik-02-arena-plna-ceskych-hvezd/" class="card-normal"> 394 <div class="card-image-container"> 395 <img 396 src="/images/320_192_4_8ab3593f847056bf7b278e308119d0d2.webp" class="card-normal-image" 397 draggable="false" 398 loading="lazy" 399 /> 400 </div> 401 <div class="card-normal-content"> 402 <div class="card-normal-label-items">
403 <span>17. 10. 2026</span> 404 </div> 405 <div class="card-heading-wrapper"> 406 <h2><span>Jubilejnà 10. roÄnÃk, O2 arena plná Äeských hvÄzd</span></h2> 407 </div> 408 <p>Jubilejnà Äeský mejdan s Impulsem je kompletnÃ. Do hvÄzdné sestavy hudebnÃch hostů pÅibyl RICHARD KRAJÄO v roli speciálnÃho hosta. Do O2 areny pÅijdou 17. ÅÃjna zahrát už dÅÃve ohlášenà MIRAI, CHINASKI, OLYMPIC, MIG 21 a LUCIE VONDRÃÄKOVÃ. NavÃc tu zaznà i nová spoleÄná mejdanová pÃseÅ moderátorůâ¦</p> 409 <button 410 type="button" class="button button-ghost button-blue" 411 > 412 VÃce informacà 413 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 414 width="12" 415 height="12" 416 alt 417 draggable="false" 418 loading="lazy" 419 /> 420 </button> 421 </div> 422 </a> 423</div> 424 425<div class="card-container"> 426 <a href="/akce/vikendove-zivaaaaky-radia-impuls-v-zari/" class="card-normal"> 427 <div class="card-image-container"> 428 <img 429 src="/images/320_192_4_29a179350b8a5b82f47aaab2c7af78cf.webp" class="card-normal-image" 430 draggable="false" 431 loading="lazy" 432 /> 433 </div> 434 <div class="card-normal-content"> 435 <div class="card-normal-label-items"> 436 <span>19. 09. 2026</span> 437 </div> 438 <div class="card-heading-wrapper"> 439 <h2><span>VÃkendové Živááááky Rádia Impuls v záÅÃ</span></h2> 440 </div> 441 <p>Stýská se vám po letnÃch festivalech? S námi vám stýskánà nehrozÃ. Každou sobotu veÄer od osmi vás Äeká parádnà Živáááák. A protože je Äeský mejdan s Impulsem už za dveÅmi, pÅipomeneme si naživo nÄkteré z interpretů, kteÅà letos vystoupà na naÅ¡em velkém ÅÃjnovém veÄÃrku plný muziky v pražské O2â¦</p> 442 <button 443 type="button" class="button button-ghost button-blue" 444 > 445 VÃce informacà 446 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 447 width="12" 448 height="12" 449 alt 450 draggable="false" 451 loading="lazy" 452 /> 453 </button> 454 </div> 455 </a> 456</div> 457 </div> 458 <div class="event-more"> 459 <h2>Dalšà akce</h2> 460 <div class="event-tags"> 461 <a href="/akce/stitky/podporujeme/" class="label label-neutral"> Podporujeme </a> 462 <a href="/akce/stitky/partnerstvi/" class="label label-neutral"> Partnerstvà </a> 463 <a href="/akce/stitky/udalost/" class="label label-neutral"> Událost </a> 464 <a href="/akce/stitky/zurivec/" class="label label-neutral"> ZuÅivý reportér </a> 465 <a href="/akce/stitky/zivaaaaky/" class="label label-neutral"> Živááááky </a> 466 </div> 467 <div class="grid gap-20" id="snippet--actions"> 468 469<a href="/akce/rozsirte-rady-ohleduplnych-ridicu-a-ziskejte-atraktivni-odmeny/" class="card-horizontal-flat"> 470 <div class="card-image-container"> 471 <img 472 src="/images/320_192_4_e8903d08806fe0e5d5d784407b932b27.webp" 473 class="card-horizontal-flat-image" 474 draggable="false" 475 loading="lazy" 476 /> 477 </div> 478 479 <div class="card-horizontal-flat-content"> 480 <div class="card-heading-wrapper"> 481 <h2><span>RozÅ¡iÅte Åady ohleduplných ÅidiÄů a zÃskejte atraktivnà odmÄny</span></h2> 482 </div> 483 <span class="label label-neutral">PartnerstvÃ</span> 484 <p>Dopravnà tým Rádia Impuls kÅižuje celou republiku a hledá na silnicÃch a dálnicÃch ohleduplné ÅidiÄe a ÅidiÄky. Takové, kteÅà jezdà s úsmÄvem, dodržujà pravidla silniÄnÃho provozu a v mobilnÃm telefonu majà aplikaci Rádia Impuls a aplikaci OMV MyStation s platnou registracÃ.</p> 485 <button type="button" class="button button-ghost button-blue"> 486 VÃce informacà 487 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 488 width="12" 489 height="12" 490 class 491 alt 492 draggable="false" 493 loading="lazy" 494 /> 495 </button> 496 </div> 497</a> 498 499<a href="/akce/radio-impuls-predstavuje-a-podporuje-intimni-filmovy-portret-bara-basikova/" class="card-horizontal-flat"> 500 <div class="card-image-container"> 501 <img 502 src="/images/320_192_4_74d5181b59c54464949136385a2c5695.webp" 503 class="card-horizontal-flat-image" 504 draggable="false" 505 loading="lazy" 506 /> 507 </div> 508 509 <div class="card-horizontal-flat-content"> 510 <div class="card-heading-wrapper"> 511 <h2><span>Rádio Impuls pÅedstavuje a podporuje: Intimnà filmový portrét BÃRA BASIKOVÃ</span></h2> 512 </div>
513 <span class="label label-neutral">Podporujeme</span> 514 <p></p> 515 <button type="button" class="button button-ghost button-blue"> 516 VÃce informacà 517 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 518 width="12" 519 height="12" 520 class 521 alt 522 draggable="false" 523 loading="lazy" 524 /> 525 </button> 526 </div> 527</a> 528 529<a href="/akce/cesky-mejdan-s-mirai/" class="card-horizontal-flat"> 530 <div class="card-image-container"> 531 <img 532 src="/images/320_192_4_98a1cdbd7b78d916dbd5411b37c840e3.webp" 533 class="card-horizontal-flat-image" 534 draggable="false" 535 loading="lazy" 536 /> 537 </div> 538 539 <div class="card-horizontal-flat-content"> 540 <div class="card-heading-wrapper"> 541 <h2><span>Äeský mejdan s Mirai</span></h2> 542 </div> 543 <span class="label label-neutral">Událost</span> 544 <p></p> 545 <button type="button" class="button button-ghost button-blue"> 546 VÃce informacà 547 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 548 width="12" 549 height="12" 550 class 551 alt 552 draggable="false" 553 loading="lazy" 554 /> 555 </button> 556 </div> 557</a> 558 559<a href="/akce/vikendove-zivaaaaky-radia-impuls-v-srpnu/" class="card-horizontal-flat"> 560 <div class="card-image-container"> 561 <img 562 src="/images/320_192_4_1d87cb7fdbdae845d464e67ec095e1d5.webp" 563 class="card-horizontal-flat-image" 564 draggable="false" 565 loading="lazy" 566 /> 567 </div> 568 569 <div class="card-horizontal-flat-content"> 570 <div class="card-heading-wrapper"> 571 <h2><span>VÃkendové Živááááky Rádia Impuls v srpnu</span></h2> 572 </div> 573 <span class="label label-neutral">Živááááky</span> 574 <span class="label label-neutral">Událost</span> 575 <p>K Äeským práááázdninám patÅà letnà festivaly a živá muzika. 576Na Impulsu jà budeme pro vás mÃt poÅádnou dávku. Každou sobotu veÄer od osmi vás Äeká parádnà Živáááák. Když naladÃte Impuls, tÅeba u táboráku, na chatÄ anebo klidnÄ v obýváku, pÅeneseme k vám festivalovou atmosféru a živou Äeskou iâ¦</p> 577 <button type="button" class="button button-ghost button-blue"> 578 VÃce informacà 579 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 580 width="12" 581 height="12" 582 class 583 alt 584 draggable="false" 585 loading="lazy" 586 /> 587 </button> 588 </div> 589</a> 590 591<a href="/akce/ceske-praaaazdniny-s-radiem-impuls/" class="card-horizontal-flat"> 592 <div class="card-image-container"> 593 <img 594 src="/images/320_192_4_a0792fa688a5b6d640f4de199e6c23fe.webp" 595 class="card-horizontal-flat-image" 596 draggable="false" 597 loading="lazy" 598 /> 599 </div> 600 601 <div class="card-horizontal-flat-content"> 602 <div class="card-heading-wrapper"> 603 <h2><span>Äeské práááázdniny s Rádiem Impuls</span></h2> 604 </div> 605 <span class="label label-neutral">Událost</span> 606 <p>Nejlepšà prázdniny? JasnÄ, že to byly ty naÅ¡e! LetoÅ¡nà prázdniny jsme si na Impulsu užili u nás doma, a vÄÅÃme, že to byly parádnà prázdniny plné mnoha chutÃ. SpoleÄnÄ jsme procestovali naÅ¡i krásnou zemi kÅÞem krážem a hledali v naÅ¡ich krajÃch dobrodružstvÃ, poznánÃ, zábavu, relax, lahůdky,â¦</p> 607 <button type="button" class="button button-ghost button-blue"> 608 VÃce informacà 609 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 610 width="12" 611 height="12" 612 class 613 alt 614 draggable="false" 615 loading="lazy" 616 /> 617 </button> 618 </div> 619</a> 620 621<a href="/akce/impulsovi-byli-na-benatske-s-impulsem/" class="card-horizontal-flat"> 622 <div class="card-image-container"> 623 <img 624 src="/images/320_192_4_cb131255d79450bf8bd090c3e50e8
624c85.webp" 625 class="card-horizontal-flat-image" 626 draggable="false" 627 loading="lazy" 628 /> 629 </div> 630 631 <div class="card-horizontal-flat-content"> 632 <div class="card-heading-wrapper"> 633 <h2><span>Impulsovi byli na Benátské s Impulsem</span></h2> 634 </div> 635 <span class="label label-neutral">Podporujeme</span> 636 <span class="label label-neutral">Událost</span> 637 <p>3 DNY, 3 ŽIVÃÃÃÃKY A 3 SCÃNY 638 639I letos jsme byli na Benátské s Impulsem a byla to poÅádná festivalová jÃzda. 3 dny živého vysÃlánà pÅÃmo z areálu Vesec u Liberce, 3 Živááááky v pÅÃmém pÅenosu a s naÅ¡imi moderátory jste se mohli potkat hned na tÅech scénách. Benátská! s Impulsem letos znovu žilaâ¦</p> 640 <button type="button" class="button button-ghost button-blue"> 641 VÃce informacà 642 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 643 width="12" 644 height="12" 645 class 646 alt 647 draggable="false" 648 loading="lazy" 649 /> 650 </button> 651 </div> 652</a> 653 654<a href="/akce/vikendove-zivaaaaky-radia-impuls-v-cervenci/" class="card-horizontal-flat"> 655 <div class="card-image-container"> 656 <img 657 src="/images/320_192_4_07391972e9a4f6fd9c5c1235d18b3def.webp" 658 class="card-horizontal-flat-image" 659 draggable="false" 660 loading="lazy" 661 /> 662 </div> 663 664 <div class="card-horizontal-flat-content"> 665 <div class="card-heading-wrapper"> 666 <h2><span>VÃkendové Živááááky Rádia Impuls v Äervenci</span></h2> 667 </div> 668 <span class="label label-neutral">Událost</span> 669 <span class="label label-neutral">Živááááky</span> 670 <p>K Äeským práááázdninám patÅà letnà festivaly a živá muzika. 671Budeme jà mÃt pro vás na Impulsu poÅádnou dávku. Každou sobotu veÄer od osmi do devÃti vás Äeká parádnà Živáááák. Když naladÃte Impuls, tÅeba u táboráku, na chatÄ anebo klidnÄ v obýváku, pÅeneseme k vám festivalovou atmosféru a živouâ¦</p> 672 <button type="button" class="button button-ghost button-blue"> 673 VÃce informacà 674 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 675 width="12" 676 height="12" 677 class 678 alt 679 draggable="false" 680 loading="lazy" 681 /> 682 </button> 683 </div> 684</a> 685 <div class="pagination-container"> 686 <a href="/akce/?page=0" class="pagination-button pagination-button-prev disabled" 687 aria-label="PÅedchozÃ" 688 > 689 <img src="https://www.impuls.cz/assets/images/icons/arrow-left.svg?v=1764430950" 690 width="9" 691 height="24" 692 class="pagination-arrow-left" 693 alt 694 draggable="false" 695 loading="lazy" 696 /> 697 <img src="https://www.impuls.cz/assets/images/icons/arrow-left-disabled.svg?v=1764430950" 698 width="9" 699 height="24" 700 class="pagination-arrow-left-disabled" 701 alt 702 draggable="false" 703 loading="lazy" 704 /> 705 PÅedchozà 706 </a> 707 <a href="/akce/?page=2" class="pagination-button pagination-button-next" 708 aria-label="DalÅ¡Ã" 709 > 710 Dalšà 711 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 712 width="9" 713 height="24" 714 class="pagination-arrow-right" 715 alt 716 draggable="false" 717 loading="lazy" 718 /> 719 <img src="https://www.impuls.cz/assets/images/icons/arrow-right-disabled.svg?v=1764430950" 720 width="9" 721 height="24" 722 class="pagination-arrow-right-disabled" 723 alt 724 draggable="false" 725 loading="lazy" 726 /> 727 </a> 728 </div> 729 </div> 730 </div> 731 </div> 732 </div> 733 734<div class="grid gap-24"> 735 736<div class="player"> 737 <div class="player-top player-top--white"> 738 <div class="player-content" id="snippet--player-live"> 739 <div class="currently-playing"> 740 <img src="https://www.impuls.cz/assets/images/icons/currently-playing.svg?v=1764430950" 741 width="12" 742 height="9" 743 class 744 alt="PrávÄ hrajeme" 745 draggable="false" 746 loading="lazy" 747 /> 748 PrávÄ vysÃláme 749 </div> 750 <h2>Dopoledne s dobrým Korcem</h2>
751 <span>09.00-12.00</span> 752 </div> 753 <div class="player-control player-control--yellow"> 754 <a href="/online/" class="play-button" id="radioPlayButton" data-google-vignette="false" data-js-xhr="1"> 755 <img src="https://www.impuls.cz/assets/images/icons/play.svg?v=1764430950" 756 width="16" 757 height="20" 758 class="play-icon" 759 alt="PÅehrát rádio" 760 draggable="false" 761 loading="lazy" 762 /> 763 <img src="https://www.impuls.cz/assets/images/icons/pause.svg?v=1764430950" 764 width="16" 765 height="20" 766 class="pause-icon" 767 alt="Pozastavit rádio" 768 draggable="false" 769 loading="lazy" 770 /> 771 </a> 772 <audio 773 id="radioStream" 774 preload="none" 775 > 776 <source src="https://stream.sepia.sk:8000/impuls128.mp3" type="audio/mpeg"> 777 Váš prohlÞeÄ nepodporuje pÅehrávánà audia. 778 </audio> 779 <div class="player-control-content" id="snippet--player-artist"> 780 <h3 data-now-playing="artist">TOMÃÅ KLUS</h3> 781 <p data-now-playing="track" data-truncate="20" title="DOKOLA">DOKOLA</p> 782 <div class="player-control-links"> 783 <a href="/online/#pred-chvili">Playlist</a> 784 <a href="/program/">Program</a> 785 </div> 786 </div> 787 </div> 788 789 <span id="snippet--player-image"> 790 <img 791 src="/images/300_375_4_e1b0b609e377c787b2dea84c8ac115a6.webp" 792 draggable="false" 793 class="player-background-image" 794 /> 795 </span> 796 </div> 797 <div id="snippet--player-progress" 798 class="player-progress" 799 data-progress="85" 800 data-duration="180" 801 data-current-time="85" 802 > 803 <div class="player-progress-track"> 804 <div class="player-progress-fill" style="width: 85%"></div> 805 <div class="player-progress-indicator" style="left: 85%"> 806 <svg 807 width="16" 808 height="16"
809 viewBox="0 0 16 16" 810 fill="none" 811 xmlns="http://www.w3.org/2000/svg" 812 > 813 <circle 814 cx="8" 815 cy="8" 816 r="8" 817 fill="#FF0000" 818 fill-opacity="0.4" 819 ></circle> 820 <circle cx="8" cy="8" r="5" fill="#FF0000"></circle> 821 </svg> 822 </div> 823 </div> 824 </div> 825 <div id="snippet--player-next"> 826 <div class="player-next-up"> 827 <span>Následuje 12.00-15.00</span> 828 <div class="player-next-up-detail"> 829 <div class="avatar-list"> 830 <div class="avatar"> 831 <img 832 src="/images/28_28_4_8e893424b2a359d191b5234e525fe93c.webp" 833 alt="Avatar" 834 draggable="false" 835 /> 836 </div> 837 </div> 838 <h3>Impulsy Honzy BeneÅ¡ovského</h3> 839 </div> 840 </div> 841 </div> 842</div> <div class="best-of grid gap-24"> 843 <h2>To nejlepšà z Impulsu</h2> 844 <div class="grid gap-16"> 845 846<a href="/souteze/halo-tady-impulsovi/" class="video-card-horizontal"> 847 <div class="card-image-container"> 848 <img 849 src="/images/160_96_4_3dbb77c680b46f6a06ec620b79b21bc9.webp" 850 class="video-card-horizontal-image" 851 draggable="false" 852 loading="lazy" 853 /> 854 </div> 855 856 <div class="video-card-horizontal-content"> 857 <span class="label label-orange">SoutÄž</span> 858 <div class="card-heading-wrapper"> 859 <h3><span>Haló, tady Impulsovi</span></h3> 860 </div> 861 <span> 862 05. 10. 2026 863 </span> 864 </div> 865</a> 866 867<a href="/akce/jubilejni-10-rocnik-02-arena-plna-ceskych-hvezd/" class="video-card-horizontal"> 868 <div class="card-image-container"> 869 <img 870 src="/images/160_96_4_8ab3593f847056bf7b278e308119d0d2.webp" 871 class="video-card-horizontal-image" 872 draggable="false" 873 loading="lazy" 874 /> 875 </div> 876 877 <div class="video-card-horizontal-content"> 878 <span class="label label-orange">Akce</span> 879 <div class="card-heading-wrapper"> 880 <h3><span>Jubilejnà 10. roÄnÃk, O2 arena plná Äeských hvÄzd</span></h3> 881 </div> 882 <span> 883 17. 10. 2026 884 </span> 885 </div> 886</a> 887 888<a href="/videa/prezident-si-pozval-baru-na-hrad-20260918-1453/" class="video-card-horizontal"> 889 <div class="card-image-container"> 890 <img 891 src="https://img.youtube.com/vi/U1i1ZftIrLw/hqdefault.jpg" 892 alt="Prezident si pozval Báru na Hrad." 893 class="video-card-horizontal-image" 894 draggable="false" 895 loading="lazy" 896 /> 897 </div> 898 899 <div class="video-card-horizontal-content"> 900 <span class="label label-orange">Video</span> 901 <div class="card-heading-wrapper"> 902 <h3><span>Prezident si pozval Báru na Hrad.</span></h3> 903 </div> 904 <span> 905 18. 09. 2026 906 </span> 907 </div> 908</a> 909 </div> 910 </div> 911 <div class="ad-large-horizontal"> 912 <span class="ad-text"></span> 913 <div class="rk--desktop"><div id="r-hpa1" class="r-main m11 s_halfpagead"><div class="r-head"><span></span></div><div class="r-body"><div id='halfpagead'></div><div class="fc0"></div></div></div></div> 914 <div class="rk--mobile"><div id="r-touch300x250" class="r-main touch-203 s_m_300x250"><div class="r-head"><span></span></div><div class="r-body"><div id='m_300x250'></div></div></div></div> 915 </div> 916</div> </div> 917 918<div class="latest-videos"> 919 <div class="section-heading"> 920 <h2>NejnovÄjšà videa</h2> 921 <a href="/videa/" type="button" class="button button-ghost button-blue"> 922 VÅ¡echna videa 923 <img src="https://www.impuls.cz/assets/images/icons/arrow-right.svg?v=1764430950" 924 width="12" 925 height="12" 926 class 927 alt 928 draggable="false" 929 loading="lazy" 930 /> 931 </a> 932 </div> 933 <div class="grid grid-cols-4 gap-20"> 934 935<a href="/videa/kdyz-vinnetou-zjisti-ze-old-shatterhand-umi-slapat-ve-stejnych-stopach-20260923-1614/" class="video-card"> 936 <div class="card-image-container"> 937 <div class="video-card-image"> 938 <img 939 src="https://img.youtube.com/vi/sDT0J08Pn5k/hqdefault.jpg" 940 alt="Když Vinnetou zjistÃ, že Old Shatterhand umà Å
940¡lapat ve stejných stopách. ð" 941 /> 942 <button class="play-button"> 943 <img src="https://www.impuls.cz/assets/images/icons/play.svg?v=1764430950" 944 width="16" 945 height="20" 946 alt="PÅehrát rádio" 947 draggable="false" 948 loading="lazy" 949 /> 950 </button> 951 </div> 952 </div> 953 <div class="video-card-content"> 954 <div class="card-heading-wrapper"> 955 <h3><span>Když Vinnetou zjistÃ, že Old Shatterhand umà šlapat ve stejných stopách. ð</span></h3> 956 </div> 957 <span> 958 23. 09. 2026 959 ⢠960 43x 961 </span> 962 </div> 963</a> 964 965<a href="/videa/cesko-podporilo-darce-kteri-davaji-nadeji-na-zivot-rozsvitila-se-i-budova-radia-20260923-1614/" class="video-card"> 966 <div class="card-image-container"> 967 <div class="video-card-image"> 968 <img 969 src="https://img.youtube.com/vi/LZxWmM_O83c/hqdefault.jpg" 970 alt="Äesko podpoÅilo dárce, kteÅà dávajà nadÄji na život: RozsvÃtila se i budova Rádia Impuls â¤ï¸ð" 971 /> 972 <button class="play-button"> 973 <img src="https://www.impuls.cz/assets/images/icons/play.svg?v=1764430950" 974 width="16" 975 height="20" 976 alt="PÅehrát rádio" 977 draggable="false" 978 loading="lazy" 979 /> 980 </button> 981 </div> 982 </div> 983 <div class="video-card-content"> 984 <div class="card-heading-wrapper"> 985 <h3><span>Äesko podpoÅilo dárce, kteÅà dávajà nadÄji na život: RozsvÃtila se i budova Rádia Impuls â¤ï¸ð</span></h3> 986 </div> 987 <span> 988 23. 09. 2026 989 ⢠990 21x 991 </span> 992 </div> 993</a> 994 995<a href="/videa/michal-david-cesky-mejdan-s-impulsem-bude-plny-prekvapeni-20260922-2133/" class="video-card"> 996 <div class="card-image-container"> 997 <div class="video-card-image"> 998 <img 999 src="https://img.youtube.com/vi/yUBqnew8HXk/hqdefault.jpg" 1000 alt="Michal David: Äeský mejdan s Impulsem bude plný pÅekvapenà ð" 1001 /> 1002 <button class="play-button"> 1003 <img src="https://www.impuls.cz/assets/images/icons/play.svg?v=1764430950" 1004 width="16" 1005 height="20" 1006 alt="PÅehrát rádio" 1007 draggable="false" 1008 loading="lazy" 1009 /> 1010 </button> 1011 </div> 1012 </div> 1013 <div class="video-card-content"> 1014 <div class="card-heading-wrapper"> 1015 <h3><span>Michal David: Äeský mejdan s Impulsem bude plný pÅekvapenà ð</span></h3> 1016 </div> 1017 <span> 1018 22. 09. 2026 1019 ⢠1020 33x 1021 </span> 1022 </div> 1023</a> 1024 1025<a href="/videa/michal-david-na-letosnim-ceskem-mejdanu-s-impulsem-chysta-specialni-duet-s-lucii-20260922-1302/" class="video-card"> 1026 <div class="card-image-container"> 1027 <div class="video-card-image"> 1028 <img 1029 src="https://img.youtube.com/vi/BDQyZC5uKXQ/hqdefault.jpg" 1030 alt="Michal David: Na letoÅ¡nÃm Äeském mejdanu s Impulsem chystá speciálnà duet s Lucià VondráÄkovou â¨" 1031 /> 1032 <button class="play-button"> 1033 <img src="https://www.impuls.cz/assets/images/icons/play.svg?v=1764430950" 1034 width="16" 1035 height="20" 1036 alt="PÅehrát rádio" 1037 draggable="false" 1038 loading="lazy" 1039 /> 1040 </button> 1041 </div> 1042 </div> 1043 <div class="video-card-content"> 1044 <div class="card-heading-wrapper"> 1045 <h3><span>Michal David: Na letoÅ¡nÃm Äeském mejdanu s Impulsem chystá speciálnà duet s Lucià VondráÄkovou â¨</span></h3> 1046 </div>
1047 <span> 1048 22. 09. 2026 1049 ⢠1050 273x 1051 </span> 1052 </div> 1053</a> 1054 </div> 1055</div> 1056</div><footer class="footer"> 1057 <div class="container"> 1058 <div class="ad-large"> 1059 <span class="ad-text"></span> 1060 <div class="rk--desktop"><div id="r-wallpaper" class="r-main m54 s_wallpaper"><div class="r-head"><span></span></div><div class="r-body"><div id='wallpaper'></div><div class="fc0"></div></div></div></div> 1061 </div> 1062 <div class="rk--mobile"><div id="r-touchfooter" class="r-main touch-216 s_m_paticka"><div class="r-head"><span></span></div><div class="r-body"><div id='m_paticka'></div></div></div></div> 1063 </div> 1064 1065 <div class="container grid grid-cols-3 gap-20"> 1066 <div class="footer-card"> 1067 <div class="footer-card-top"> 1068 <div class="footer-card-top-text"> 1069 <h2>Ráááádio Impuls<br/>v rádiu</h2><p><b>Praha a okolÃ</b> 96,6 FM<br><b>Beroun</b> 101,5 FM<br><b>PÅÃbram</b> 96,4 FM</p> 1070 </div> 1071 <img src="https://www.impuls.cz/assets/images/decorations/radio.webp?v=1774264941" 1072 width="24" 1073 height="24" 1074 class="footer-card-top-image footer-card-top-image--radio" 1075 alt 1076 draggable="false" 1077 loading="lazy" 1078 /> 1079 </div> 1080 <div class="footer-card-bottom"> 1081 <a href="/jak-naladit/#frekvence">VÃce informacÃ</a> 1082 </div> 1083 </div> 1084 1085 <div class="footer-card"> 1086 <div class="footer-card-top"> 1087 <div class="footer-card-top-text"> 1088 <h2>Ráááádio Impuls<br/>v mobilu</h2><p><b>Mobilnà aplikace</b><br/>Rádia Impuls<br/><a href="/jak-naladit/">iOS Android</a></p> 1089 </div> 1090 <img src="https://www.impuls.cz/assets/images/decorations/phone.webp?v=1774264941" 1091 width="24" 1092 height="24" 1093 class="footer-card-top-image footer-card-top-image--phone" 1094 alt 1095 draggable="false" 1096 loading="lazy" 1097 /> 1098 </div> 1099 <div class="footer-card-bottom"> 1100 <a href="/jak-naladit/#aplikace">O aplikaci</a> 1101 </div> 1102 </div> 1103 1104 <div class="footer-card"> 1105 <div class="footer-card-top"> 1106 <div class="footer-card-top-text"> 1107 <h2>Ráááádio Impuls<br/>v poÄÃtaÄi</h2><p><b>Online</b><br>Na <a href="https://impuls.cz">impuls.cz</a><br>nebo na <a href="https://play.cz">play.cz</a></p> 1108 </div> 1109 <img src="https://www.impuls.cz/assets/images/decorations/laptop.webp?v=1774264941" 1110 width="24" 1111 height="24" 1112 class="footer-card-top-image footer-card-top-image--laptop" 1113 alt 1114 draggable="false" 1115 loading="lazy" 1116 /> 1117 </div> 1118 <div class="footer-card-bottom"> 1119 <a href="/online/">VÃce informacÃ</a> 1120 </div> 1121 </div> 1122 </div> 1123 <div class="footer-items-wrapper"> 1124 <div class="footer-logo container"> 1125 <img src="https://www.impuls.cz/assets/images/decorations/impuls-logo-full-white.webp?v=1770236250" 1126 width="94" 1127 height="38" 1128 class 1129 alt 1130 draggable="false" 1131 loading="lazy" 1132 /> 1133 </div> 1134 <div class="grid grid-cols-3 container gap-32"> 1135 <div class="col-span-2 footer-content-items"> 1136 <div class="footer-content"> 1137 <h2><a href="/porady/">NaÅ¡e poÅady</a></h2> 1138 <div class="footer-content-links"> 1139 <ul> 1140 <li> 1141 <a href="/porady/vikendove-zivaaaky/">VÃkendové Živááááky</a> 1142 </li> 1143 <li> 1144 <a href="/porady/hrdinove-vsedniho-dne-nominujte-toho-sveho/">Hrdinové vÅ¡ednÃho dne â nominujte toho svého</a> 1145 </li> 1146 <li> 1147 <a href="/porady/milionovi-kolegove/">Milionovà kolegové</a> 1148 </li> 1149 <li> 1150 <a href="/porady/pan-profesor/">Pan profesor</a> 1151 </li> 1152 <li> 1153 <a href="/porady/odpoledni-impuls/">Odpolednà Impuls</a> 1154 </li> 1155 <li> 1156 <a href="/porady/impulsy-honzy-benesovskeho/">Impulsy Honzy BeneÅ¡ovského</a> 1157 </li> 1158 <li> 1159 <a href="/porady/dopoledne-s-dobrym-korcem/">Dopoledne s dobrým Korcem</a> 1160 </li> 1161 <li> 1162 <a href="/porady/halo-tady-impulsovi/">Haló, tady Impulsovi</a> 1163 </li> 1164 </ul> 1165 </div> 1166 </div> 1167 <div class="footer-content"> 1168 <h2><a href="/online/">O rádiu</a></h2> 1169 <div class="footer-content-links"> 1170 <ul> 1171 <li> 1172 <a href="/program/">Program</a> 1173 </li> 1174 <li> 1175 <a href="/videa/">Videa</a> 1176 </li> 1177 <li> 1178 <a href="/lide/">Lidé</a> 1179 </li> 1180 <li> 1181 <a href="/jak-naladit/">Jak naladit</a> 1182 </li> 1183 <li> 1184 <a href="/reklama/">Reklama</a> 1185 </li> 1186 <li> 1187 <a href="/jak-naladit/#aplikace">Aplikace</a> 1188 </li> 1189 <li> 1190 <a href="/kontakty/">Kontakty</a> 1191 </li> 1192 </ul> 1193 </div> 1194 </div> 1195 <div class="footer-content-multi"> 1196 <div class="footer-content"> 1197 <h2><a href="/akce/">Akce a soutÄže</a></h2> 1198 <div class="footer-content-links"> 1199 <ul> 1200 <li> 1201 <a href="/akce/jubilejni-10-rocnik-02-arena-plna-ceskych-hvezd/">Jubilejnà 10. roÄnÃk, O2 arena plná Äeských hvÄzd</a> 1202 </li> 1203 <li> 1204 <a href="/akce/vikendove-zivaaaaky-radia-impuls-v-zari/">VÃkendové Živááááky Rádia Impuls v záÅÃ</a> 1205 </li> 1206 <li> 1207 <a href="/akce/rozsirte-rady-ohleduplnych-ridicu-a-ziskejte-atraktivni-odmeny/">RozÅ¡iÅte Åady ohleduplných ÅidiÄů a zÃskejte atraktivnà odmÄny</a> 1208 </li> 1209 </ul> 1210 </div> 1211 </div> 1212 <div class="footer-content"> 1213 <h2><a href="/online/">Poslouchejte naÅ¡e dalšà rádia</a></h2> 1214 <div class="footer-content-links"> 1215 <ul> 1216 <li> 1217 <a href="https://rockzone.cz">RockZone - nejlepšà modernà rocková hudba v Praze</a> 1218 </li> 1219 <li> 1220 <a href="https://rockzone.cz" 1221 > </a> 1222 </li> 1223 <li> 1224 <a href="https://ceskyimpuls.cz">Äeský Impuls - Äeské pÃsniÄky 60. až 80. let</a> 1225 </li> 1226 <li> 1227 <a href="https://ceskyimpuls.cz" 1228 > </a> 1229 </li> 1230 </ul> 1231 </div> 1232 </div> 1233 </div> 1234 </div> 1235 <img src="https://www.impuls.cz/assets/images/decorations/footer-listener.webp?v=1774264941" 1236 width="24" 1237 height="24" 1238 class="footer-decoration" 1239 alt 1240 draggable="false" 1241 loading="lazy" 1242 /> 1243 </div> 1244 <div class="container footer-bottom-line-container"> 1245 <div class="footer-bottom-line"></div> 1246 </div> 1247 <div class="container footer-bottom"> 1248 <div class="footer-bottom-item"> 1249 <p class="footer-bottom-item-copy"> 1250 <img src="https://www.impuls.cz/assets/images/icons/copy.svg?v=1764430950" 1251 width="10" 1252 height="10" 1253 class 1254 alt 1255 draggable="false" 1256 loading="lazy" 1257 /> 1258 2026 Ráááádio Impuls 1259 </p> 1260 <a href="/privacy/"> Ochrana osobnÃch údajů </a> 1261 <a href="/vop/">
1261 VOP </a> 1262 <a onclick="Didomi.preferences.show()" href="#"> Cookies </a> 1263 <a href="/pravidla-soutezi/"> Pravidla soutÄžà </a> 1264 </div> 1265 <div class="footer-bottom-item"> 1266 <a href="tel:+420 605 222 007">605â222â007</a> 1267 <div class="footer-bottom-icons"> 1268 <a href="https://www.facebook.com/raaaadio/" target="_blank"> 1269 <img src="https://www.impuls.cz/assets/images/icons/facebook-yellow.svg?v=1764430950" 1270 width="20" 1271 height="20" 1272 class 1273 alt 1274 draggable="false" 1275 loading="lazy" 1276 /> 1277 </a> 1278 <a 1279 href="https://www.instagram.com/raaaadio_impuls/" 1280 target="_blank" 1281 > 1282 <img src="https://www.impuls.cz/assets/images/icons/instagram-yellow.svg?v=1764430950" 1283 width="20" 1284 height="20" 1285 class 1286 alt 1287 draggable="false" 1288 loading="lazy" 1289 /> 1290 </a> 1291 <a 1292 href="https://www.youtube.com/user/RadioImpuls" 1293 target="_blank" 1294 > 1295 <img src="https://www.impuls.cz/assets/images/icons/youtube-yellow.svg?v=1764430950" 1296 width="20" 1297 height="20" 1298 class 1299 alt 1300 draggable="false" 1301 loading="lazy" 1302 /> 1303 </a> 1304 </div> 1305 </div> 1306 </div> 1307 </div> 1308</footer> 1309 </div> 1310</div> 1311 1312<div class="rk--desktop"> 1313 <div id="r-wallpaper" class="r-main m54 s_wallpaper"><div class="r-head"><span></span></div><div class="r-body"><div id='wallpaper'></div><div class="fc0"></div></div></div> 1314</div> 1315<div class="rk--mobile"> 1316 <div id='m_sticky'></div> 1317 <div id='m_vignete'></div> 1318</div> 1319 1320<div id="ad-popup-container"></div> 1321 1322
1322<script src="https://1gr.cz/js/uni/paticka.js?rr=1790165249"></script>
1322 1323
1324<script>window.UniLoaded = window.UniLoaded || []; 1325UniLoaded.push(function () { 1326 Misc.callJsOnce({ 1327 cookieName: "webidsync", 1328 url: "//impuls.cz/_servix/webid.aspx ", 1329 ignoreRobots: true 1330 }); 1331});</script>
1331<script>if (window.Ads) Ads.serve({"site":"impuls_cz","slots":[{"position":216,"provider":"sas","id":"m_paticka","bidding":true,"sas-size":"640x700,300x250,250x250,480x480,300x50,300x100,300x150,200x200,script1x1","default-size":"300x250"},{"position":54,"provider":"sas","id":"wallpaper","bidding":true,"sas-size":"970x310,750x100,728x90,970x250,970x210,500x200,300x300,480x300,336x280,750x200,script1x1","default-size":"970x310"},{"position":58,"provider":"sas","id":"widesquare","bidding":true,"sas-size":"480x300,300x300,250x250,300x250,336x280,480x480,200x200,320x50,script1x1","default-size":"480x300"},{"position":11,"provider":"sas","id":"halfpagead","sticky":true,"bidding":true,"sas-size":"300x600,300x300,250x250,300x250,160x600,120x600,240x400,120x240,210x210,250x360,250x600,script1x1","default-size":"300x600"},{"position":203,"provider":"sas","id":"m_300x250","bidding":true,"sas-size":"300x250,250x250,480x480,210x210,300x50,300x100,300x150,200x200,script1x1","default-size":"300x250"},{"position":215,"provider":"sas","id":"m_branding","bidding":true,"sas-size":"768x1230,300x250,250x250,480x820,480x480,720x1280,300x600_mb,1080x1920,300x600,300x300,160x600,120x600,336x280,script1x1","default-size":"300x250"},{"position":28,"provider":"sas","id":"branding","branding":true,"bidding":true,"sas-size":"2000x1280,998x200,998x100,750x100,728x90,2000x1400,970x100,970x210,970x90,2000x1200,1920x1080,script1x1","default-size":"998x200"},{"position":205,"provider":"sas","id":"m_sticky","bidding":true,"sas-size":"600x200,320x150,300x250,300x300,500x200,320x100,970x250,336x280,320x50,728x90,970x310,480x480,480x300,998x200,300x50,300x100,970x210,750x200,750x100,1x1,300x600,script1x1","default-size":"320x150"},{"position":22,"provider":"sas","id":"300x250","bidding":true,"sas-size":"300x250,250x250,210x210,300x50,300x100,300x150,200x200,script1x1","default-size":"300x250"},{"position":40,"provider":"sas","id":"preroll","sas-size":"spot,preroll"},{"position":49,"provider":"sas","id":"postroll","sas-size":"spot,postroll"},{"position":225,"provider":"sas","id":"m_vignete","bidding":true,"sas-size":"720x1280,480x820,300x600,1080x1920,300x250,480x480,300x300,480x300,160x600,250x250,336x280,script1x1","default-size":"300x250"}],"skipHidden":true});</script>
1331 1332 1333<div class="counters"> 1334 <img src="//m.1gr.cz/u/free.gif?r=RF1NWH0O&p=U0OUu-TCDS%7cXnaKr8b%7c-UHwERJ3%7cuGNFR4y%7c6IFCsH2L%7c7dM2HD0_G%7cQ5S_T3SD2_%7c-1gpDQlWd%7cx29T5RzN%7cKCIs-0D56Y%7c-1SHq7PMD%7cx28836_UN&x=mbcoEa" alt=""> 1335</div>
1336<script type="module" src="https://www.impuls.cz/assets/bundle.js?v=1784190795"></script>
vendor: 1 bytes, line 1336
1336
1337<script src="https://www.impuls.cz/assets/front/app-H4wtei0b.js" type="module" crossorigin></script>
1337<link rel="stylesheet" href="https://www.impuls.cz/assets/front/app-Cdn0HZZT.css" crossorigin> 1338 1339
1340<script> 1341 (function() { 1342 if (window.__inlineAudioPlayersInitialized) { 1343 return; 1344 } 1345 window.__inlineAudioPlayersInitialized = true; 1346 1347 function initializeInlineAudioPlayers() { 1348 const cards = document.querySelectorAll('.card-horizontal-small[data-audio-src]'); 1349 1350 cards.forEach((card) => { 1351 if (card.dataset.audioInitialized) return; 1352 card.dataset.audioInitialized = 'true'; 1353 1354 const audioSrc = card.getAttribute('data-audio-src'); 1355 if (!audioSrc) return; 1356 1357 const audio = card.querySelector('.episode-audio'); 1358 const playButton = card.querySelector('.play-button'); 1359 const staticLabel = card.querySelector('.static-label'); 1360 const audioTime = card.querySelector('.audio-time'); 1361 const currentTimeEl = card.querySelector('.current-time'); 1362 const durationEl = card.querySelector('.duration'); 1363 const volumeBtn = card.querySelector('.volume-control'); 1364 const volumeIcon = card.querySelector('.volume-icon'); 1365 const progressContainer = card.querySelector('.audio-progress-container'); 1366 const progressTrack = card.querySelector('.audio-progress-track'); 1367 const progressFill = card.querySelector('.audio-progress-fill'); 1368 const progressHoverIndicator = card.querySelector('.audio-progress-hover-indicator'); 1369 const progressTooltip = card.querySelector('.audio-progress-tooltip'); 1370 const timeSeparator = card.querySelector('.time-separator'); 1371 1372 if (!audio || !playButton) return; 1373 1374 const fullLabel = staticLabel ? staticLabel.textContent : ''; 1375 const dateOnly = card.getAttribute('data-date-only') || fullLabel; 1376 1377 // Progress bar interaction 1378 let isSeeking = false; 1379 1380 // Update progress bar fill 1381 function updateProgressBar() { 1382 if (!isSeeking && audio.duration && progressFill) { 1383 const percentage = (audio.currentTime / audio.duration) * 100; 1384 progressFill.style.width = `${percentage}%`; 1385 } 1386 } 1387 1388 // Show tooltip with time preview 1389 function showTooltip(clientX) { 1390 if (!audio.duration || !progressTrack || !progressTooltip || !progressHoverIndicator) return; 1391 1392 const rect = progressTrack.getBoundingClientRect(); 1393 const offsetX = Math.max(0, Math.min(clientX - rect.left, rect.width)); 1394 const percentage = offsetX / rect.width; 1395 const previewTime = percentage * audio.duration; 1396 1397 // Update tooltip content and position 1398 progressTooltip.textContent = formatTime(previewTime); 1399 const tooltipLeft = Math.max(20, Math.min(offsetX, rect.width - 20)); 1400 progressTooltip.style.left = `${tooltipLeft}px`; 1401 progressTooltip.style.opacity = '1'; 1402 1403 // Update hover indicator 1404 progressHoverIndicator.style.left = `${offsetX}px`; 1405 progressHoverIndicator.style.opacity = '1'; 1406 } 1407 1408 function hideTooltip() { 1409 if (progressTooltip) progressTooltip.style.opacity = '0'; 1410 if (progressHoverIndicator) progressHoverIndicator.style.opacity = '0'; 1411 } 1412 1413 // Mouse events for progress bar 1414 if (progressContainer && progressTrack) { 1415 // Hover to show tooltip 1416 progressContainer.addEventListener('mouseenter', () => { 1417 if (audio.duration) { 1418 progressContainer.classList.add('hovering'); 1419 } 1420 }); 1421 1422 progressContainer.addEventListener('mouseleave', () => { 1423 progressContainer.classList.remove('hovering'); 1424 if (!isSeeking) { 1425 hideTooltip(); 1426 } 1427 }); 1428 1429 progressContainer.addEventListener('mousemove', (e) => { 1430 if (audio.duration) { 1431 showTooltip(e.clientX); 1432 } 1433 }); 1434 1435 // Click to seek 1436 progressContainer.addEventListener('mousedown', (e) => { 1437 e.stopPropagation(); 1438 e.preventDefault(); 1439 1440 if (!audio.duration || !isFinite(audio.duration)) { 1441 return; 1442 } 1443 1444 isSeeking = true; 1445 1446 const rect = progressTrack.getBoundingClientRect(); 1447 const offsetX = Math.max(0, Math.min(e.clientX - rect.left, rect.width)); 1448 const percentage = offsetX / rect.width; 1449 const newTime = percentage * audio.duration; 1450 1451 if (!isNaN(newTime) && isFinite(newTime)) { 1452 try { 1453 const wasPlaying = !audio.paused; 1454 if (wasPlaying) { 1455 audio.pause(); 1456 } 1457 1458 audio.currentTime = newTime; 1459 progressFill.style.width = `${percentage * 100}%`; 1460 1461 if (wasPlaying) { 1462 setTimeout(() => { 1463 audio.play().catch(err => console.error('Resume play error:', err)); 1464 }, 50); 1465 } 1466 } catch (err) { 1467 console.error('Seek failed:', err); 1468 } 1469 } 1470 1471 showTooltip(e.clientX); 1472 1473 const handleMouseMove = (moveEvent) => { 1474 const rect = progressTrack.getBoundingClientRect(); 1475 const offsetX = Math.max(0, Math.min(moveEvent.clientX - rect.left, rect.width)); 1476 const percentage = offsetX / rect.width; 1477 const newTime = percentage * audio.duration; 1478 1479 if (!isNaN(newTime) && isFinite(newTime)) { 1480 try { 1481 audio.currentTime = newTime; 1482 progressFill.style.width = `${percentage * 100}%`; 1483 } catch (err) { 1484 console.error('Seek during drag failed:', err); 1485 } 1486 } 1487 1488 showTooltip(moveEvent.clientX); 1489 }; 1490 1491 const handleMouseUp = () => { 1492 isSeeking = false;
1493 document.removeEventListener('mousemove', handleMouseMove); 1494 document.removeEventListener('mouseup', handleMouseUp); 1495 }; 1496 1497 document.addEventListener('mousemove', handleMouseMove); 1498 document.addEventListener('mouseup', handleMouseUp); 1499 }); 1500 1501 // Touch events for mobile 1502 progressContainer.addEventListener('touchstart', (e) => { 1503 e.stopPropagation(); 1504 isSeeking = true; 1505 const touch = e.touches[0]; 1506 1507 const rect = progressTrack.getBoundingClientRect(); 1508 const offsetX = Math.max(0, Math.min(touch.clientX - rect.left, rect.width)); 1509 const percentage = offsetX / rect.width; 1510 const newTime = percentage * audio.duration; 1511 1512 if (audio.duration && !isNaN(newTime) && isFinite(newTime)) { 1513 try { 1514 audio.currentTime = newTime; 1515 progressFill.style.width = `${percentage * 100}%`; 1516 } catch (err) { 1517 console.error('Touch seek failed:', err); 1518 } 1519 } 1520 1521 showTooltip(touch.clientX); 1522 progressContainer.classList.add('hovering'); 1523 }, { passive: false }); 1524 1525 progressContainer.addEventListener('touchmove', (e) => { 1526 e.preventDefault(); 1527 const touch = e.touches[0]; 1528 1529 const rect = progressTrack.getBoundingClientRect(); 1530 const offsetX = Math.max(0, Math.min(touch.clientX - rect.left, rect.width)); 1531 const percentage = offsetX / rect.width; 1532 const newTime = percentage * audio.duration; 1533 1534 if (audio.duration && !isNaN(newTime) && isFinite(newTime)) { 1535 try { 1536 audio.currentTime = newTime; 1537 progressFill.style.width = `${percentage * 100}%`; 1538 } catch (err) { 1539 console.error('Touch move seek failed:', err); 1540 } 1541 } 1542 1543 showTooltip(touch.clientX); 1544 }, { passive: false }); 1545 1546 progressContainer.addEventListener('touchend', () => { 1547 isSeeking = false; 1548 setTimeout(() => { 1549 hideTooltip(); 1550 progressContainer.classList.remove('hovering'); 1551 }, 500); 1552 }); 1553 } 1554 1555 let volumeSliderPopup = document.getElementById('shared-volume-slider-popup'); 1556 if (!volumeSliderPopup) { 1557 volumeSliderPopup = document.createElement('div'); 1558 volumeSliderPopup.id = 'shared-volume-slider-popup'; 1559 volumeSliderPopup.className = 'volume-slider-popup'; 1560 volumeSliderPopup.innerHTML = ` 1561 <div class="volume-slider-container"> 1562 <div class="volume-slider-track"> 1563 <div class="volume-slider-fill"></div> 1564 </div> 1565 <div class="volume-slider-thumb"></div> 1566 </div> 1567 `; 1568 document.body.appendChild(volumeSliderPopup); 1569 } 1570 1571 const volumeSliderContainer = volumeSliderPopup.querySelector('.volume-slider-container'); 1572 const volumeSliderTrack = volumeSliderPopup.querySelector('.volume-slider-track'); 1573 const volumeSliderFill = volumeSliderPopup.querySelector('.volume-slider-fill'); 1574 const volumeSliderThumb = volumeSliderPopup.querySelector('.volume-slider-thumb'); 1575 1576 function formatTime(seconds) { 1577 if (!seconds || isNaN(seconds) || !isFinite(seconds)) return '0:00'; 1578 const mins = Math.floor(seconds / 60); 1579 const secs = Math.floor(seconds % 60); 1580 return `${mins}:${secs.toString().padStart(2, '0')}`; 1581 } 1582 1583 // Safari-friendly play function 1584 function playAudio() { 1585 // Load the audio if not already loaded 1586 if (audio.readyState === 0) { 1587 audio.load(); 1588 } 1589 1590 const playPromise = audio.play(); 1591 1592 if (playPromise !== undefined) {
1593 playPromise.catch(err => { 1594 console.error('Play error:', err); 1595 // If it fails, try loading first then playing 1596 audio.load(); 1597 setTimeout(() => { 1598 audio.play().catch(e => console.error('Retry play error:', e)); 1599 }, 100); 1600 }); 1601 } 1602 } 1603 1604 card.addEventListener('click', (e) => { 1605 if (e.target.closest('.volume-control') || 1606 e.target.closest('.play-button') || 1607 e.target.closest('.audio-progress-container')) { 1608 return; 1609 } 1610 1611 e.preventDefault(); 1612 1613 document.querySelectorAll('.card-horizontal-small').forEach(otherCard => { 1614 if (otherCard !== card) { 1615 const otherAudio = otherCard.querySelector('.episode-audio'); 1616 if (otherAudio && !otherAudio.paused) { 1617 otherAudio.pause(); 1618 } 1619 } 1620 }); 1621 1622 if (audio.paused) { 1623 playAudio(); 1624 } else { 1625 audio.pause(); 1626 } 1627 }); 1628 1629 if (playButton) { 1630 playButton.addEventListener('click', (e) => { 1631 e.preventDefault(); 1632 e.stopPropagation(); 1633 1634 document.querySelectorAll('.card-horizontal-small').forEach(otherCard => { 1635 if (otherCard !== card) { 1636 const otherAudio = otherCard.querySelector('.episode-audio'); 1637 if (otherAudio && !otherAudio.paused) { 1638 otherAudio.pause(); 1639 } 1640 } 1641 }); 1642 1643 if (audio.paused) { 1644 playAudio(); 1645 } else { 1646 audio.pause(); 1647 } 1648 }); 1649 } 1650 1651 audio.addEventListener('play', () => { 1652 card.classList.add('playing'); 1653 playButton.classList.add('playing'); 1654 if (audioTime) audioTime.style.display = 'inline'; 1655 if (staticLabel) staticLabel.textContent = dateOnly; 1656 if (timeSeparator) { 1657 timeSeparator.style.opacity = '0'; 1658 timeSeparator.style.visibility = 'hidden'; 1659 timeSeparator.style.width = '0'; 1660 } 1661 }); 1662 1663 audio.addEventListener('pause', () => { 1664 card.classList.remove('playing'); 1665 playButton.classList.remove('playing'); 1666 if (audioTime) audioTime.style.display = 'none'; 1667 if (staticLabel) staticLabel.textContent = fullLabel; 1668 if (timeSeparator) { 1669 timeSeparator.style.opacity = ''; 1670 timeSeparator.style.visibility = ''; 1671 timeSeparator.style.width = ''; 1672 } 1673 }); 1674 1675 audio.addEventListener('timeupdate', () => { 1676 if (currentTimeEl) { 1677 currentTimeEl.textContent = formatTime(audio.currentTime); 1678 } 1679 updateProgressBar(); 1680 }); 1681 1682 audio.addEventListener('loadedmetadata', () => { 1683 if (durationEl && !durationEl.dataset.durationSet) { 1684 if (isFinite(audio.duration) && !isNaN(audio.duration) && audio.duration > 0) { 1685 durationEl.textContent = formatTime(audio.duration); 1686 durationEl.dataset.durationSet = 'true'; 1687 } else { 1688 durationEl.textContent = ''; 1689 const separator = durationEl.previousElementSibling; 1690 if (separator && separator.classList.contains('separator')) { 1691 separator.style.display = 'none'; 1692 } 1693 const currentTimeSeparator = currentTimeEl?.nextElementSibling; 1694 if (currentTimeSeparator && currentTimeSeparator.classList.contains('separator')) { 1695 currentTimeSeparator.style.display = 'none'; 1696 } 1697 } 1698 } 1699 }); 1700 1701 audio.addEventListener('durationchange', () => { 1702 if (durationEl && isFinite(audio.duration) && !isNaN(audio.duration) && audio.duration > 0) { 1703 durationEl.textContent = formatTime(audio.duration); 1704 durationEl.dataset.durationSet = 'true'; 1705 const separator = durationEl.previousElementSibling; 1706 if (separator && separator.classList.contains('separator')) { 1707 separator.style.display = ''; 1708 } 1709 const currentTimeSeparator = currentTimeEl?.nextElementSibling; 1710 if (currentTimeSeparator && currentTimeSeparator.classList.contains('separator')) { 1711 currentTimeSeparator.style.display = ''; 1712 } 1713 } 1714 }); 1715 1716 if (volumeBtn && volumeSliderContainer && volumeSliderPopup && volumeIcon) { 1717 const savedVolume = localStorage.getItem('audioPlayerVolume'); 1718 const initialVolume = savedVolume !== null ? parseInt(savedVolume) : 100; 1719 1720 let currentAudio = null; 1721 let isDragging = false;
1722 1723 function updateSliderVisual(volume) { 1724 const percentage = Math.max(0, Math.min(100, volume)); 1725 volumeSliderFill.style.height = `${percentage}%`; 1726 volumeSliderThumb.style.bottom = `calc(${percentage}% - 6px)`; 1727 } 1728 1729 function updateVolumeIcon(volume) { 1730 if (volume === 0 || audio.muted) { 1731 volumeIcon.innerHTML = '<path d="M10 4L6 8H2v4h4l4 4V4z" fill="currentColor"/><line x1="14" y1="6" x2="18" y2="14" stroke="currentColor" stroke-width="2" stroke-linecap="round"/><line x1="18" y1="6" x2="14" y2="14" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>'; 1732 volumeBtn.classList.add('muted'); 1733 } else if (volume < 50) { 1734 volumeIcon.innerHTML = '<path d="M10 4L6 8H2v4h4l4 4V4z" fill="currentColor"/><path d="M14 7c.7.7 1 1.6 1 2.5s-.3 1.8-1 2.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>'; 1735 volumeBtn.classList.remove('muted'); 1736 } else { 1737 volumeIcon.innerHTML = '<path d="M10 4L6 8H2v4h4l4 4V4z" fill="currentColor"/><path d="M14 7c.7.7 1 1.6 1 2.5s-.3 1.8-1 2.5M16.5 4.5c1.3 1.3 2 3 2 4.5s-.7 3.2-2 4.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>'; 1738 volumeBtn.classList.remove('muted'); 1739 } 1740 } 1741 1742 function positionVolumeSlider() { 1743 const btnRect = volumeBtn.getBoundingClientRect(); 1744 const scrollTop = window.pageYOffset || document.documentElement.scrollTop; 1745 const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft; 1746 const popupWidth = 32; 1747 const popupHeight = 104; 1748 1749 const left = btnRect.left + scrollLeft + (btnRect.width / 2) - (popupWidth / 2); 1750 const top = btnRect.top + scrollTop - popupHeight; 1751 1752 volumeSliderPopup.style.left = `${left}px`; 1753 volumeSliderPopup.style.top = `${top}px`; 1754 } 1755 1756 function handleSliderInteraction(e) { 1757 if (!currentAudio) return; 1758 1759 const trackRect = volumeSliderTrack.getBoundingClientRect(); 1760 const clickY = e.clientY - trackRect.top; 1761 const percentage = Math.max(0, Math.min(100, ((trackRect.height - clickY) / trackRect.height) * 100)); 1762 const volume = percentage; 1763 1764 currentAudio.volume = volume / 100; 1765 currentAudio.muted = volume === 0; 1766 updateSliderVisual(volume); 1767 1768 const currentCard = currentAudio.closest('.card-horizontal-small'); 1769 if (currentCard) { 1770 const currentIcon = currentCard.querySelector('.volume-icon'); 1771 const currentBtn = currentCard.querySelector('.volume-control'); 1772 if (currentIcon && currentBtn) { 1773 const roundedVolume = Math.round(volume); 1774 if (roundedVolume === 0 || currentAudio.muted) { 1775 currentIcon.innerHTML = '<path d="M10 4L6 8H2v4h4l4 4V4z" fill="currentColor"/><line x1="14" y1="6" x2="18" y2="14" stroke="currentColor" stroke-width="2" stroke-linecap="round"/><line x1="18" y1="6" x2="14" y2="14" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>'; 1776 currentBtn.classList.add('muted'); 1777 } else if (roundedVolume < 50) { 1778 currentIcon.innerHTML = '<path d="M10 4L6 8H2v4h4l4 4V4z" fill="currentColor"/><path d="M14 7c.7.7 1 1.6 1 2.5s-.3 1.8-1 2.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>'; 1779 currentBtn.classList.remove('muted'); 1780 } else { 1781 currentIcon.innerHTML = '<path d="M10 4L6 8H2v4h4l4 4V4z" fill="currentColor"/><path d="M14 7c.7.7 1 1.6 1 2.5s-.3 1.8-1 2.5M16.5 4.5c1.3 1.3 2 3 2 4.5s-.7 3.2-2 4.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>'; 1782 currentBtn.classList.remove('muted'); 1783 } 1784 } 1785 } 1786 1787 localStorage.setItem('audioPlayerVolume', Math.round(volume).toString()); 1788 } 1789 1790 volumeSliderContainer.addEventListener('mousedown', (e) => { 1791 e.preventDefault(); 1792 isDragging = true; 1793 handleSliderInteraction(e); 1794 }); 1795 1796 document.addEventListener('mousemove', (e) => { 1797 if (isDragging) { 1798 e.preventDefault(); 1799 handleSliderInteraction(e); 1800 } 1801 }); 1802 1803 document.addEventListener('mouseup', () => { 1804 isDragging = false;
1805 }); 1806 1807 function hideSlider() { 1808 volumeSliderPopup.classList.remove('visible'); 1809 currentAudio = null; 1810 } 1811 1812 let hideTimeout; 1813 1814 volumeBtn.addEventListener('mouseenter', () => { 1815 clearTimeout(hideTimeout); 1816 currentAudio = audio; 1817 positionVolumeSlider(); 1818 updateSliderVisual(Math.round(audio.volume * 100)); 1819 volumeSliderPopup.classList.add('visible'); 1820 }); 1821 1822 volumeBtn.addEventListener('mouseleave', () => { 1823 hideTimeout = setTimeout(() => { 1824 if (!volumeSliderPopup.matches(':hover')) { 1825 hideSlider(); 1826 } 1827 }, 300); 1828 }); 1829 1830 audio.addEventListener('pause', () => { 1831 setTimeout(() => { 1832 hideSlider(); 1833 }, 500); 1834 }); 1835 1836 audio.addEventListener('ended', () => { 1837 hideSlider(); 1838 }); 1839 1840 volumeIcon.addEventListener('click', (e) => { 1841 e.preventDefault(); 1842 e.stopPropagation(); 1843 1844 if (audio.muted || audio.volume === 0) { 1845 audio.muted = false; 1846 const lastVolume = savedVolume !== null && parseInt(savedVolume) > 0 ? parseInt(savedVolume) : 100; 1847 audio.volume = lastVolume / 100; 1848 updateVolumeIcon(lastVolume); 1849 updateSliderVisual(lastVolume); 1850 localStorage.setItem('audioPlayerVolume', lastVolume.toString()); 1851 } else { 1852 audio.muted = true; 1853 updateVolumeIcon(0); 1854 } 1855 }); 1856 1857 volumeBtn.addEventListener('click', (e) => { 1858 e.stopPropagation(); 1859 }); 1860 1861 audio.volume = initialVolume / 100; 1862 updateVolumeIcon(initialVolume); 1863 updateSliderVisual(initialVolume); 1864 } 1865 }); 1866 } 1867 1868 const sharedPopup = document.getElementById('shared-volume-slider-popup'); 1869 if (sharedPopup && !sharedPopup.dataset.handlersSet) { 1870 sharedPopup.dataset.handlersSet = 'true'; 1871 1872 let hideTimeout; 1873 1874 sharedPopup.addEventListener('mouseenter', () => { 1875 clearTimeout(hideTimeout); 1876 }); 1877 1878 sharedPopup.addEventListener('mouseleave', () => { 1879 hideTimeout = setTimeout(() => { 1880 sharedPopup.classList.remove('visible'); 1881 }, 300); 1882 }); 1883 1884 window.addEventListener('scroll', () => { 1885 if (sharedPopup.classList.contains('visible')) { 1886 sharedPopup.classList.remove('visible'); 1887 } 1888 }, { passive: true }); 1889 1890 window.addEventListener('resize', () => { 1891 if (sharedPopup.classList.contains('visible')) { 1892 const hoveredBtn = document.querySelector('.volume-control:hover'); 1893 if (hoveredBtn) { 1894 const btnRect = hoveredBtn.getBoundingClientRect(); 1895 const scrollTop = window.pageYOffset || document.documentElement.scrollTop; 1896 const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft; 1897 const popupWidth = 32; 1898 const popupHeight = 104; 1899 const left = btnRect.left + scrollLeft + (btnRect.width / 2) - (popupWidth / 2); 1900 const top = btnRect.top + scrollTop - popupHeight; 1901 sharedPopup.style.left = `${left}px`; 1902 sharedPopup.style.top = `${top}px`; 1903 } 1904 } 1905 }); 1906 } 1907 1908 if (document.readyState === 'loading') { 1909 document.addEventListener('DOMContentLoaded', initializeInlineAudioPlayers); 1910 } else { 1911 initializeInlineAudioPlayers(); 1912 } 1913 1914 setTimeout(initializeInlineAudioPlayers, 500); 1915 })(); 1916</script>
1916 1917</body> 1918</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.