mirror of
https://github.com/david-spacil/heroltice2026.git
synced 2026-08-08 16:46:04 +02:00
init
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# Heroltice 2026
|
||||
|
||||
Statická webová stránka — průvodce dovolenou v Herolticích (část obce Štíty, okres Šumperk) a okolí, s interaktivní mapou. Interní freetime projekt.
|
||||
|
||||
## Soubory
|
||||
|
||||
| soubor | obsah |
|
||||
|---|---|
|
||||
| `index.html` | stránka: text zprávy + mapa nahoře (hero) |
|
||||
| `style.css` | styl (terénní/mapová estetika, značkové markery) |
|
||||
| `heroltice.geojson` | 11 bodů cílů (CRS84 / WGS84) — jediný zdroj dat pro mapu i karty; otevřeš rovnou v QGIS |
|
||||
| `.nojekyll` | vypne Jekyll na GitHub Pages (servíruje soubory beze změny) |
|
||||
|
||||
Mapa: **Leaflet** + **OpenStreetMap** / **OpenTopoMap** (přepínač vpravo nahoře), bez API klíče. Knihovna se tahá z CDN (unpkg).
|
||||
|
||||
## Spuštění lokálně
|
||||
|
||||
Stránka načítá `heroltice.geojson` přes `fetch()`, takže **nefunguje přes `file://`** — je potřeba HTTP server:
|
||||
|
||||
```bash
|
||||
python3 -m http.server 8000
|
||||
# pak http://localhost:8000
|
||||
```
|
||||
|
||||
## Nahrání do repa
|
||||
|
||||
Repo už existuje. Nejjednodušší — soubory zkopírovat do klonu a commitnout:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/david-spacil/heroltice2026.git
|
||||
cd heroltice2026
|
||||
# sem zkopíruj index.html style.css heroltice.geojson README.md .nojekyll
|
||||
git add index.html style.css heroltice.geojson README.md .nojekyll
|
||||
git commit -m "Web s interaktivní mapou (Leaflet + OSM/OpenTopoMap)"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
(Nebo přes Gitea→GitHub workflow, který už máš zaběhnutý.)
|
||||
|
||||
## GitHub Pages
|
||||
|
||||
Settings → Pages → *Build and deployment* → Source: **Deploy from a branch** → branch `main`, folder `/ (root)` → Save.
|
||||
Za chvíli poběží na `https://david-spacil.github.io/heroltice2026/`.
|
||||
|
||||
## Úpravy dat
|
||||
|
||||
Body se mění **jen** v `heroltice.geojson` (souřadnice `[lon, lat]`, vlastnosti `nazev`, `kategorie`, `vzdalenost`, `popis`, `odkaz`, `odkaz_text`). Kategorie: `zakladna`, `kultura`, `priroda`, `archeologie`, `zabava` — barvy řídí CSS třídy `.map-blaze--*` a `.card--*`. Přidání bodu = jeden nový feature, mapa i karty se vygenerují samy.
|
||||
|
||||
## Zdroje dat
|
||||
|
||||
Wikipedie, Památkový katalog NPÚ, ISAD/SAS NPÚ, Archeologické léto, Kudy z nudy a oficiální weby (odkazy v patičce a v sekci *Zdroje*). Mapové podklady © OpenStreetMap přispěvatelé, © OpenTopoMap (CC-BY-SA).
|
||||
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"type": "FeatureCollection",
|
||||
"name": "heroltice2026_cile",
|
||||
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
|
||||
"features": [
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Heroltice (základna)",
|
||||
"kategorie": "zakladna",
|
||||
"vzdalenost": "0 km",
|
||||
"popis": "Výchozí bod. Kostel sv. Jana Křtitele (1718, kulturní památka), rekreační areál Heroltická, lyžařský vlek.",
|
||||
"odkaz": "https://cs.wikipedia.org/wiki/Heroltice_(%C5%A0t%C3%ADty)",
|
||||
"odkaz_text": "Wikipedie"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [16.734010, 49.9872732] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Štíty – náměstí (MPZ)",
|
||||
"kategorie": "kultura",
|
||||
"vzdalenost": "~3,5 km",
|
||||
"popis": "Městská památková zóna. Barokní kostel Nanebevzetí P. Marie (1755), morový sloup (1716), renesanční radnice.",
|
||||
"odkaz": "https://www.stity.cz/mesto-a-samosprava/zakladni-informace-o-meste/",
|
||||
"odkaz_text": "Město Štíty"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [16.7629642, 49.9620552] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Acrobat Park Aleše Valenty",
|
||||
"kategorie": "zabava",
|
||||
"vzdalenost": "~3,5 km",
|
||||
"popis": "Sportovní centrum Aleše Valenty (2002): skoky do vody, trampolíny, wellness, restaurace. Provoz zhruba červen–říjen.",
|
||||
"odkaz": "https://www.acrobatpark.com/",
|
||||
"odkaz_text": "Acrobat Park"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [16.7594473, 49.9615199] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Rozhledna Lázek",
|
||||
"kategorie": "priroda",
|
||||
"vzdalenost": "~10–15 km",
|
||||
"popis": "Nejvyšší bod Zábřežské vrchoviny (715 m). Dřevěná věž z roku 1933, 87 schodů, výhled na Orlické hory a Jeseníky. Otevřeno hlavně o víkendech.",
|
||||
"odkaz": "https://cs.wikipedia.org/wiki/L%C3%A1zek_(rozhledna)",
|
||||
"odkaz_text": "Wikipedie"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [16.7052725, 49.9257063] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Zřícenina hradu Hoštejn",
|
||||
"kategorie": "archeologie",
|
||||
"vzdalenost": "~15 km",
|
||||
"popis": "Gotický hrad (2. pol. 13. stol.), archeologická lokalita ÚAN I. Volně přístupné, památník dráhy, vyhlídka, pítko.",
|
||||
"odkaz": "https://isad.npu.cz/zricenina-hradu-hostejn-a-stredoveke-jadro-obce-14876",
|
||||
"odkaz_text": "ISAD / SAS NPÚ"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [16.7766132, 49.8768548] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Hrad Bludov (Hradisko)",
|
||||
"kategorie": "archeologie",
|
||||
"vzdalenost": "~20 km",
|
||||
"popis": "Pozůstatky hradu na ostrožně, ÚAN I; pobořen 1471 Matyášem Korvínem. Bývá cílem Archeologického léta.",
|
||||
"odkaz": "https://isad.npu.cz/hrad-bludov-14793",
|
||||
"odkaz_text": "ISAD / SAS NPÚ"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [16.9328341, 49.9547992] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Vlastivědné muzeum Šumperk",
|
||||
"kategorie": "kultura",
|
||||
"vzdalenost": "~20 km",
|
||||
"popis": "„Brána Jeseníků“. Expozice čarodějnických procesů (Geschaderův dům), historické jádro města.",
|
||||
"odkaz": "https://muzeum-sumperk.cz/",
|
||||
"odkaz_text": "Vlastivědné muzeum"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [16.9783623, 49.9651256] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Zámek Velké Losiny",
|
||||
"kategorie": "kultura",
|
||||
"vzdalenost": "~35 km",
|
||||
"popis": "Renesanční žerotínský zámek s arkádami; spjatý s čarodějnickými procesy. Zavřeno v pondělí.",
|
||||
"odkaz": "http://www.zamek-velkelosiny.cz/",
|
||||
"odkaz_text": "Zámek Velké Losiny"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [17.0313608, 50.0234475] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Ruční papírna Velké Losiny",
|
||||
"kategorie": "kultura",
|
||||
"vzdalenost": "~35 km",
|
||||
"popis": "Nejstarší funkční papírna střední Evropy (zal. 1591–1596), národní kulturní památka, Muzeum papíru.",
|
||||
"odkaz": "https://cs.wikipedia.org/wiki/Ru%C4%8Dn%C3%AD_pap%C3%ADrna_Velk%C3%A9_Losiny",
|
||||
"odkaz_text": "Wikipedie"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [17.0380374, 50.0296768] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Hora Matky Boží (Dolní Hedeč)",
|
||||
"kategorie": "kultura",
|
||||
"vzdalenost": "~20–25 km",
|
||||
"popis": "Barokní poutní klášter nad Králíky (765 m), národní kulturní památka, Svaté schody, alej s křížovou cestou.",
|
||||
"odkaz": "https://cs.wikipedia.org/wiki/Hora_Matky_Bo%C5%BE%C3%AD",
|
||||
"odkaz_text": "Wikipedie"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [16.781944, 50.075000] }
|
||||
},
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"nazev": "Dělostřelecká tvrz Bouda",
|
||||
"kategorie": "kultura",
|
||||
"vzdalenost": "~25–30 km",
|
||||
"popis": "Nejzachovalejší čs. dělostřelecká tvrz (1936–38), podzemí přes 1,7 km. Sezona květen–říjen, teplé oblečení.",
|
||||
"odkaz": "https://www.tvrzbouda.cz/",
|
||||
"odkaz_text": "Tvrz Bouda"
|
||||
},
|
||||
"geometry": { "type": "Point", "coordinates": [16.6770282, 50.0693222] }
|
||||
}
|
||||
]
|
||||
}
|
||||
+319
@@ -0,0 +1,319 @@
|
||||
<!doctype html>
|
||||
<html lang="cs">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Heroltice 2026 — průvodce dovolenou a okolím</title>
|
||||
<meta name="description" content="Heroltice (část obce Štíty, okres Šumperk): historie, památky, večerní zábava a tipy na výlety v okolí s interaktivní mapou.">
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Zilla+Slab:wght@500;600;700&family=Source+Sans+3:wght@400;600&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
|
||||
|
||||
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
|
||||
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin="">
|
||||
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header class="masthead">
|
||||
<div class="wrap">
|
||||
<div class="kicker">
|
||||
<span class="blz"><i style="background:#cf3b2e"></i><i style="background:#2f6f9f"></i><i style="background:#3a7d44"></i></span>
|
||||
Terénní zápisník · interní freetime
|
||||
</div>
|
||||
<h1>Heroltice 2026
|
||||
<small>Část obce Štíty, okres Šumperk. Klidná horská vesnička na česko-moravském pomezí — historie, památky, večerní zábava a vějíř výletů do okolí.</small>
|
||||
</h1>
|
||||
<div class="meta">
|
||||
<span>49.987° N · 16.734° E</span>
|
||||
<span>450–750 m n. m.</span>
|
||||
<span>Olomoucký kraj</span>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="mapwrap">
|
||||
<div id="map"></div>
|
||||
<div class="maphint">Mapové podklady přepneš vpravo nahoře (OSM / OpenTopoMap). Klikni na značku nebo na kartu cíle níže.</div>
|
||||
<p class="map-error" id="map-error">
|
||||
Mapu se nepodařilo načíst. Stránka čte <code>heroltice.geojson</code> přes <code>fetch()</code>, což funguje jen po HTTP — tedy na GitHub Pages nebo přes lokální server (<code>python3 -m http.server</code>), ne otevřením souboru přes <code>file://</code>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<nav class="toc">
|
||||
<div class="wrap">
|
||||
<a href="#prehled">Přehled</a>
|
||||
<a href="#heroltice">1 · Heroltice</a>
|
||||
<a href="#okoli">2 · Okolí</a>
|
||||
<a href="#cile">Cíle na mapě</a>
|
||||
<a href="#doporuceni">Doporučení</a>
|
||||
<a href="#upozorneni">Upozornění</a>
|
||||
<a href="#zdroje">Zdroje</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="wrap">
|
||||
|
||||
<section id="prehled">
|
||||
<p class="eyebrow">Přehled</p>
|
||||
<div class="facts">
|
||||
<div><div class="n">89</div><div class="l">obyvatel (2021)</div></div>
|
||||
<div><div class="n">1278</div><div class="l">první zmínka</div></div>
|
||||
<div><div class="n">1718</div><div class="l">kostel sv. Jana Křtitele</div></div>
|
||||
<div><div class="n">~3,5 km</div><div class="l">do Štítů</div></div>
|
||||
</div>
|
||||
<div class="summary">
|
||||
<p class="eyebrow">Shrnutí</p>
|
||||
<p>Heroltice jsou malá horská vesnička (<a href="https://cs.wikipedia.org/wiki/Heroltice_(%C5%A0t%C3%ADty)">89 obyvatel dle Sčítání 2021</a>) 3,5 km severoseverozápadně od Štítů; hlavní památkou je chráněný <a href="https://pamatkovykatalog.cz/kostel-sv-jana-krtitele-14643908">kostel sv. Jana Křtitele</a> (1718). Vlastní večerní zábava je minimální (rekreační areál Heroltická, spolkové akce) — širší nabídka je ve Štítech a Zábřehu. Okolí nabízí bohaté výlety: městská památková zóna Štíty s <a href="https://www.acrobatpark.com/">Acrobat Parkem</a>, <a href="https://www.kudyznudy.cz/aktivity/prirodni-park-brezna">přírodní park Březná</a>, <a href="https://cs.wikipedia.org/wiki/L%C3%A1zek_(rozhledna)">rozhlednu Lázek</a>, poutní <a href="https://cs.wikipedia.org/wiki/Hora_Matky_Bo%C5%BE%C3%AD">Horu Matky Boží</a>, <a href="https://www.tvrzbouda.cz/">tvrz Bouda</a> a <a href="http://www.zamek-velkelosiny.cz/">Velké Losiny</a>.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="heroltice">
|
||||
<div class="sec-head"><span class="sec-num">01</span><h2>Heroltice</h2></div>
|
||||
<div class="summary">
|
||||
<p class="eyebrow">Shrnutí sekce</p>
|
||||
<p>První zmínka 1278, jméno zřejmě od zakladatele Heralta. V 19. století lidnatá obec (přes 1000 obyvatel), po odsunu německého obyvatelstva a začlenění ke Štítům (1976) výrazný úpadek na dnešních 89 obyvatel. Dominantou je barokní kostel sv. Jana Křtitele z roku 1718 (kulturní památka), doplněný empírovou farou a sousoším Nejsvětější Trojice. Vlastní večerní zábava je v obci minimální.</p>
|
||||
</div>
|
||||
|
||||
<h3>Historie</h3>
|
||||
<p>Heroltice (německy <em>Herautz</em>) jsou sídlo uličního typu roztažené podél Heroltického potoka, který pod obcí ústí do řeky Březná. Leží v údolí mezi Jeseníky a Orlickými horami v nadmořské výšce 450–750 m n. m.; díky okolním kopcům a lyžařskému vleku mají výrazně horský charakter. Jméno pochází zřejmě podle zakladatele Heralta či Heralda (německý název <em>Herautz</em>, dřívější české <em>Heraltice</em>).</p>
|
||||
<p>Obec je připomínána od roku <strong>1278</strong> jako Velké (Dolní) Heroltice; přináležela ke štíteckému (šilperskému) panství. V roce 1623 se dostala se šilperským panstvím pod lichtenštejnskou správu se sídlem v Rudě nad Moravou. Patřila k největším vsím panství — roku 1834 měla 156 domů a 1026 obyvatel, vesměs německé národnosti. V roce 1930 zde žilo 575 osob; po odsunu a dosídlení počet jen o málo přesáhl 130 lidí. V roce 1976 (jinde uváděno 1978) byly Heroltice připojeny ke Štítům. Dnes mají <strong>89 obyvatel</strong> (Sčítání 2021, ČSÚ). Z obce pocházel politik Rudolf Felzmann (1866–1937). <span class="coords">Zdroj: <a href="https://cs.wikipedia.org/wiki/Heroltice_(%C5%A0t%C3%ADty)">Wikipedie</a>.</span></p>
|
||||
|
||||
<h3>Pamětihodnosti</h3>
|
||||
<h4>Kostel sv. Jana Křtitele <span class="coords">— kulturní památka</span></h4>
|
||||
<p>Původně barokní kaple z roku 1718 ve výšce 537 m n. m. Zděný orientovaný kostel s půlkruhovým závěrem, věží (28 m) a sakristií; nad vstupem světlík s božím okem a monogramem IHS. Obrazy v interiéru vyobrazují život a smrt Jana Křtitele, varhany mají ojedinělou květinovou výzdobu omítek z roku 1910. Od roku 2009 chráněná kulturní památka. <span class="coords">Zdroj: <a href="https://pamatkovykatalog.cz/kostel-sv-jana-krtitele-14643908">Památkový katalog NPÚ</a>.</span></p>
|
||||
<h4>Bývalá fara (čp. 158) <span class="coords">— kulturní památka</span></h4>
|
||||
<p>Empírový dům severně od kostela z první poloviny 19. století, doklad zlidovělé architektury s fasádou zdobenou maltovým štukem.</p>
|
||||
<h4>Sousoší Nejsvětější Trojice</h4>
|
||||
<p>Kamenné sousoší v postranní uličce nedaleko kostela, patrně dílo místního kameníka; na postamentu dedikační nápis. V obci a okolí najdeš i kříže a boží muka typická pro chudé obce na pomezí.</p>
|
||||
<h4>Archeologie</h4>
|
||||
<p>Pro katastr „Heroltice u Štítů“ není v <a href="https://isad.npu.cz/">ISAD/SAS NPÚ</a> ani v <a href="https://amcr.aiscr.cz">AMCR</a> evidován samostatný archeologický záznam (ÚAN I/II) — ověřeno, prázdno. Celé území ČR přitom spadá minimálně do kategorie ÚAN III, kde výskyt nálezů nelze vyloučit.</p>
|
||||
|
||||
<h3>Večerní zábava</h3>
|
||||
<p><strong>V Herolticích</strong> je nabídka minimální a odpovídá klidnému rekreačnímu charakteru: rekreační areál <strong>Heroltická</strong> (sportoviště, hospůdka, wellness, chatky, kemp), lyžařský vlek a spolkové akce (hasičský ples, sraz RC modelářů). <strong>Ve Štítech</strong> (~3,5 km) jsou restaurace a hospody (např. u penzionu Černá kočka), diskotéka a <a href="https://www.acrobatpark.com/">Acrobat Park</a> s restaurací a wellness. V Zábřehu funguje pivovar <strong>Welzl</strong> s restaurací „Kotelna“.</p>
|
||||
</section>
|
||||
|
||||
<section id="okoli">
|
||||
<div class="sec-head"><span class="sec-num">02</span><h2>Tipy v okolí</h2></div>
|
||||
<div class="summary">
|
||||
<p class="eyebrow">Shrnutí sekce</p>
|
||||
<p>V dosahu 15–40 km je hustá síť cílů. <strong>Kulturně</strong> dominuje městská památková zóna Štíty, <a href="https://isad.npu.cz/zricenina-hradu-hostejn-a-stredoveke-jadro-obce-14876">zřícenina Hoštejn</a>, <a href="https://muzeum-sumperk.cz/">Šumperk</a> (čarodějnické procesy), <a href="http://www.zamek-velkelosiny.cz/">Velké Losiny</a> (zámek + nejstarší funkční <a href="https://cs.wikipedia.org/wiki/Ru%C4%8Dn%C3%AD_pap%C3%ADrna_Velk%C3%A9_Losiny">ruční papírna</a> střední Evropy), poutní <a href="https://cs.wikipedia.org/wiki/Hora_Matky_Bo%C5%BE%C3%AD">Hora Matky Boží</a> a <a href="https://www.tvrzbouda.cz/">tvrz Bouda</a>. <strong>Přírodně</strong> je nejblíže <a href="https://www.kudyznudy.cz/aktivity/prirodni-park-brezna">přírodní park Březná</a> (jarní bledule) a <a href="https://cs.wikipedia.org/wiki/L%C3%A1zek_(rozhledna)">rozhledna Lázek</a>. <strong>Archeologicky</strong> vynikají lokality ÚAN I Hoštejn a Bludov, v sezoně s prohlídkami <a href="https://www.kudyznudy.cz/aktuality/archeologicke-leto-nabidne-prochazky-na-archeologi">Archeologického léta</a>.</p>
|
||||
</div>
|
||||
|
||||
<h3 id="cile">Cíle na mapě</h3>
|
||||
<p>Karty odpovídají značkám na mapě nahoře. Klikni na kartu — mapa na cíl odskočí a otevře jeho popis.</p>
|
||||
<div class="cards" id="cards-container">
|
||||
<p class="coords" style="grid-column:1/-1">Načítám cíle z <code>heroltice.geojson</code>…</p>
|
||||
</div>
|
||||
|
||||
<h3>Kulturní památky</h3>
|
||||
<p><strong>Štíty (~3,5 km)</strong> — historické jádro je městskou památkovou zónou. Barokní <strong>kostel Nanebevzetí Panny Marie</strong> (1755), <strong>mariánský morový sloup</strong> (1716), sochy sv. Jana Nepomuckého (1732) a sv. Anny (1769), renesanční stará radnice. <strong><a href="https://www.acrobatpark.com/">Acrobat Park</a></strong> olympijského vítěze Aleše Valenty (otevřen 2002) — skoky do vody, trampolíny, závod Freestyle Czech Open.</p>
|
||||
<p><strong><a href="https://isad.npu.cz/zricenina-hradu-hostejn-a-stredoveke-jadro-obce-14876">Zřícenina hradu Hoštejn</a> (~15 km)</strong> — gotický hrad z 2. pol. 13. století, za husitských válek opěrný bod husitů; zdivo v roce 1845 rozebráno na stavbu železnice. Kulturní památka od 1964.</p>
|
||||
<p><strong><a href="https://muzeum-sumperk.cz/">Šumperk</a> (~20 km)</strong> — „brána Jeseníků“: Vlastivědné muzeum (Pavlínin dvůr) a expozice čarodějnických procesů v Geschaderově domě.</p>
|
||||
<p><strong><a href="http://www.zamek-velkelosiny.cz/">Velké Losiny</a> (~35 km)</strong> — renesanční žerotínský zámek a <strong><a href="https://cs.wikipedia.org/wiki/Ru%C4%8Dn%C3%AD_pap%C3%ADrna_Velk%C3%A9_Losiny">ruční papírna</a></strong> (zal. 1591–1596), nejstarší funkční papírenská manufaktura střední Evropy, národní kulturní památka s Muzeem papíru; v obci termální lázně.</p>
|
||||
<p><strong><a href="https://cs.wikipedia.org/wiki/Hora_Matky_Bo%C5%BE%C3%AD">Hora Matky Boží</a>, Dolní Hedeč (~20–25 km)</strong> — barokní poutní klášter nad Králíky (765 m), kostel dokončen 1700, klášter 1710, národní kulturní památka od 2018; lipová alej z roku 1705 s osmi kaplemi.</p>
|
||||
<p><strong><a href="https://www.tvrzbouda.cz/">Dělostřelecká tvrz Bouda</a> (~25–30 km)</strong> — nejzachovalejší čs. dělostřelecká tvrz (1936–38), největší muzeum opevnění v ČR; 5 srubů a podzemí přes 1,7 km. Kulturní památka od 1995.</p>
|
||||
|
||||
<h3>Přírodní památky</h3>
|
||||
<p><strong><a href="https://www.kudyznudy.cz/aktivity/prirodni-park-brezna">Přírodní park Březná</a></strong> — zřízen 1997 na ploše 11 600 ha; údolí řek Březná a Moravská Sázava, jarní koberce <strong>bledule jarní</strong>, balvanová moře a mrazové sruby na svazích Pálené hory a Vlčí jámy. Severní část katastru Štítů i Heroltice zasahují do ptačí oblasti Králický Sněžník (ochrana chřástala polního).</p>
|
||||
<p><strong><a href="https://cs.wikipedia.org/wiki/L%C3%A1zek_(rozhledna)">Rozhledna Lázek</a> (~10–15 km)</strong> — nejvyšší bod Zábřežské vrchoviny (715 m), dřevěná věž z roku 1933, 87 schodů, výhled na Orlické hory, Jeseníky, Krkonoše a Železné hory.</p>
|
||||
<p><strong>Národní přírodní rezervace</strong> v širším okolí (<a href="https://cs.wikipedia.org/wiki/Okres_%C5%A0umperk">okres Šumperk</a>): Králický Sněžník, Praděd, Rašeliniště Skřítek a Šerák-Keprník + CHKO Jeseníky — na celodenní výlet.</p>
|
||||
|
||||
<h3>Archeologie</h3>
|
||||
<p><strong><a href="https://isad.npu.cz/zricenina-hradu-hostejn-a-stredoveke-jadro-obce-14876">Hoštejn</a></strong> (ID SAS 14876, ÚAN I) a <strong><a href="https://isad.npu.cz/hrad-bludov-14793">Bludov</a></strong> (ID SAS 14793, ÚAN I) jsou významné archeologické lokality. <a href="https://www.archeologickeleto.cz/">Archeologické léto</a> (koordinují Archeologické ústavy AV ČR, regionálně Vlastivědné muzeum v Šumperku) nabízí v sezoně komentované prohlídky — mj. <a href="https://www.archeologickeleto.cz/akce/bludov/">hrad Bludov</a> a expozici „Pravěk Mohelnicka“.</p>
|
||||
</section>
|
||||
|
||||
<section id="doporuceni">
|
||||
<p class="eyebrow">Praktické tipy</p>
|
||||
<h2>Doporučení pro plánování</h2>
|
||||
<p><strong>Základní pobyt:</strong> klidná aktivní dovolená — cykloturistika údolím Březné, houbaření, pěší turistika, v zimě lyžování. Ubytování: rekreační areál Heroltická nebo chalupy.</p>
|
||||
<p><strong>Večerní program:</strong> Štíty (~3,5 km) nebo Zábřeh (pivovar Welzl).</p>
|
||||
<p><strong>Půldenní výlety:</strong> Štíty + Acrobat Park · rozhledna Lázek · přírodní park Březná (na jaře bledule) · zřícenina Hoštejn.</p>
|
||||
<p><strong>Celodenní výlety:</strong> Hora Matky Boží + tvrz Bouda · Velké Losiny (zámek, papírna, lázně) · Šumperk.</p>
|
||||
<p><strong>Archeologie:</strong> sleduj <a href="https://www.archeologickeleto.cz/">archeologickeleto.cz</a> (rezervace zpravidla od začátku června).</p>
|
||||
</section>
|
||||
|
||||
<section id="upozorneni">
|
||||
<p class="eyebrow">Caveats</p>
|
||||
<h2>Upozornění a omezení</h2>
|
||||
<div class="note">
|
||||
<ul>
|
||||
<li><strong>Sezónnost:</strong> rozhledna Lázek, papírna, tvrz Bouda i akce Archeologického léta mají omezenou otevírací dobu (zpravidla květen–říjen / o víkendech). Před cestou ověř aktuální stav.</li>
|
||||
<li><strong>Doprava:</strong> železniční trať do Štítů byla v roce 2018 zrušena — autem nebo autobusem.</li>
|
||||
<li><strong>Rozpory v pramenech:</strong> připojení Heroltic ke Štítům (1976 vs. 1978); zápis kostela ve Štítech mezi KP (1958 vs. 1964); papírna NKP (2001 vs. 2002); podzemí Boudy „přes 1,7 km“ vs. zaokrouhleno 1,5 km.</li>
|
||||
<li><strong>Vzdálenosti</strong> jsou orientační (po silnici), ověř v mapové aplikaci.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="zdroje">
|
||||
<p class="eyebrow">Ověřené zdroje</p>
|
||||
<h2>Zdroje a odkazy</h2>
|
||||
<div class="linklist">
|
||||
<h4>Heroltice a Štíty</h4>
|
||||
<ul>
|
||||
<li><a href="https://cs.wikipedia.org/wiki/Heroltice_(%C5%A0t%C3%ADty)">Wikipedie — Heroltice (Štíty)</a></li>
|
||||
<li><a href="https://pamatkovykatalog.cz/kostel-sv-jana-krtitele-14643908">Památkový katalog NPÚ — kostel sv. Jana Křtitele</a></li>
|
||||
<li><a href="https://www.stity.cz/mesto-a-samosprava/zakladni-informace-o-meste/">Město Štíty</a></li>
|
||||
<li><a href="http://www.stitecko.cz/nature.php">Štítecko — příroda</a></li>
|
||||
</ul>
|
||||
<h4>Kulturní cíle</h4>
|
||||
<ul>
|
||||
<li><a href="https://www.acrobatpark.com/">Acrobat Park</a> · <a href="https://www.kudyznudy.cz/aktivity/jako-ales-valenta-v-acrobat-parku-stity">Kudy z nudy</a></li>
|
||||
<li><a href="http://www.zamek-velkelosiny.cz/">Zámek Velké Losiny</a></li>
|
||||
<li><a href="https://cs.wikipedia.org/wiki/Ru%C4%8Dn%C3%AD_pap%C3%ADrna_Velk%C3%A9_Losiny">Ruční papírna — Wikipedie</a> · <a href="https://www.kudyznudy.cz/aktivity/rucni-papirna-velke-losiny-muzeum-papiru">Kudy z nudy</a></li>
|
||||
<li><a href="https://cs.wikipedia.org/wiki/Hora_Matky_Bo%C5%BE%C3%AD">Hora Matky Boží — Wikipedie</a> · <a href="https://www.kudyznudy.cz/aktivity/poutni-areal-hora-matky-bozi-v-dolni-hedeci">Kudy z nudy</a></li>
|
||||
<li><a href="https://cs.wikipedia.org/wiki/Bouda_(d%C4%9Blost%C5%99eleck%C3%A1_tvrz)">Tvrz Bouda — Wikipedie</a> · <a href="https://www.tvrzbouda.cz/">oficiální</a></li>
|
||||
<li><a href="https://muzeum-sumperk.cz/">Vlastivědné muzeum v Šumperku</a></li>
|
||||
</ul>
|
||||
<h4>Přírodní cíle</h4>
|
||||
<ul>
|
||||
<li><a href="https://www.kudyznudy.cz/aktivity/prirodni-park-brezna">Přírodní park Březná — Kudy z nudy</a></li>
|
||||
<li><a href="http://www.turistika.ruda.cz/pp_brezna.html">Přírodní park Březná — Region Ruda</a></li>
|
||||
<li><a href="https://cs.wikipedia.org/wiki/L%C3%A1zek_(rozhledna)">Rozhledna Lázek — Wikipedie</a></li>
|
||||
<li><a href="https://cs.wikipedia.org/wiki/Okres_%C5%A0umperk">Okres Šumperk (NPR, CHKO)</a></li>
|
||||
</ul>
|
||||
<h4>Archeologie (SAS / AMCR)</h4>
|
||||
<ul>
|
||||
<li><a href="https://isad.npu.cz/zricenina-hradu-hostejn-a-stredoveke-jadro-obce-14876">ISAD — Hoštejn</a></li>
|
||||
<li><a href="https://isad.npu.cz/hrad-bludov-14793">ISAD — Bludov</a></li>
|
||||
<li><a href="https://www.archeologickeleto.cz/">Archeologické léto</a> · <a href="https://www.archeologickeleto.cz/akce/bludov/">Bludov</a></li>
|
||||
<li><a href="https://amcr.aiscr.cz">Digiarchiv / mapa SAS AMCR</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div class="wrap">
|
||||
Heroltice 2026 · interní freetime projekt · data: Wikipedie, Památkový katalog NPÚ, ISAD/SAS NPÚ, Kudy z nudy, oficiální weby ·
|
||||
mapa © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> přispěvatelé, <a href="https://opentopomap.org/">OpenTopoMap</a> (CC-BY-SA)
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"
|
||||
integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script>
|
||||
<script>
|
||||
(function () {
|
||||
var CAT = {
|
||||
zakladna: { label: "Základna", color: "#cf3b2e" },
|
||||
kultura: { label: "Kultura", color: "#2f6f9f" },
|
||||
priroda: { label: "Příroda", color: "#3a7d44" },
|
||||
archeologie: { label: "Archeologie", color: "#b07d2b" },
|
||||
zabava: { label: "Sport & zábava", color: "#7d5ba6" }
|
||||
};
|
||||
var reduceMotion = window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
||||
|
||||
var map = L.map("map", { scrollWheelZoom: false });
|
||||
|
||||
var osm = L.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png", {
|
||||
maxZoom: 19, attribution: "© OpenStreetMap přispěvatelé"
|
||||
});
|
||||
var topo = L.tileLayer("https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png", {
|
||||
maxZoom: 17, attribution: "© OpenStreetMap přispěvatelé, SRTM | © OpenTopoMap (CC-BY-SA)"
|
||||
});
|
||||
osm.addTo(map);
|
||||
L.control.layers({ "OpenStreetMap": osm, "OpenTopoMap (terén)": topo }).addTo(map);
|
||||
map.setView([49.96, 16.83], 10); // fallback, než dorazí data
|
||||
|
||||
function blazeIcon(cat, isBase) {
|
||||
return L.divIcon({
|
||||
className: "",
|
||||
html: '<span class="map-blaze map-blaze--' + cat + (isBase ? " map-blaze--base" : "") + '"></span>',
|
||||
iconSize: isBase ? [22, 22] : [17, 17],
|
||||
iconAnchor: isBase ? [11, 11] : [9, 9],
|
||||
popupAnchor: [0, -11]
|
||||
});
|
||||
}
|
||||
|
||||
function esc(s) {
|
||||
return String(s).replace(/[&<>"]/g, function (c) {
|
||||
return { "&": "&", "<": "<", ">": ">", '"': """ }[c];
|
||||
});
|
||||
}
|
||||
|
||||
function fail() {
|
||||
document.getElementById("map-error").style.display = "block";
|
||||
var c = document.getElementById("cards-container");
|
||||
if (c) c.innerHTML = '<p class="coords" style="grid-column:1/-1">Cíle se nepodařilo načíst — viz upozornění u mapy (potřeba HTTP, ne file://).</p>';
|
||||
}
|
||||
|
||||
fetch("heroltice.geojson")
|
||||
.then(function (r) { if (!r.ok) throw new Error(r.status); return r.json(); })
|
||||
.then(function (gj) {
|
||||
var markers = [];
|
||||
var byName = {};
|
||||
var cardsHTML = "";
|
||||
|
||||
gj.features.forEach(function (f) {
|
||||
var p = f.properties;
|
||||
var lng = f.geometry.coordinates[0], lat = f.geometry.coordinates[1];
|
||||
var cat = CAT[p.kategorie] || { label: p.kategorie, color: "#5c6b63" };
|
||||
var isBase = p.kategorie === "zakladna";
|
||||
|
||||
var popup =
|
||||
'<div class="pop-cat" style="color:' + cat.color + '">' + esc(cat.label) + ' · ' + esc(p.vzdalenost) + '</div>' +
|
||||
'<div class="pop-name">' + esc(p.nazev) + '</div>' +
|
||||
'<p class="pop-desc">' + esc(p.popis) + '</p>' +
|
||||
'<div class="pop-foot"><span>' + lat.toFixed(4) + '° N · ' + lng.toFixed(4) + '° E</span>' +
|
||||
'<a href="' + esc(p.odkaz) + '" target="_blank" rel="noopener">' + esc(p.odkaz_text) + ' ↗</a></div>';
|
||||
|
||||
var m = L.marker([lat, lng], { icon: blazeIcon(p.kategorie, isBase), title: p.nazev })
|
||||
.bindPopup(popup);
|
||||
m.addTo(map);
|
||||
markers.push(m);
|
||||
byName[p.nazev] = m;
|
||||
|
||||
cardsHTML +=
|
||||
'<article class="card card--' + p.kategorie + '" data-name="' + esc(p.nazev) + '" tabindex="0" role="button">' +
|
||||
'<div class="c-top"><span class="c-cat" style="color:' + cat.color + '">' + esc(cat.label) + '</span>' +
|
||||
'<span class="c-dist">' + esc(p.vzdalenost) + '</span></div>' +
|
||||
'<h4>' + esc(p.nazev) + '</h4>' +
|
||||
'<p class="c-desc">' + esc(p.popis) + '</p>' +
|
||||
'<div class="c-coords">' + lat.toFixed(4) + '° N · ' + lng.toFixed(4) + '° E</div>' +
|
||||
'<a class="c-src" href="' + esc(p.odkaz) + '" target="_blank" rel="noopener" onclick="event.stopPropagation()">' + esc(p.odkaz_text) + ' ↗</a>' +
|
||||
'</article>';
|
||||
});
|
||||
|
||||
var group = L.featureGroup(markers);
|
||||
map.fitBounds(group.getBounds().pad(0.12));
|
||||
|
||||
var container = document.getElementById("cards-container");
|
||||
container.innerHTML = cardsHTML;
|
||||
|
||||
function focusMarker(name) {
|
||||
var m = byName[name];
|
||||
if (!m) return;
|
||||
var ll = m.getLatLng();
|
||||
if (reduceMotion) map.setView(ll, 13);
|
||||
else map.flyTo(ll, 13, { duration: 0.7 });
|
||||
m.openPopup();
|
||||
document.getElementById("map").scrollIntoView({ behavior: reduceMotion ? "auto" : "smooth", block: "center" });
|
||||
}
|
||||
Array.prototype.forEach.call(container.querySelectorAll(".card"), function (card) {
|
||||
card.addEventListener("click", function () { focusMarker(card.getAttribute("data-name")); });
|
||||
card.addEventListener("keydown", function (e) {
|
||||
if (e.key === "Enter" || e.key === " ") { e.preventDefault(); focusMarker(card.getAttribute("data-name")); }
|
||||
});
|
||||
});
|
||||
|
||||
// legenda
|
||||
var legend = L.control({ position: "bottomright" });
|
||||
legend.onAdd = function () {
|
||||
var div = L.DomUtil.create("div", "legend");
|
||||
var rows = '<b>Kategorie</b>';
|
||||
Object.keys(CAT).forEach(function (k) {
|
||||
rows += '<div class="row"><i style="background:' + CAT[k].color + '"></i>' + CAT[k].label + '</div>';
|
||||
});
|
||||
div.innerHTML = rows;
|
||||
return div;
|
||||
};
|
||||
legend.addTo(map);
|
||||
})
|
||||
.catch(fail);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,269 @@
|
||||
/* =========================================================
|
||||
Heroltice 2026 — terénní zápisník
|
||||
Paleta: lesní inkoust + parchment, kategorie jako turistické značky
|
||||
========================================================= */
|
||||
|
||||
:root {
|
||||
--ink: #15231d;
|
||||
--ink-soft: #2b3d35;
|
||||
--paper: #eef1ea;
|
||||
--card: #fbfcf9;
|
||||
--green: #2f6f57;
|
||||
--green-deep: #1f4f3e;
|
||||
|
||||
--cat-zakladna: #cf3b2e;
|
||||
--cat-kultura: #2f6f9f;
|
||||
--cat-priroda: #3a7d44;
|
||||
--cat-archeologie: #b07d2b;
|
||||
--cat-zabava: #7d5ba6;
|
||||
|
||||
--line: rgba(21, 35, 29, 0.14);
|
||||
--muted: #5c6b63;
|
||||
|
||||
--maxw: 1080px;
|
||||
--r: 8px;
|
||||
|
||||
--disp: "Zilla Slab", Georgia, serif;
|
||||
--body: "Source Sans 3", system-ui, -apple-system, sans-serif;
|
||||
--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
|
||||
html { scroll-behavior: smooth; }
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
html { scroll-behavior: auto; }
|
||||
* { animation: none !important; transition: none !important; }
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: var(--body);
|
||||
color: var(--ink);
|
||||
background: var(--paper);
|
||||
line-height: 1.62;
|
||||
font-size: 17px;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
a { color: var(--green-deep); text-underline-offset: 2px; }
|
||||
a:hover { color: var(--cat-zakladna); }
|
||||
|
||||
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 22px; }
|
||||
|
||||
/* ---------- eyebrow / mono labels ---------- */
|
||||
.eyebrow {
|
||||
font-family: var(--mono);
|
||||
font-size: 12px;
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
color: var(--green);
|
||||
margin: 0 0 10px;
|
||||
}
|
||||
.coords { font-family: var(--mono); font-size: 12.5px; color: var(--muted); }
|
||||
|
||||
/* ---------- header / hero ---------- */
|
||||
.masthead {
|
||||
position: relative;
|
||||
background: var(--ink);
|
||||
color: #e9efe8;
|
||||
overflow: hidden;
|
||||
border-bottom: 4px solid var(--green);
|
||||
}
|
||||
/* jemná vrstevnicová textura */
|
||||
.masthead::before {
|
||||
content: "";
|
||||
position: absolute; inset: 0;
|
||||
background-image:
|
||||
radial-gradient(circle at 20% 30%, transparent 38px, rgba(255,255,255,0.04) 39px, transparent 40px),
|
||||
radial-gradient(circle at 20% 30%, transparent 70px, rgba(255,255,255,0.035) 71px, transparent 72px),
|
||||
radial-gradient(circle at 20% 30%, transparent 104px, rgba(255,255,255,0.03) 105px, transparent 106px),
|
||||
radial-gradient(circle at 78% 72%, transparent 50px, rgba(255,255,255,0.04) 51px, transparent 52px),
|
||||
radial-gradient(circle at 78% 72%, transparent 90px, rgba(255,255,255,0.03) 91px, transparent 92px);
|
||||
pointer-events: none;
|
||||
}
|
||||
.masthead .wrap { position: relative; padding: 46px 22px 30px; }
|
||||
|
||||
.kicker {
|
||||
display: inline-flex; align-items: center; gap: 9px;
|
||||
font-family: var(--mono); font-size: 12px; letter-spacing: 0.16em;
|
||||
text-transform: uppercase; color: #9fc3ad;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.kicker .blz { display: inline-flex; gap: 3px; }
|
||||
.kicker .blz i {
|
||||
width: 11px; height: 11px; border: 1.5px solid rgba(255,255,255,0.55); border-radius: 2px;
|
||||
}
|
||||
|
||||
.masthead h1 {
|
||||
font-family: var(--disp); font-weight: 700;
|
||||
font-size: clamp(34px, 6vw, 60px);
|
||||
line-height: 1.02; margin: 0 0 14px; letter-spacing: -0.01em;
|
||||
}
|
||||
.masthead h1 small {
|
||||
display: block; font-family: var(--body); font-weight: 400;
|
||||
font-size: clamp(15px, 2.2vw, 19px); color: #b9d2c2; letter-spacing: 0;
|
||||
margin-top: 10px; max-width: 60ch;
|
||||
}
|
||||
.masthead .meta {
|
||||
display: flex; flex-wrap: wrap; gap: 8px 26px; margin-top: 22px;
|
||||
font-family: var(--mono); font-size: 12.5px; color: #9fc3ad;
|
||||
}
|
||||
|
||||
/* ---------- map ---------- */
|
||||
.mapwrap { position: relative; background: var(--ink); }
|
||||
#map {
|
||||
height: clamp(380px, 62vh, 620px);
|
||||
width: 100%;
|
||||
background: #dfe4dc;
|
||||
}
|
||||
.maphint {
|
||||
font-family: var(--mono); font-size: 12px; color: #9fc3ad;
|
||||
text-align: center; padding: 9px 16px; background: var(--ink);
|
||||
}
|
||||
.map-error {
|
||||
display: none;
|
||||
padding: 18px 20px; margin: 0; background: #fbeceb; color: #7a241c;
|
||||
border-top: 3px solid var(--cat-zakladna); font-size: 15px;
|
||||
}
|
||||
.map-error code { font-family: var(--mono); font-size: 13px; }
|
||||
|
||||
/* Leaflet popup ladění */
|
||||
.leaflet-popup-content-wrapper { border-radius: var(--r); }
|
||||
.leaflet-popup-content { margin: 13px 15px; font-family: var(--body); }
|
||||
.pop-cat {
|
||||
font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em;
|
||||
text-transform: uppercase; font-weight: 500;
|
||||
}
|
||||
.pop-name { font-family: var(--disp); font-weight: 600; font-size: 18px; margin: 3px 0 6px; }
|
||||
.pop-desc { font-size: 14px; color: #333; margin: 0 0 8px; }
|
||||
.pop-foot { font-family: var(--mono); font-size: 12px; display: flex; justify-content: space-between; gap: 12px; }
|
||||
|
||||
/* značkové (KČT-style) markery */
|
||||
.map-blaze {
|
||||
display: block; width: 17px; height: 17px;
|
||||
border: 2.5px solid #fff; border-radius: 3px;
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.45);
|
||||
}
|
||||
.map-blaze--kultura { background: var(--cat-kultura); }
|
||||
.map-blaze--priroda { background: var(--cat-priroda); }
|
||||
.map-blaze--archeologie { background: var(--cat-archeologie); }
|
||||
.map-blaze--zabava { background: var(--cat-zabava); }
|
||||
.map-blaze--zakladna { background: var(--cat-zakladna); }
|
||||
.map-blaze--base {
|
||||
width: 22px; height: 22px; border-radius: 50%;
|
||||
box-shadow: 0 0 0 4px rgba(207,59,46,0.28), 0 1px 4px rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
/* legenda */
|
||||
.legend {
|
||||
background: var(--card); padding: 10px 12px; border-radius: var(--r);
|
||||
box-shadow: 0 1px 6px rgba(0,0,0,0.18); font-size: 13px; line-height: 1.7;
|
||||
}
|
||||
.legend b { font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); display: block; margin-bottom: 5px; }
|
||||
.legend .row { display: flex; align-items: center; gap: 8px; }
|
||||
.legend i { width: 13px; height: 13px; border: 2px solid #fff; border-radius: 3px; box-shadow: 0 0 0 1px var(--line); }
|
||||
|
||||
/* ---------- nav ---------- */
|
||||
.toc {
|
||||
position: sticky; top: 0; z-index: 500;
|
||||
background: rgba(238,241,234,0.94);
|
||||
backdrop-filter: blur(6px);
|
||||
border-bottom: 1px solid var(--line);
|
||||
}
|
||||
.toc .wrap { display: flex; flex-wrap: wrap; gap: 4px 18px; padding: 11px 22px; }
|
||||
.toc a {
|
||||
font-family: var(--mono); font-size: 12.5px; letter-spacing: 0.04em;
|
||||
text-decoration: none; color: var(--ink-soft); padding: 4px 0;
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
.toc a:hover { color: var(--green-deep); border-color: var(--green); }
|
||||
|
||||
/* ---------- sections ---------- */
|
||||
section { padding: 46px 0; border-top: 1px solid var(--line); }
|
||||
section:first-of-type { border-top: none; }
|
||||
|
||||
.sec-head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 6px; }
|
||||
.sec-num {
|
||||
font-family: var(--mono); font-size: 13px; color: var(--green);
|
||||
border: 1.5px solid var(--green); border-radius: 3px; padding: 2px 7px; flex: none;
|
||||
}
|
||||
h2 {
|
||||
font-family: var(--disp); font-weight: 700; font-size: clamp(24px, 3.4vw, 34px);
|
||||
line-height: 1.1; margin: 0; letter-spacing: -0.01em;
|
||||
}
|
||||
h3 {
|
||||
font-family: var(--disp); font-weight: 600; font-size: 20px;
|
||||
margin: 30px 0 8px; color: var(--green-deep);
|
||||
}
|
||||
h4 { font-family: var(--disp); font-weight: 600; font-size: 16px; margin: 18px 0 4px; }
|
||||
p { margin: 0 0 14px; }
|
||||
.lead { font-size: 18.5px; }
|
||||
|
||||
/* shrnutí (terénní pole) */
|
||||
.summary {
|
||||
background: var(--card); border-left: 4px solid var(--green);
|
||||
border-radius: 0 var(--r) var(--r) 0;
|
||||
padding: 16px 18px; margin: 18px 0 28px;
|
||||
box-shadow: 0 1px 4px rgba(21,35,29,0.06);
|
||||
}
|
||||
.summary .eyebrow { color: var(--green); margin-bottom: 6px; }
|
||||
.summary p { margin: 0; }
|
||||
|
||||
/* fakta strip */
|
||||
.facts {
|
||||
display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
|
||||
background: var(--line); border: 1px solid var(--line); border-radius: var(--r);
|
||||
overflow: hidden; margin: 0 0 6px;
|
||||
}
|
||||
.facts div { background: var(--paper); padding: 14px 16px; }
|
||||
.facts .n { font-family: var(--disp); font-weight: 700; font-size: 24px; color: var(--green-deep); }
|
||||
.facts .l { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
|
||||
|
||||
/* karty cílů */
|
||||
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; margin-top: 10px; }
|
||||
.card {
|
||||
background: var(--card); border: 1px solid var(--line); border-left: 5px solid var(--muted);
|
||||
border-radius: var(--r); padding: 15px 16px; cursor: pointer;
|
||||
transition: transform 0.16s ease, box-shadow 0.16s ease;
|
||||
}
|
||||
.card:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(21,35,29,0.12); }
|
||||
.card--kultura { border-left-color: var(--cat-kultura); }
|
||||
.card--priroda { border-left-color: var(--cat-priroda); }
|
||||
.card--archeologie { border-left-color: var(--cat-archeologie); }
|
||||
.card--zabava { border-left-color: var(--cat-zabava); }
|
||||
.card--zakladna { border-left-color: var(--cat-zakladna); }
|
||||
.card .c-top { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
|
||||
.card .c-cat { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
|
||||
.card .c-dist { font-family: var(--mono); font-size: 12px; color: var(--green); white-space: nowrap; }
|
||||
.card h4 { margin: 5px 0 7px; }
|
||||
.card .c-desc { font-size: 14.5px; color: #3a463f; margin: 0 0 10px; }
|
||||
.card .c-coords { font-family: var(--mono); font-size: 11.5px; color: var(--muted); }
|
||||
.card a.c-src { font-family: var(--mono); font-size: 12px; }
|
||||
|
||||
/* odkazy / zdroje */
|
||||
.linklist { columns: 2; column-gap: 34px; font-size: 14.5px; }
|
||||
.linklist h4 { break-after: avoid; }
|
||||
.linklist ul { margin: 0 0 14px; padding-left: 18px; }
|
||||
.linklist li { margin-bottom: 5px; break-inside: avoid; }
|
||||
@media (max-width: 620px) { .linklist { columns: 1; } }
|
||||
|
||||
/* upozornění */
|
||||
.note {
|
||||
background: #fff8e9; border: 1px solid #e6cf9b; border-radius: var(--r);
|
||||
padding: 16px 18px;
|
||||
}
|
||||
.note ul { margin: 8px 0 0; padding-left: 18px; }
|
||||
.note li { margin-bottom: 6px; }
|
||||
|
||||
/* footer */
|
||||
footer {
|
||||
background: var(--ink); color: #9fc3ad; padding: 26px 0; margin-top: 10px;
|
||||
font-family: var(--mono); font-size: 12.5px; border-top: 4px solid var(--green);
|
||||
}
|
||||
footer a { color: #cfe3d6; }
|
||||
|
||||
@media (max-width: 700px) {
|
||||
.facts { grid-template-columns: repeat(2, 1fr); }
|
||||
body { font-size: 16px; }
|
||||
}
|
||||
Reference in New Issue
Block a user