PageSourceSearch

https://www.olomouc.cz/zpravy/kultura

html olomouc.cz collected 2026-10-02 10:56:42 UTC 49,839 bytes, 1,015 lines download raw bytes

1<!doctype html>
2<html lang="cs-CZ" prefix="og: http://ogp.me/ns#">
3<head>
4<!-- Google Tag Manager -->
5<script type="text/plain" cookie-consent="tracking">
vendor: 327 bytes, lines 5-9
5(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
6new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
7j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
8'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
9})(window,document,'script','dataLayer','
9GTM-54744CK
vendor: 3 bytes, line 9
9');
9</script>
9
10<!-- End Google Tag Manager -->
11
12<!-- Meta Pixel Code -->
13<script>
vendor: 399 bytes, lines 13-22
13
14!function(f,b,e,v,n,t,s)
15{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
16n.callMethod.apply(n,arguments):n.queue.push(arguments)};
17if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
18n.queue=[];t=b.createElement(e);t.async=!0;
19t.src=v;s=b.getElementsByTagName(e)[0];
20s.parentNode.insertBefore(t,s)}(window, document,'script',
21'https://connect.facebook.net/en_US/fbevents.js');
22fbq('init', '
221307386923204053
vendor: 30 bytes, lines 22-23
22');
23fbq('track', 'PageView');
24</script>
24
25<noscript><img height="1" width="1" style="display:none"
26src="https://www.facebook.com/tr?id=1307386923204053&ev=PageView&noscript=1"
27/></noscript>
28<!-- End Meta Pixel Code -->
29
30<meta charset="UTF-8" />
31<meta http-equiv="X-UA-Compatible" content="IE=edge" />
32<meta name="viewport" content="width=device-width, initial-scale=1" />
33<meta name="referrer" content="always" />
34<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon_olomouc.png">
35<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32_olomouc.png">
36<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16_olomouc.png">
37<link rel="manifest" href="/site_olomouc.webmanifest">
38<link rel="mask-icon" href="/safari-pinned-tab_olomouc.svg" color="#5bbad5">
39<meta name="msapplication-TileColor" content="#da532c">
40<meta name="theme-color" content="#ffffff">
41<title>Kultura - OLOMOUC.CZ</title>
42<meta name="description" content="Aktuální zprávy z olomouckého regionu - zprávy z regionu, kultura, sport, krimi, zajímavosti a tipy" />
43<link rel="stylesheet" type="text/css" media="all" href="https://www.olomouc.cz/css/normalize.min.css" />
44<link rel="stylesheet" type="text/css" media="all" href="https://www.olomouc.cz/css/style_220.css?9" />
45<link rel="stylesheet" type="text/css" media="all" href="https://www.olomouc.cz/css/devices_120.css?2" />
46<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,700,700i,800&amp;subset=latin-ext" />
47<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Condensed:300,400,400i,700,700i,800&amp;subset=latin-ext" />
48<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Oswald&amp;subset=latin-ext" />
49<script src="https://www.olomouc.cz/js/jquery-3.7.1.min.js"></script>
49
50<link rel="stylesheet" type="text/css" href="https://www.olomouc.cz/css/jquery.fancybox.css" />
51<script src="https://www.olomouc.cz/js/jquery.fancybox.min.js"></script>
51
52		
52<script type="text/javascript">
53		
54		$(document).ready(function () {
55		
56			$("[data-fancybox]").fancybox({
57				lang : 'cs',
58				toolbar: "true",
59				idleTime: 25,
60			    i18n : {
61						'en' : {
62							    CLOSE       : 'Close',
63							    NEXT        : 'Next',
64							    PREV        : 'Previous',
65							    ERROR       : 'The requested content cannot be loaded. <br/> Please try again later.',
66							    PLAY_START  : 'Start slideshow',
67							    PLAY_STOP   : 'Pause slideshow',
68							    FULL_SCREEN : 'Full screen',
69							    THUMBS      : 'Thumbnails',
70							    DOWNLOAD    : 'Download',
71							    SHARE       : 'Share',
72							    ZOOM        : 'Zoom'
73							},
74					        'cs' : {
75							 CLOSE       : 'Zavřít',
76						     NEXT        : 'Další',
77						     PREV        : 'Předchozí',
78						     ERROR       : 'Požadovaný obsah nelze načíst. <br /> Zkuste to prosím později.',
79						     PLAY_START  : 'Spustit slideshow',
80						     PLAY_STOP   : 'Zastavit slideshow',
81						     FULL_SCREEN : 'Na celou stránku',
82						     THUMBS      : 'Náhledy',
83						     DOWNLOAD    : 'Stáhnout',
84						     SHARE       : 'Sdílet',
85						     ZOOM        : 'Zoom'
86			        }
87			    },
88			    helpers: {
89			    	overlay: {
90			    	locked: false
91			    	}
92			    	}
93			});
94			
95		});
96		
97		</script>
vendor: 1 bytes, line 97
97
98<script type="text/javascript" src="https://www.olomouc.cz/js/basic_05.js"></script>
vendor: 1 bytes, line 98
98
99<script src="https://www.olomouc.cz/ad/script2_test.php"></script>
vendor: 1 bytes, line 99
99
100<script type="text/javascript" src="https://www.olomouc.cz/js/sticksy.min.js"></script>
100
101        <!-- Cookie Consent -->
102        
102<script type="text/javascript" src="https://www.termsfeed.com/public/cookie-consent/4.0.0/cookie-consent.js" charset="UTF-8"></script>
102
103        
103<script type="text/javascript" charset="UTF-8">
104        document.addEventListener('DOMContentLoaded', function () {
105        cookieconsent.run({"notice_banner_type":"simple","consent_type":"express","palette":"light","language":"cs","page_load_consent_levels":["strictly-necessary"],"notice_banner_reject_button_hide":true,"preferences_center_close_button_hide":false,"page_refresh_confirmation_buttons":false,"website_privacy_policy_url":"https://policies.google.com/technologies/cookies"});
106        });
107        </script>
107
108<meta property="fb:app_id" content="245580882228798" />
109<meta property="fb:admins" content="1198952971" />
110<meta property="fb:pages" content="656604737704726" />
111<meta property="og:url" content="https://www.olomouc.cz/zpravy/kultura" />
112<meta property="og:locale" content="cs_CZ" />
113<meta property="og:type" content="website" />
114<meta property="og:title" content="Kultura - OLOMOUC.CZ" />
115<meta property="og:description" content="Aktuální zprávy z olomouckého regionu - zprávy z regionu, kultura, sport, krimi, zajímavosti a tipy" />
116<link rel="image_src" href="https://www.olomouc.cz/images/www-olomouc-cz_logo_fb2015.jpg" />
117<meta property="og:image" content="https://www.olomouc.cz/images/www-olomouc-cz_logo_fb2015.jpg" />
118</head>
119<body>
120<main class="main">
121<div id="fb-root"></div>
122<script>(function(d, s, id) {
123var js, fjs = d.getElementsByTagName(s)[0];
124if (d.getElementById(id)) return;
125js = d.createElement(s); js.id = id;
126js.src = "//connect.facebook.net/cs_CZ/sdk.js#xfbml=1&version=v2.7";
127fjs.parentNode.insertBefore(js, fjs);
128}(document, 'script', 'facebook-jssdk'));</script>
128
129<div class="cart">
130<header>
131<div class="container">
132<div id="adTopBox" style="z-index: 9999;">
133<div class="adCounter"><span id="jsad_timer_time_61"></span></div>
134<div class="adReklama">Reklama</div>
135<div class="cb"></div>
136<div id="jsad_pozice_61"></div>
137<script>
138ADSystem.load();
139</script>
139
140</div>
141<script>
142
143function onScroll(){
144      var getPageYOffset = function getPageYOffset() { return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;};
145      if(getPageYOffset()>=stop) {
146        stickyElem.style.position = "fixed";
147        stickyElem.style.top = "0";
148        stickyElem.style.background = "#ffffff";
149        stickyElem.style.zIndex = "99999";
150      } else {
151        stickyElem.style.position = "relative";
152        stickyElem.style.top = "initial";
153        stickyElem.style.background = "#eaeaea";
154        stickyElem.style.zIndex = "9999";
155      }
156}
157
158    var  stickyElem = document.querySelector("#adTopBox"),
159    stop      = stickyElem.offsetHeight,
160    docBody   = document.documentElement || document.body.parentNode || document.body,
161    hasOffset = window.pageYOffset !== undefined,
162    scrollTop;
163
164    if (window.innerWidth < 1060) {
165           document.body.style.overflowX = "clip";
166           $(document.body).on('touchmove',onScroll);
167           $(window).on('scroll',onScroll);
168    }
169</script>
169<link rel="stylesheet" type="text/css" media="all" href="https://www.olomouc.cz/css/navbar.css?4" />
170<nav class="modern-navbar" aria-label="Hlavní navigace">
171    <input type="checkbox" id="mobile-toggle" class="mobile-toggle-cb">
172    <div class="modern-navbar-container">
173        <div class="modern-navbar-logo">
174            <a href="https://www.olomouc.cz/">
175                <img class="logo-main" src="https://www.olomouc.cz/images/logo_bile.svg" alt="Olomouc.cz">
176                <img class="logo-sticky" src="https://www.olomouc.cz/images/logo_bar.png" alt="Olomouc.cz">
177            </a>
178        </div>
179        <div class="modern-navbar-center">
180            <div class="modern-navbar-date">
181                <p class="datum"><strong>Pátek 2. října 2026</strong><i>,</i> <span>svátek má <em>Olívie</em>
182                    <svg class="weather-icon" viewBox="0 0 24 24"><path d="M15 13V5c0-1.66-1.34-3-3-3S9 3.34 9 5v8c-1.21.91-2 2.37-2 4 0 2.76 2.24 5 5 5s5-2.24 5-5c0-1.63-.79-3.09-2-4zm-4-8c0-.55.45-1 1-1s1 .45 1 1v3h-2V5z"/></svg>
183                     <em> 19.9 °C</em></span></p>
184            </div>
185            <ul class="modern-navbar-menu" id="priority-menu">
186                <li class="modern-navbar-item reusable-dropdown">
187                    <button type="button" class="modern-navbar-link reusable-dropdown-toggle" aria-haspopup="true" aria-expanded="false">Zprávy</button>
188                    <ul class="reusable-dropdown-menu">
189                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/zpravy/" class="modern-navbar-link">Nové zprávy</a></li>
190                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/zpravy/publicistika" class="modern-navbar-link">Rozhovory</a></li>
191                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/zpravy/kultura" class="modern-navbar-link">Kultura</a></li>
192                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/zpravy/sport" class="modern-navbar-link">Sport</a></li>
193                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/#nejctenejsi" class="modern-navbar-link">Nejčtenější články</a></li>
194                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/pocasi" class="modern-navbar-link">Počasí</a></li>
195                    </ul>
196                </li>
197                <li class="modern-navbar-item"><a href="https://www.olomouc.cz/katalog" class="modern-navbar-link">Katalog firem</a></li>
198                <li class="modern-navbar-item reusable-dropdown">
199                    <button type="button" class="modern-navbar-link reusable-dropdown-toggle" aria-haspopup="true" aria-expanded="false">Denní menu</button>
200                    <ul class="reusable-dropdown-menu">
201                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/poledni-menu" class="modern-navbar-link">Polední menu</a></li>
202                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/snidane" class="modern-navbar-link">Snídaně</a></li>
203                    </ul>
204                </li>
205                <li class="modern-navbar-item"><a href="https://www.olomouc.cz/akce-kalendar" class="modern-navbar-link">Kalendář akcí</a></li>
206                <li class="modern-navbar-item reusable-dropdown">
207                    <button type="button" class="modern-navbar-link reusable-dropdown-toggle" aria-haspopup="true" aria-expanded="false">Rubriky</button>
208                    <ul class="reusable-dropdown-menu">
209                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/gastronomie" class="modern-navbar-link">Gastronomie</a></li>
210                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/kdo-je-kdo" class="modern-navbar-link">Kdo je kdo</a></li>
211                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/bydleni" class="modern-navbar-link">Bydlení</a></li>
212                        <li class="modern-navbar-item"><a href="https://www.olomouc.cz/liga-uspesnych" class="modern-navbar-link">Liga úspěšných</a></li>
213                    </ul>
214                </li>
215                <li class="modern-navbar-item"><a href="https://www.olomouc.cz/kamera" class="modern-navbar-link">Kamera</a></li>
216                <li class="modern-navbar-item"><a href="https://www.olomouc.cz/kontakty" class="modern-navbar-link">Kontakty</a></li>
217                <li class="modern-navbar-item reusable-dropdown" id="priority-more" style="display: none;">
218                    <button type="button" class="modern-navbar-link reusable-dropdown-toggle" aria-haspopup="true" aria-expanded="false">Další</button>
219                    <ul class="reusable-dropdown-menu" id="priority-dropdown">
220                    </ul>
221                </li>
222            </ul>
223        </div>
224        <div class="site-search-component">
225            <input type="checkbox" id="site-search-toggle" class="site-search-toggle-cb">
226            <button type="button" class="site-search-btn" aria-expanded="false" aria-controls="site-search-box" aria-label="Otevřít vyhledávání">
227                <svg viewBox="0 0 24 24" class="site-search-icon">
228                    <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>
229                </svg>
230            </button>
231            <div class="site-search-dropdown" id="site-search-box">
232                <form action="https://www.olomouc.cz/hledat" method="get" class="site-search-form">
233                    <input type="text" name="q" placeholder="Hledat..." class="site-search-input" required>
234                    <button type="submit" class="site-search-submit-btn">Hledat</button>
235                </form>
236            </div>
237        </div>
238        <button type="button" class="mobile-hamburger-btn" aria-expanded="false" aria-controls="priority-menu" aria-label="Otevřít menu">
239            <span></span>
240            <span></span>
241            <span></span>
242        </button>
243    </div>
244</nav>
245<div class="navbar-placeholder"></div>
246</div></header>
246<script>
247/* ==========================================================================
248   NAVIGAČNÍ LIŠTA OLOMOUC.CZ – menu.js
249   Párový soubor: navbar.css (vzhled, design tokeny, breakpoint).
250
251   CO TENTO SKRIPT DĚLÁ:
252   1. Priority+ menu – položky, které se nevejdou do lišty, přesouvá do „Další".
253   2. Přesuny prvků mezi desktopem a mobilem (řádek s datem, vyhledávání).
254   3. Sticky lištu (třída navbar-is-sticky na <body> + výška placeholderu).
255   4. Rozbalování pod-menu a vyhledávání včetně ovládání klávesnicí.
256   5. Mobilní menu: zámek scrollu, inert pro obsah stránky, správa fokusu.
257
258   ARCHITEKTONICKÉ INVARIANTY (neporušovat při úpravách):
259   • Breakpoint mobil/desktop existuje JEN v navbar.css (--navbar-mode);
260     tento skript ho výhradně čte přes isMobile(). Nikdy sem nepsat
261     window.innerWidth <= 768 apod.
262   • V update() musí přesuny prvků (positionDateRow, positionSearch)
263     proběhnout PŘED adaptMenu() – měření menu předpokládá, že v něm
264     na desktopu není vyhledávací formulář.
265   • Otevřené stavy vyhledávání a mobilního menu nesou checkboxy v HTML
266     (#site-search-toggle, #mobile-toggle); CSS na ně reaguje přes :checked.
267     Checkboxy přepíná VÝHRADNĚ tento skript (tlačítka lupy a hamburgeru,
268     closeSearch, closeMobileMenu) – každé přepnutí musí projít funkcemi,
269     které provedou i doprovodné efekty (aria, fokus, scroll, inert).
270
271   PODPORA PROHLÍŽEČŮ: aktuální evergreen (ResizeObserver, optional
272   chaining, atribut inert – vše základna od roku 2022).
273   ========================================================================== */
274
275document.addEventListener('DOMContentLoaded', function () {
276
277    // --- Reference na prvky (jednou, na jednom místě) ---
278    const menu        = document.getElementById('priority-menu');
279    const moreLi      = document.getElementById('priority-more');
280    const dropdown    = document.getElementById('priority-dropdown');
281    const navbar      = document.querySelector('.modern-navbar');
282    const headerEl    = navbar ? (navbar.closest('header') || navbar.parentElement) : null;
283    const placeholder = document.querySelector('.navbar-placeholder');
284    const dateRow     = document.querySelector('.modern-navbar-date');
285    const centerCol   = document.querySelector('.modern-navbar-center');
286    const searchForm  = document.querySelector('.site-search-form');
287    const searchHome  = document.querySelector('.site-search-dropdown');
288    const searchInput = document.querySelector('.site-search-input');
289    const searchCb    = document.getElementById('site-search-toggle');
290    const searchBtn   = document.querySelector('.site-search-btn');
291    const mobileCb    = document.getElementById('mobile-toggle');
292    const hamburger   = document.querySelector('.mobile-hamburger-btn');
293
294    if (!menu || !moreLi || !dropdown || !navbar) return;
295
296    // Režim lišty se čte z CSS – jediný zdroj pravdy pro breakpoint.
297    function isMobile() {
298        return getComputedStyle(document.documentElement)
299            .getPropertyValue('--navbar-mode').trim() === 'mobile';
300    }
301
302    /* ======================================================================
303       1. PRIORITY+ MENU
304       Princip: šířky položek se změří jedním průchodem a bod řezu se
305       spočítá aritmeticky. Používají se subpixelové šířky
306       (getBoundingClientRect) – celočíselný offsetWidth by po sečtení
307       sedmi položek nadhodnotil potřebné místo až o ~8 px.
308       ====================================================================== */
309
310    // Cache hodnot stálých za běhu; invaliduje se po načtení webfontů.
311    let cacheMenuGap = null;   // mezera mezi položkami (--menu-gap)
312    let cacheMoreW   = null;   // šířka tlačítka „Další"
313
314    function resetMenu() {
315        // Vrátí položky z „Další" zpět do lišty; pořadí zůstává zachované.
316        while (dropdown.children.length > 0) {
317            menu.insertBefore(dropdown.firstElementChild, moreLi);
318        }
319        // Přepínače vrácené do lišty jsou zase plnohodnotná tlačítka.
320        menu.querySelectorAll('.reusable-dropdown-toggle[tabindex="-1"]').forEach(t => {
321            t.removeAttribute('tabindex');
322            t.removeAttribute('aria-hidden');
323        });
324    }
325
326    // Přepínač kategorie přesunuté do „Další" se v CSS mění na neklikací
327    // nadpis skupiny (pointer-events: none). To ale platí jen pro myš –
328    // z pořadí tabulátoru a od čteček ho odstraňují tyto atributy.
329    function demoteTogglesInDropdown() {
330        dropdown.querySelectorAll('.reusable-dropdown-toggle').forEach(t => {
331            t.setAttribute('tabindex', '-1');
332            t.setAttribute('aria-hidden', 'true');
333        });
334    }
335
336    function adaptMenu() {
337        // Na mobilu priority+ neběží – kompletní menu zobrazuje hamburger.
338        if (isMobile()) {
339            resetMenu();
340            moreLi.style.display = 'none';
341            return;
342        }
343
344        resetMenu();
345        moreLi.style.display = 'none';
346
347        if (cacheMenuGap === null) {
348            cacheMenuGap = parseFloat(getComputedStyle(menu).columnGap
348) || 0;
349        }
350        const items     = Array.from(menu.children)
351            .filter(ch => ch !== moreLi && ch.tagName === 'LI');
352        const widths    = items.map(li => li.getBoundingClientRect().width);
353        const available = menu.getBoundingClientRect().width;
354
355        // Vejde se všechno? „Další" zůstává skrytá.
356        const gaps  = cacheMenuGap * Math.max(items.length - 1, 0);
357        const total = widths.reduce((a, b) => a + b, 0) + gaps;
358        if (total <= available) return;
359
360        // Nevejde se: změřit „Další" (jen poprvé) a spočítat bod řezu.
361        if (cacheMoreW === null) {
362            moreLi.style.visibility = 'hidden'; // změření bez bliknutí
363            moreLi.style.display = 'flex';
364            cacheMoreW = moreLi.getBoundingClientRect().width;
365            moreLi.style.visibility = '';
366        } else {
367            moreLi.style.display = 'flex';
368        }
369
370        const SLACK = 1; // rezerva proti kmitání na hraně přesného vejití
371        let used = cacheMoreW;
372        let fits = 0;
373        for (let i = 0; i < items.length; i++) {
374            const next = used + cacheMenuGap + widths[i];
375            if (next <= available - SLACK) { used = next; fits++; }
376            else break;
377        }
378
379        // Přebytek do „Další" – odzadu, aby pořadí zůstalo zachované.
380        for (let i = items.length - 1; i >= fits; i--) {
381            dropdown.prepend(items[i]);
382        }
383
384        if (dropdown.children.length === 0) {
385            moreLi.style.display = 'none';
386        }
387        demoteTogglesInDropdown();
388    }
389
390    /* ======================================================================
391       2. PŘESUNY PRVKŮ MEZI DESKTOPEM A MOBILEM
392       Na mobilu: řádek s datem pod lištu, vyhledávací formulář do menu.
393       Na desktopu obojí zpět na původní místo.
394       ====================================================================== */
395
396    function positionDateRow() {
397        if (!dateRow || !centerCol) return;
398        if (isMobile()) {
399            if (navbar.contains(dateRow)) navbar.after(dateRow);
400        } else {
401            if (!centerCol.contains(dateRow)) centerCol.prepend(dateRow);
402        }
403    }
404
405    function positionSearch() {
406        if (!searchForm || !searchHome) return;
407        if (isMobile()) {
408            if (!menu.contains(searchForm)) menu.prepend(searchForm);
409        } else {
410            if (!searchHome.contains(searchForm)) searchHome.prepend(searchForm);
411        }
412    }
413
414    /* ======================================================================
415       3. HLAVNÍ AKTUALIZACE + POZOROVÁNÍ ZMĚN ŠÍŘKY
416       ResizeObserver na prostředním sloupci reaguje na jakoukoli změnu
417       jeho šířky (okno, breakpointy starého webu, zobrazení scrollbaru).
418       Načtení webfontů šířku sloupce nezmění, ale změní šířky textů –
419       proto samostatné přeměření přes document.fonts.ready.
420       ====================================================================== */
421
422    function update() {
423        // INVARIANT: přesuny prvků před měřením menu (viz hlavička souboru).
424        positionDateRow();
425        positionSearch();
426
427        // Návrat z mobilu s otevřeným menu: zavřít a uklidit (scroll, inert).
428        if (!isMobile() && mobileCb && mobileCb.checked) {
429            closeMobileMenu({ returnFocus: false });
430        }
431
432        adaptMenu();
433        stickyTrigger = null; // výška obsahu nad lištou se mohla změnit
434    }
435
436    let lastW = -1;
437    new ResizeObserver(entries => {
438        const w = Math.round(entries[0].contentRect.width);
439        if (w === lastW) return; // ochrana proti smyčce z vlastních přesunů
440        lastW = w;
441        update();
442    }).observe(centerCol);
443
444    if (document.fonts && document.fonts.ready) {
445        document.fonts.ready.then(function () {
446            cacheMenuGap = null;
447            cacheMoreW   = null;
448            adaptMenu();
449        });
450    }
451
452    /* ======================================================================
453       4. STICKY LIÅ TA
454       Bod přepnutí se počítá v souřadnicích dokumentu a líně: dokud lišta
455       není přilepená, čte se z její skutečné pozice; po přilepení drží
456       poslední hodnotu (v toku ji zastupuje placeholder). Placeholder
457       dostává přesnou výšku lišty inline – výška je proměnlivá kvůli
458       zalamování nápisu s datem.
459       ====================================================================== */
460
461    let stickyTrigger = null;
462
463    function setSticky(on) {
464        const was = document.body.classList.contains('navbar-is-sticky');
465        if (on === was) return;
466        if (on) {
467            if (placeholder) {
468                placeholder.style.height = navbar.getBoundingClientRect().height + 'px';
469            }
470            document.body.classList.add('navbar-is-sticky');
471        } else {
472            document.body.classList.remove('navbar-is-sticky');
473            if (placeholder) placeholder.style.height = '';
474        }
475    }
476
477    function handleStickyNav() {
478        if (isMobile()) {
479            setSticky(false);
480            stickyTrigger = null;
481            return;
482        }
483        const stuck = document.body.classList.contains('navbar-is-sticky');
484        if (!stuck) {
485            // Lišta je v toku dokumentu – pozice platí.
486            stickyTrigger = navbar.getBoundingClientRect().top + window.pageYOffset;
487        } else if (stickyTrigger === null && placeholder) {
488            // Obnova po resize ve sticky stavu – místo lišty drží placeholder.
489            stickyTrigger = placeholder.getBoundingClientRect().top + window.pageYOffset;
490        }
491        setSticky(window.pageYOffset > (stickyTrigger || 0));
492    }
493
494    window.addEventListener('scroll', handleStickyNav, { passive: true });
495
496    /* ======================================================================
497       5. ROZBALOVACÍ POD-MENU
498       ====================================================================== */
499    function closeAllDropdowns() {
500        menu.querySelectorAll('.reusable-dropdown.is-open').forEach(dd => {
501            dd.classList.remove('is-open');
502            dd.querySelector('.reusable-dropdown-toggle')
503                ?.setAttribute('aria-expanded', 'false');
504        });
505    }
506
507    // Klikací chování – aktivní pouze v mobilním režimu
508    menu.querySelectorAll('.reusable-dropdown-toggle').forEach(toggle => {
509        toggle.addEventListener('click', function (event) {
510            if (!isMobile()) return; // Na desktopu potlačeno, řízeno hoverem
511            event.stopPropagation();
512            const item = this.closest('.reusable-dropdown');
513            const wasOpen = item.classList.contains('is-open');
514            closeAllDropdowns();
515            if (!wasOpen) {
516                item.classList.add('is-open');
517                this.setAttribute('aria-expanded', 'true');
518            }
519        });
520    });
521
522    // Hover chování – aktivní pouze v desktopovém režimu (využívá isMobile())
523    menu.querySelectorAll('.reusable-dropdown').forEach(item => {
524        const toggle = item.querySelector('.reusable-dropdown-toggle');
525
526        item.addEventListener('mouseenter', function () {
527            if (isMobile()) return;
528            item.classList.add('is-open');
529            toggle?.setAttribute('aria-expanded', 'true');
530        });
531
532        item.addEventListener('mouseleave', function () {
533            if (isMobile()) return;
534            item.classList.remove('is-open');
535            toggle?.setAttribute('aria-expanded', 'false');
536        });
537    });
538    
539    /* ======================================================================
540       6. VYHLEDÁVÁNÍ
541       Otevřený stav nese checkbox (CSS přes :checked zobrazuje box);
542       přepíná ho tlačítko lupy. Skript doplňuje aria stavy a fokus:
543       do pole po otevření, zpět na lupu po zavření Escapem.
544       ====================================================================== */
545
546    function syncSearchState() {
547        const open = !!(searchCb && searchCb.checked);
548        if (searchBtn) {
549            searchBtn.setAttribute('aria-expanded', String(open));
550            searchBtn.setAttribute('aria-label',
551                open ? 'Zavřít vyhledávání' : 'Otevřít vyhledávání');
552        }
553        if (open && searchInput) searchInput.focus();
554    }
555
556    function closeSearch(returnFocus) {
557        if (!searchCb || !searchCb.checked) return;
558        searchCb.checked = false;
559        syncSearchState();
560        if (returnFocus) searchBtn?.focus();
561    }
562
563    if (searchBtn && searchCb) {
564        // Lupa je <button> – Enter i mezerník aktivují click nativně.
565        searchBtn.addEventListener('click', function () {
566            searchCb.checked = !searchCb.checked;
567            syncSearchState();
568        });
569    }
570
571    /* ======================================================================
572       7. MOBILNÍ MENU
573       Otevřené menu je modální: stránka pod ním nescrolluje a je inert
574       (mimo dosah klávesnice i čtečky). inert dostávají přímí potomci
575       <body> KROMĚ hlavičky s lištou – nikdy ne předek menu či hamburgeru.
576
577       Cesty zavření (všechny musí uklidit scroll + inert + fokus):
578       • hamburger (click),
579       • Escape,
580       • klik na odkaz v menu,
581       • přechod z mobilu na desktop (řeší update()).
582       ====================================================================== */
583
584    let inertElements = [];
585    let savedInertStates = new Map();
586    let savedBodyOverflow = '';
587
588    function setPageInert(on) {
589        if (on) {
590            // Průchod od navigace nahoru k <body>: na každé úrovni se
591            // zneaktivní všichni sourozenci větve, která navigaci obsahuje.
592            // Nezávisí to na konkrétní struktuře stránky (na produkci 
592je
593            // vše zabalené v jediném <main>, jehož přímé zneaktivnění by
594            // vypnulo i samotné menu). Původní hodnoty inert se ukládají,
595            // aby se nezrušil stav nastavený případným jiným skriptem.
596            inertElements = [];
597            savedInertStates.clear();
598            let branch = navbar;
599            while (branch && branch !== document.body && branch.parentElement) {
600                const parent = branch.parentElement;
601                for (const el of parent.children) {
602                    if (el === branch) continue;
603                    if (['SCRIPT', 'STYLE', 'LINK', 'TEMPLATE'].includes(el.tagName)) continue;
604                    savedInertStates.set(el, el.inert);
605                    el.inert = true;
606                    inertElements.push(el);
607                }
608                branch = parent;
609            }
610        } else {
611            inertElements.forEach(el => { el.inert = savedInertStates.get(el) || false; });
612            inertElements = [];
613            savedInertStates.clear();
614        }
615    }
616
617    function syncHamburger(open) {
618        if (!hamburger) return;
619        hamburger.setAttribute('aria-expanded', String(open));
620        hamburger.setAttribute('aria-label', open ? 'Zavřít menu' : 'Otevřít menu');
621    }
622
623    function openMobileMenuSideEffects() {
624        savedBodyOverflow = document.body.style.overflow;
625        document.body.style.overflow = 'hidden';
626        setPageInert(true);
627        syncHamburger(true);
628    }
629
630    function closeMobileMenuSideEffects() {
631        document.body.style.overflow = savedBodyOverflow;
632        savedBodyOverflow = '';
633        setPageInert(false);
634        syncHamburger(false);
635    }
636
637    // Jediné místo, kudy se mobilní menu zavírá programově.
638    function closeMobileMenu({ returnFocus = true } = {}) {
639        if (!mobileCb || !mobileCb.checked) return;
640        mobileCb.checked = false;
641        closeMobileMenuSideEffects();
642        if (returnFocus) hamburger?.focus();
643    }
644
645    if (hamburger && mobileCb) {
646        // Hamburger je <button> – Enter i mezerník aktivují click nativně.
647        hamburger.addEventListener('click', function () {
648            const open = !mobileCb.checked;
649            mobileCb.checked = open;
650            if (open) openMobileMenuSideEffects();
651            else closeMobileMenuSideEffects();
652        });
653    }
654
655    if (mobileCb) {
656        // Klik na odkaz v menu = navigace; menu se zavírá bez vracení fokusu.
657        menu.addEventListener('click', function (event) {
658            if (event.target.closest('a[href]') && mobileCb.checked) {
659                closeMobileMenu({ returnFocus: false });
660            }
661        });
662    }
663
664    /* ======================================================================
665       8. GLOBÁLNÍ ZAVÍRÁNÍ: klik mimo a Escape
666       ====================================================================== */
667
668    document.addEventListener('click', function (event) {
669        if (!event.target.closest('.reusable-dropdown')) closeAllDropdowns();
670        if (!event.target.closest('.site-search-component')) closeSearch(false);
671    });
672
673    document.addEventListener('keydown', function (event) {
674        if (event.key !== 'Escape') return;
675        closeAllDropdowns();
676        closeSearch(true);      // fokus zpět na lupu
677        closeMobileMenu();      // fokus zpět na hamburger
678    });
679
680    /* ======================================================================
681       9. LOGO V MOBILNÍM MENU
682       Vkládá se skriptem, aby v desktopovém DOM nebylo duplicitní logo.
683       ====================================================================== */
684
685    (function setupMobileMenuLogo() {
686        if (menu.querySelector('.mobile-menu-logo')) return;
687        const box  = document.createElement('div');
688        box.className = 'mobile-menu-logo';
689        const link = document.createElement('a');
690        link.href = '/';
691        const img  = document.createElement('img');
692        img.src = 'images/logo_bile.svg';
693        img.alt = 'Olomouc.cz logo';
694        link.appendChild(img);
695        box.appendChild(link);
696        menu.prepend(box);
697    })();
698
699    /* ======================================================================
700       INICIALIZACE
701       ResizeObserver doběhne asynchronně; přímé volání kryje první
702       vykreslení, aby menu nebylo ani okamžik v nespočítaném stavu.
703       ====================================================================== */
704
705    update();
706    handleStickyNav();
707    syncSearchState();
708});
709</script>
709<div class="container pos-rel">
710<div class="container-middle cart-wrap-middle" id="container-height">
711<h2 class="nadpis-cerveny">Zprávy: Kultura</h2>
712<div class="center"><button type="button" class="button zobraz">Zobrazit filtrování</button><ul class="filtr"><li><a href="https://www.olomouc.cz/zpravy/">Vše</a></li><li><a href="https://www.olomouc.cz/zpravy/zpravy-z-regionu">Z regionu</a></li><li class="active"><a href="https://www.olomouc.cz/zpravy/kultura">Kultura</a></li><li><a href="https://www.olomouc.cz/zpravy/sport">Sport</a></li><li><a href="https://www.olomouc.cz/zpravy/krimi">Krimi</a></li><li><a href="https://www.olomouc.cz/zpravy/tipy-a-nazory">Tipy a názory</a></li><li><a href="https://www.olomouc.cz/video">Video</a></li></ul></div>
713<section class="articles">
714<div class="sedy-nadpis"><h2>Aktuálně: Kultura</h2></div>
715<div class="row">
716<a href="https://www.olomouc.cz/zpravy/clanek/Divadlo-Tramtarie-uvede-Carodejky-z-Lipniku-Nekorektni-komedii-o-muzich-zenach-a-nasich-nejtajnejsich-pranich-39444" class="middle"><span class="oblast">Kultura</span><img src="https://www.olomouc.cz/images/zpravy/ikony/1790857104_hm8wjgrc1j.jpg" alt="" /><p>1.10.2026</p><h3>Divadlo Tramtarie uvede Čarodějky z&nbsp;Lipníku. Nekorektní komedii o&nbsp;mužích, ženách a&nbsp;našich nejtajnějších přáních</h3></a>
717<a href="https://www.olomouc.cz/zpravy/clanek/Moravske-divadlo-uvede-Hedu-Gablerovou-Ibsenova-klasika-ukazuje-kam-az-muze-vest-neuprosny-tlak-okoli-39440" class="middle"><span class="oblast">Kultura</span><img src="https://www.olomouc.cz/images/zpravy/ikony/1790826424_fr5bo3exgk.jpg" alt="" /><p>1.10.2026</p><h3>Moravské divadlo uvede Hedu Gablerovou. Ibsenova klasika ukazuje, kam&nbsp;až&nbsp;může vést neúprosný tlak okolí</h3></a>
718<a href="https://www.olomouc.cz/zpravy/clanek/Jazz-Tibet-Club-ceka-nabity-podzim-Dorazi-Klara-Vytiskova-Katarzia-i-Buty-39437" class="middle"><span class="oblast">Kultura</span><img src="https://www.olomouc.cz/images/zpravy/ikony/1790764847_ct4hkuiu6b.jpg" alt="" /><p>30.9.2026</p><h3>Jazz Tibet Club čeká nabitý podzim. Dorazí Klára Vytisková, Katarzia i&nbsp;Buty</h3></a>
719<a href="https://www.olomouc.cz/zpravy/clanek/Barokni-dialog-v-Katedrale-sv-Vaclava-Ensemble-Inegal-se-s-programem-k-vyroci-A-V-Michny-vraci-do-Olomouce-39433" class="middle"><span class="oblast">Kultura</span><img src="https://www.olomouc.cz/images/zpravy/ikony/1790601990_xsx6nrtgni.jpg" alt="" /><p>28.9.2026</p><h3>Barokní dialog v&nbsp;Katedrále sv.&nbsp;Václava: Ensemble Inégal se&nbsp;s&nbsp;programem k&nbsp;výročí A.&nbsp;V.&nbsp;Michny vrací do&nbsp;Olomouce</h3></a>
720</div>
721</section>
722  <section class="dalsi-clanky center mt40">
723<div class="sedy-nadpis"><h2>Další články: Kultura</h2></div>
724<div class="row">
725<div class="clanek"><div class="box-image"><a href="https://www.olomouc.cz/zpravy/clanek/Ctyri-podoby-duchovni-hudby-od-bolesti-a-zarmutku-pres-radost-a-energii-az-k-osobni-modlitbe-39424"><img src="https://www.olomouc.cz/images/zpravy/ikony/1790325361_r4ctbgk5y1.jpg" width="195" alt="" /></a></div><div class="bleskovka-content"><h3><a href="https://www.olomouc.cz/zpravy/clanek/Ctyri-podoby-duchovni-hudby-od-bolesti-a-zarmutku-pres-radost-a-energii-az-k-osobni-modlitbe-39424">Čtyři podoby duchovní hudby: od bolesti a zármutku přes radost a energii až k osobní modlitbě</a></h3><a href="https://www.olomouc.cz/zpravy/kultura" class="oblast-seda">Kultura</a><p>25.9.2026</p></div></div>
726<div class="clanek"><div class="box-image"><a href="https://www.olomouc.cz/zpravy/clanek/Filharmonie-v-nove-sezone-nabidne-monumentalni-dila-renomovane-interprety-i-atraktivni-programy-39415"><img src="https://www.olomouc.cz/images/zpravy/ikony/1790165992_ebvy7y8a2g.jpg" width="195" alt="" /></a></div><div class="bleskovka-content"><h3><a href="https://www.olomouc.cz/zpravy/clanek/Filharmonie-v-nove-sezone-nabidne-monumentalni-dila-renomovane-interprety-i-atraktivni-programy-39415">Filharmonie v nové sezoně nabídne monumentální díla, renomované interprety i atraktivní programy</a></h3><a href="https://www.olomouc.cz/zpravy/kultura" class="oblast-seda">Kultura</a><p>23.9.2026</p></div></div>
727<div class="clanek"><div class="box-image"><a href="https://www.olomouc.cz/zpravy/clanek/Klara-Jelinkova-Pohyb-je-pro-me-prostrednikem-mezi-tichem-a-energ
727ii-39411"><img src="https://www.olomouc.cz/images/zpravy/ikony/1790051439_ynhyg81t4d.jpg" width="195" alt="" /></a></div><div class="bleskovka-content"><h3><a href="https://www.olomouc.cz/zpravy/clanek/Klara-Jelinkova-Pohyb-je-pro-me-prostrednikem-mezi-tichem-a-energii-39411">Klára Jelínková: Pohyb je pro mě prostředníkem mezi tichem a energií</a></h3><a href="https://www.olomouc.cz/zpravy/kultura" class="oblast-seda">Kultura</a><p>22.9.2026</p></div></div>
728<div class="clanek"><div class="box-image"><a href="https://www.olomouc.cz/zpravy/clanek/Mezi-pameti-radosti-a-rytmem-Zahajovaci-koncert-Podzimniho-festivalu-duchovni-hudby-spojil-tri-hudebni-svety-39409"><img src="https://www.olomouc.cz/images/zpravy/ikony/1789998190_srq3bm8vf7.jpg" width="195" alt="" /></a></div><div class="bleskovka-content"><h3><a href="https://www.olomouc.cz/zpravy/clanek/Mezi-pameti-radosti-a-rytmem-Zahajovaci-koncert-Podzimniho-festivalu-duchovni-hudby-spojil-tri-hudebni-svety-39409">Mezi pamětí, radostí a rytmem. Zahajovací koncert Podzimního festivalu duchovní hudby spojil tři hudební světy</a></h3><a href="https://www.olomouc.cz/zpravy/kultura" class="oblast-seda">Kultura</a><p>21.9.2026</p></div></div>
729<div class="clanek"><div class="box-image"><a href="https://www.olomouc.cz/zpravy/clanek/Vlastivedne-muzeum-ozije-hudbou-remeslnym-jarmarkem-i-ohnivou-show-39392"><img src="https://www.olomouc.cz/images/zpravy/ikony/1789619347_c6usv8notp.jpg" width="195" alt="" /></a></div><div class="bleskovka-content"><h3><a href="https://www.olomouc.cz/zpravy/clanek/Vlastivedne-muzeum-ozije-hudbou-remeslnym-jarmarkem-i-ohnivou-show-39392">Vlastivědné muzeum ožije hudbou, řemeslným jarmarkem i ohnivou show</a></h3><a href="https://www.olomouc.cz/zpravy/kultura" class="oblast-seda">Kultura</a><p>17.9.2026</p></div></div>
730<div class="clanek"><div class="box-image"><a href="https://www.olomouc.cz/zpravy/clanek/Divadelni-Flora-zve-na-podzimni-Epilog-29DF-39374"><img src="https://www.olomouc.cz/images/zpravy/ikony/1789134594_fcb144fi7s.jpg" width="195" alt="" /></a></div><div class="bleskovka-content"><h3><a href="https://www.olomouc.cz/zpravy/clanek/Divadelni-Flora-zve-na-podzimni-Epilog-29DF-39374">Podzimní Epilog Divadelní Flory přiveze do Olomouce Laternu magiku i Divadlo LETÍ</a></h3><a href="https://www.olomouc.cz/zpravy/kultura" class="oblast-seda">Kultura</a><p>12.9.2026</p></div></div>
731<div class="clanek"><div class="box-image"><a href="https://www.olomouc.cz/zpravy/clanek/Baletni-studio-pri-Moravskem-divadle-uvede-pohadku-Kraska-a-zvire-Premiera-pomuze-rodinam-hospitalizovanych-deti-39370"><img src="https://www.olomouc.cz/images/zpravy/ikony/1789024957_5id8ehozoo.jpg" width="195" alt="" /></a></div><div class="bleskovka-content"><h3><a href="https://www.olomouc.cz/zpravy/clanek/Baletni-studio-pri-Moravskem-divadle-uvede-pohadku-Kraska-a-zvire-Premiera-pomuze-rodinam-hospitalizovanych-deti-39370">Baletní studio při Moravském divadle uvede pohádku Kráska a zvíře. Premiéra pomůže rodinám hospitalizovaných dětí</a></h3><a href="https://www.olomouc.cz/zpravy/kultura" class="oblast-seda">Kultura</a><p>10.9.2026</p></div></div>
732<div class="clanek"><div class="box-image"><a href="https://www.olomouc.cz/zpravy/clanek/Tramtarie-zahaji-posledni-sezonu-ve-Slovanskem-dome-dvema-novinkami-V-lednu-se-prestehuje-do-Hanackych-kasaren-39366"><img src="https://www.olomouc.cz/images/zpravy/ikony/1788956346_pkgqcdnx2y.jpg" width="195" alt="" /></a></div><div class="bleskovka-content"><h3><a href="https://www.olomouc.cz/zpravy/clanek/Tramtarie-zahaji-posledni-sezonu-ve-Slovanskem-dome-dvema-novinkami-V-lednu-se-prestehuje-do-Hanackych-kasaren-39366">Divadlo Tramtarie zahájí poslední sezonu ve Slovanském domě. V lednu se přestěhuje do Hanáckých kasáren</a></h3><a href="https://www.olomouc.cz/zpravy/kultura" class="oblast-seda">Kultura</a><p>9.9.2026</p></div></div>
733</div>
734<script type="text/javascript" language="javascript">
735var clankyPage = 1;
736var rpage = "zpravy";
737</script>
737
738<div id="dalsiClanky"></div>
739<div id="ajaxBoxDalsi"></div>
740<a href="https://www.olomouc.cz/zpravy/2" onclick="nacistDalsiClanky('kultura'); if ($(window).width() > 1050) {incHeight()}; return false;" class="button cerne mb50">Zobrazit další články</a> 
741</section>
742</div>
743<aside class="fixni2">
744<div id="jsad_pozice_105" class="sideAdBox3"></div>
745<script type="text/javascript">ADSystem.load()</script>
745
746</aside>
747</div>
748</div>
749<footer>
750<hr />
751<div class="container">
752<div class="odkazy">
753<p>Najdete nás také na</p>
754<a target="_blank" href="https://www.facebook.com/olomouc.cz/"><img src="https://www.olomouc.cz/images/icons/facebook.svg" alt="FACEBOOK" /></a>
755<a target="_blank" href="https://www.instagram.com/olomouc.cz/"><img src="https://www.olomouc.cz/images/icons/instagram.svg" alt="INSTAGRAM" /></a>
756</div>
757<ul>
758<li><a href="https://www.olomouc.cz/zpravy"></a></li>
759<li><a href="https://www.olomouc.cz/katalog"></a></li>
760<li><a href="https://www.olomouc.cz/denni-menu"></a></li>
761<li><a href="https://www.olomouc.cz/akce-kalendar"></a></li>
762<li><a href="https://www.olomouc.cz/rubriky"></a></li>
763<li><a href="https://www.olomouc.cz/kamera"></a></li>
764<li><a href="https://www.olomouc.cz/kontakty"></a></li>
765</ul>
766</div>
767<div class="copyright">
768<div class="container">
769<a class="button" href="https://login.szn.cz/?returnURL=https%3a%2f%2femail.seznam.cz%2f&serviceId=email" target="_blank">E-mail: přihlášení</a>
770<p>© 1997-2026 NEJLEPŠÍ ADRESA a.s. Všechna práva vyhrazena.</p>
771</div>
772</div>
773</footer>
774<script>
775function checkSize(){
776if ($(window).width() < 1060) {
777$(".lupa-devices").prependTo("nav");
778$(".next-menu").appendTo("nav");
779}
780else {
781$(".next-menu").appendTo(".borderwitharrow");
782$(".searching").animate({width:'hide'});
783$("nav").fadeIn(200);
784if($("#spinner-form-small").is(":checked")) $("#spinner-form-small").prop("checked", false);
785}
786};
787checkSize();
788$(window).resize(checkSize);
789$('html').click(function() {
790$(".submenu").hide();
791if ($(window).width() > 1060) $(".searching").animate({width:'hide'});
792$(".overlay").hide();
793});
794$(document).ready(function() {
795$('#spinner-form-small').click(function() {
796$('.borderwitharrow').toggle();
797});
798});
799$(document).ready(
800function(event) {
801$(".search").click(function(event){
802$(this).toggleClass("open");
803event.stopPropagation();
804$(".searching input").click(function(event){
805event.stopPropagation();
806});
807$(".searching").animate({width:'toggle'});
808});
809});
810$(".search-empty").submit(function() {
811var requiredFailed = true;
812$(".search-empty input:text").each(function() {
813if ($.trim($(this).val()).length == 0) {
814requiredFailed = false;
815return false;
816}
817});
818return requiredFailed;
819});
820$(window).scroll(function(){
821var scroll = $(window).scrollTop();
822if ($(window).width() > 1060) {
823var sticky = $('.sticky');
824if (scroll >= 440) sticky.addClass('fixed');
825else sticky.removeClass('fixed');
826};
827if($('.pageAlert').length) {
828if (scroll >= 440)   $('.pageAlert').addClass('fixedAlert');
829else $('.pageAlert').removeClass('fixedAlert');
830}
831});
832$(window).scroll(function(){
833if ($(window).width() > 1060) {
834var sticky = $('body'),
835scroll = $(window).scrollTop();
836if (scroll >= 440) sticky.addClass('trick');
837else sticky.removeClass('trick');
838};
839});
840var bottom = $(".header-content").offset().top;
841$(window).scroll(function(){
842if ($(this).scrollTop() > bottom){
843$(".spinner-master").addClass("fixed-button");
844}
845else{
846$(".spinner-master").removeClass("fixed-button");
847}
848});
849$(document).ready(function() {
850$(".spinner-master input").change(function(){
851$("html, body").removeClass("overflowYhidden");
852if($(this).is(":checked")) {
853$("html, body").addClass("overflowYhidden");
854} else {
855$("html, body").removeClass("overflowYhidden");
856};
857});
858});
859$(document).ready(function(event) {
860$("#spinner-form").click(function(event) {
861$(this).parent().addClass("hidden");
862$("nav").fadeToggle();
863$(".searching").animate({width:'toggle'});
864event.stopPropagation();
865$(".search").toggleClass("open");
866});
867});
868$(document).ready(function() {
869$(".zavrit-menu").on("click", function () {
870$("html, body").removeClass("overflowYhidden");
871$(".spinner-master").removeClass("hidden");
872$("nav").fadeOut(10);
873$(".searching").animate({width:'hide'});
874$(".search").toggleClass("hide");
875});
876});
877</script>
vendor: 1 bytes, line 877
877
878<script>
879$(document).ready(function() {
880$('.zobraz').click(function() {
881$('.filtr').slideToggle("fast");
882});
883});
884$(function(){
885$(".zobraz").click(function () {
886$(this).text(function(i, text){
887return text === "Zobrazit filtrování" ? "Skrýt filtrování" : "Zobrazit filtrování";
888})
889});
890})
891</script>
vendor: 1 bytes, line 891
891
892<script>
893  if ($(window).width() > 1050) {
894    // calculate main content area width on page load and resize
895    var mainEl = ".cart",
896    	mainElWi = $(mainEl).outerWidth();
897    
898    $(window).resize(function() {
899    	mainElWi = $(mainEl).outerWidth();
900    });
901    
902    //// jtaFixedSidebarEl
903    var fxdEl = ".fixni2",
904    	sbContElCl = ".cart-wrap-middle",
905    	posRelCl = "pos-rel",
906    	posAbsCl = "pos-abs",
907    	posFixCl = "pos-fix2",
908    	responsive = false;
909     
910    function jtaFixedSidebarEl() {
911    	var sbContEl = sbContElCl;
912    
913    	var obj = {
914    		sbContElHe: $(sbContEl).outerHeight()
915    	}
916    
917    	$(sbContEl).css({
918    		"height": obj.sbContElHe
919    	});
920    
921    	if (responsive) {
922    		$(window).resize(function() {
923    			if (mainElWi == 960) {
924    				$(sbContEl).css({
925    					"height": "auto"
926    				});
927    				obj.sbContElHe = $(sbContEl).outerHeight();
928    				$(sbContEl).css({
929    					"height": obj.sbContElHe
930    				});
931    			}
932    			if (mainElWi == 1280) {
933    				$(sbContEl).css({
934    					"height": "auto"
935    				});
936    				obj.sbContElHe = $(sbContEl).outerHeight();
937    				$(sbContEl).css({
938    					"height": obj.sbContElHe
939    				});
940    			}
941    		});
942    	}
943    
944    	var pgeLay = sbContEl,
945    		posRel = posRelCl,
946    		posAbs = posAbsCl,
947    		posFix = posFixCl,
948    		top = "top",
949    		winHe = $(window).outerHeight(),
950    		fxdElHe = $(fxdEl).outerHeight(),
951    		fxdElWi = $(fxdEl).outerWidth(),
952    		pgeLayTopPos = $(pgeLay).offset().top,
953    		pgeLayBotPos = $(pgeLay).offset().top + obj.sbContElHe,
954    		pgeLayBotPosMinusFixedElHe = pgeLayBotPos - fxdElHe,
955    		topOfSidebar = $(fxdEl).offset().top; 
956    
957    	if (responsive) {
958    		$(window).resize(function() {
959    			if (mainElWi == 960) {
960    				pgeLayBotPos = $(pgeLay).offset().top + obj.sbContElHe;
961    			}
962    			if (mainElWi == 1280) {
963    				pgeLayBotPos = $(pgeLay).offset().top + obj.sbContElHe;
964    			}
965    		});
966    	}
967    
968    	$(fxdEl).parent().addClass(posRel);
969    	$(fxdEl).children().css({
970    		"width": fxdElWi
971    	});
972    
973    	function fixEl() {
974    		var topOfWin = $(window).scrollTop(),
975    			botOfWin = $(window).scrollTop() + winHe,
976    			fxdElTopPos = $(fxdEl).offset().top,
977    			fxdElBotPos = $(fxdEl).offset().top +
978    			fxdElHe;
979    
980    		if (topOfWin < pgeLayTopPos) {
981    			$(fxdEl).removeClass(posFix).removeClass(posAbs);
982    		} else {
983    			if (topOfWin >= pgeLayTopPos && topOfWin <= pgeLayBotPosMinusFixedElHe) {
984    				$(fxdEl).removeClass(posAbs).addClass(posFix);
985    			} else {
986    				$(fxdEl).removeClass(posFix).addClass(posAbs);
987    			}
988    		}
989    	}
990    
991    	fixEl();
992    	$(window).scroll(function() {
993    		fixEl();
994    	});
995    }
996
997    
998    function incHeight() {
999	     jtaFixedSidebarEl();
1000	     var el = document.getElementById("container-height");
1001	     var height = el.offsetHeight;
1002	     var newHeight = height + 1360;
1003	     el.style.height = newHeight + 'px';
1004	}   
1005	    
1006    $(window).load(function() {
1007    	if ($(fxdEl).length) {
1008    		jtaFixedSidebarEl();
1009    	}
1010    });  
1011  }; 
1012</script>
1012<div class="overlay"></div>
1013</main>
1014</body>
1015</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.