blockquote {
	font-style: italic;
}

table {
	border-collapse:collapse;
}

code {
	font-size : 1.2em;
}

var {
	font-style : italic;
}

img.block {
	display : block;
}

img.left {
	margin: 0 15px 0 0;
}

img.right {
	margin: 0 0 0 15px;
}

p img.icon {
    vertical-align:  text-bottom;
    display: inline;
}

/* Ikony typů souborů (i.pdf/i.ps/i.pdfi/i.html) z ../fo tu nejsou:
   krajské weby značku <i class="…"> nepoužívají a odkazy na .pdf
   se vypisují textem. Odstraněno i pět SVG/GIF z assets/pic/. */

#zadani dl {
	margin: 0px
}

#zadani dt {
	margin-top: 1.5em;
	margin-bottom : .5em;
	font-weight : bold;
}
#zadani dd {
	margin-left: 0px;
}

#zadani dd li {
	list-style-type : lower-alpha;
	padding-left: 0px;
}

#photoGallery div.photoContainer {
	margin: 3px;
	padding: 0px;
	border:1px solid #d0d8dc;
	float: left;
}

#photoGallery div.photoContainer a {
	display: flex;
	align-items: center;
	justify-content: center;
	margin:2px;
	padding:0px;
	width: 175px;
	height: 175px;
	overflow:hidden;
}

#photoGallery div.photoContainer a img {
	border:none;
	padding: 0;
}

#photoGallery div.photoContainer a:hover {
	background:#d0d8dc;
}
/* Rozcestník fotogalerií Táni (tana/foto.html): dlaždice ročníků */
.roky {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr));
	gap: 14px;
}
.rok-dlazdice {
	position: relative;
	display: block;
	border: 1px solid #d0d8dc;
	overflow: hidden;
}
.rok-dlazdice img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	transition: scale 0.2s;
}
.rok-dlazdice:hover img {
	scale: 1.04;
}
.rok-dlazdice .rok {
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	padding: 30px 12px 8px;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.65));
	color: #fff;
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
	font-weight: 700;
	font-size: 1.6em;
	line-height: 1.2;
}
.rok-dlazdice .rok small {
	display: block;
	font-family: "DejaVu Sans", "Lucida Sans", sans-serif;
	font-weight: normal;
	font-size: .55em;
	opacity: .9;
}

/* náhled fotky přes celou obrazovku (js/fo.js); klik na fotku = další */
dialog.lightbox {
	border: none;
	padding: 10px;
	max-width: 94vw;
	max-height: 94vh;
}
dialog.lightbox::backdrop {
	background: rgba(0, 0, 0, 0.75);
}
dialog.lightbox img {
	display: block;
	max-width: 90vw;
	max-height: 86vh;
	cursor: pointer;
}
dialog.lightbox .popisek {
	font-size: .9em;
	color: #555;
	padding-top: 6px;
	text-align: center;
}

/* Klikací mapa krajů (html/kraje_mapa.html) */
.mapa-kraju {
	display: block;
	width: 100%;
	height: auto;
	margin: 10px 0;
}
.mapa-kraju path {
	fill: #dfe6ec;
	stroke: #fff;
	stroke-width: 1.2;
	stroke-linejoin: round;
	transition: fill 0.15s;
}
.mapa-kraju a:hover path {
	fill: #4a5865;
}
.kraje-sloupce {
	max-width: 40em;
	columns: 2 14em;
	column-gap: 40px;
	margin-top: 1em;
}
/* kraje bez funkčního webu */
.kraje-sloupce .bez-webu {
	color: #999;
}

/* hlavičky „Kategorie A" ve fontu značky */
table.zadani th {
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
}
table.zadani td {
    text-align: center;
	vertical-align: middle !important;
}
/* bootstrapí nowrap v .table-responsive by rozbil fixní sloupce studijních textů */
.table-responsive > .table.zadani > tbody > tr > td,
.table-responsive > .table.zadani > thead > tr > th {
	white-space: normal;
}
table.zadani td br + small {
	display: block;
	margin-top: 5px;
}

/* Studijní texty (html/texty_arch.html); filtr obsluhuje js/fo.js */
.tx-filtr {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin: 0 0 14px;
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
}
.tx-filtr a {
	border: 1px solid #d0d8dc;
	border-radius: 15px;
	padding: 7px 14px;
	font-size: .85em;
	line-height: 1;
}
.tx-filtr a:hover {
	text-decoration: none;
	border-color: #4a5865;
}
.tx-filtr a.akt {
	background: #4a5865;
	color: #fff;
	border-color: #4a5865;
}
.tx-radky {
	border-top: 1px solid #e3e8eb;
	margin-bottom: 1.5em;
}
.tx-radek {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 8px 4px;
	border-bottom: 1px solid #e3e8eb;
}
.tx-radek .info {
	flex: 1;
}
.tx-radek .autor {
	color: #777;
	font-size: .85em;
}
.tx-radek .pozn {
	font-size: .85em;
	color: #777;
}
.tx-radek .pozn ul {
	margin: 2px 0 0;
	padding-left: 1.3em;
}
.tx-radek .kat {
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
	font-size: .72em;
	line-height: 1;
	background: #4a5865;
	color: #fff;
	/* jen verzálky bez diakritiky: optický střed chce o px víc paddingu nahoře */
	padding: 5px 8px 3px;
	border-radius: 10px;
	white-space: nowrap;
}
.tx-radek i.pdf {
	width: 32px;
	height: 32px;
	background-size: 32px 32px;
}
/* ps verze je jen doplněk, ikona schválně menší */
.tx-radek i.ps {
	width: 20px;
	height: 20px;
	background-size: 20px 20px;
}
/* zástupný sloupec, ať jsou pdf ikony pod sebou i bez ps verze */
.tx-radek .bez-ps {
	width: 20px;
}
.tx-radek .jen-tiskem {
	color: #999;
	font-size: .8em;
	white-space: nowrap;
}

/* Vizitky ÚK FO (html/uvfo.html) */
.vizitky {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr));
	gap: 14px;
}
.vizitka {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 14px;
	border: 1px solid #d0d8dc;
	background: #fbfcfd;
	padding: 12px;
}
.vizitka img, .vizitka .bez-fotky {
	width: 88px;
	height: 88px;
	object-fit: cover;
	border-radius: 4px;
}
.vizitka .bez-fotky {
	background: #e6ebee;
	color: #a3adb8;
	font-size: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* dlouhý e-mail nesmí roztáhnout sloupec přes okraj karty */
.vizitka > div {
	min-width: 0;
}
.vizitka b {
	display: block;
}
.vizitka .role {
	color: #4a5865;
	font-size: .85em;
	font-style: italic;
}
.vizitka .mail {
	font-size: .85em;
	overflow-wrap: anywhere;
}
.vizitka .kde {
	font-size: .8em;
	color: #777;
	margin-top: 2px;
}
.vizitka .kraj {
	float: right;
	background: #4a5865;
	color: #fff;
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
	font-size: .72em;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 10px;
	margin: 2px 0 2px 8px;
}



/* Hlavička ročníku MFO s logem (html/mfo_czu.html) */
.mfo-rocnik {
	display: flex;
	align-items: center;
	gap: 1em;
	border-bottom: 2px solid #d0d8dc;
	margin-bottom: .5em;
}
.mfo-rocnik > div {
	flex: 1;
}
.mfo-rocnik h3 {
	margin-bottom: .2em;
}
.mfo-rocnik p {
	margin: 0 0 .5em;
}
.mfo-rocnik img {
	height: 72px;
	flex-shrink: 0;
}

/* Jak se zapojit do FO (homepage, html/zapojeni.html);
 * osy .cesta/.krok sdílí i /terminy (html/terminy.html) */
.osa-blok {
	border: 1px solid #d0d8dc;
	background: #fbfcfd;
	padding: 12px 12px;
	margin-bottom: 12px;
}
.osa-hlavicka {
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: .6em;
	align-items: start;
}
.osa-hlavicka h3 {
	margin: 4px 0 0;
}
.osa-hlavicka small {
	color: #777;
	grid-column: 1;
}
.osa-hlavicka .btn-fo {
	grid-column: 2;
	grid-row: 1 / span 2;
}
.btn-fo {
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
	display: inline-block;
	background: #4a5865;
	color: #fff;
	padding: 5px 12px;
	border-radius: 3px;
	text-decoration: none;
	font-weight: bold;
	font-size: .9em;
	white-space: nowrap;
}
.btn-fo:hover {
	background: #37424d;
	color: #fff;
	text-decoration: none;
}
/* podnadpis kategorie uvnitř osa-bloku (/terminy) */
.osa-podnadpis {
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
	color: #4a5865;
	border-bottom: 1px solid #e3e8eb;
	padding-bottom: 2px;
	margin: 14px 0 0;
}
.osa-podnadpis .btn-fo {
	float: right;
	font-size: .78em;
	padding: 3px 10px;
	margin-top: -2px;
}
.cesta {
	display: flex;
	margin: 1.6em 0 .6em;
	text-align: center;
}
.krok {
	flex: 1;
	position: relative;
	padding: 0 6px;
	min-width: 100px;
}
.krok::before {
	content: '';
	position: absolute;
	top: 17px;
	left: -50%;
	width: 100%;
	height: 3px;
	background: #c9d6de;
}
.krok:first-child::before {
	display: none;
}
.krok.vedlejsi::before {
	background: repeating-linear-gradient(90deg, #c9d6de 0 6px, transparent 6px 12px);
}
.tecka {
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
	width: 36px;
	height: 36px;
	line-height: 32px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid #4a5865;
	color: #4a5865;
	font-weight: bold;
	margin: 0 auto 8px;
	position: relative;
	z-index: 1;
}
.krok.aktualni .tecka {
	background: #4a5865;
	color: #fff;
}
.krok.vedlejsi .tecka {
	border-color: #a3adb8;
	color: #a3adb8;
	border-style: dashed;
}
/* nejbližší nadcházející krok (označuje js/fo.js podle data) */
.krok .stitek {
	position: absolute;
	top: -17px;
	left: 0;
	right: 0;
	text-align: center;
	color: #3c7a12;
	font-size: .7em;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.krok.nadchazi .tecka {
	background: #94CC5F;
	border-color: #6fae3a;
	border-style: solid;
	color: #fff;
}
.kdy .pristi {
	color: #3c7a12;
	font-weight: bold;
}
.krok .nazev {
	font-weight: bold;
	font-size: .95em;
}
.krok .kdy {
	color: #777;
	font-size: .85em;
}
.krok .pozn {
	font-size: .8em;
	color: #999;
}
#zapojeni .pozn-pod-osou {
	color: #777;
	font-size: .85em;
	margin: 0;
}
#zapojeni .kategorie {
	display: flex;
	gap: 6px;
	margin: 1em 0 .3em;
	flex-wrap: wrap;
}
/* skupiny ZŠ a SŠ se lámou jako celky — první zlom padne mezi E a D */
#zapojeni .skupina {
	display: flex;
	gap: 6px;
	flex: 1 1 auto;
	flex-wrap: wrap;
}
#zapojeni a.kat {
	flex: 1;
	min-width: max-content;
	text-align: center;
	border: 1px solid #d0d8dc;
	padding: 8px 4px 10px;
	background: #fff;
	text-decoration: none;
	color: #333;
}
#zapojeni a.kat:hover {
	border-color: #4a5865;
	background: #f4f6f8;
}
#zapojeni a.kat b {
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
	display: block;
	font-size: 1.5em;
	color: #4a5865;
}
#zapojeni a.kat small {
	color: #777;
	display: block;
	line-height: 1.4;
}
#zapojeni a.kat .termin {
	display: block;
	color: #777;
	font-size: .75em;
	line-height: 1.4;
	margin-bottom: 2px;
	white-space: nowrap;
}
#zapojeni a.kat .zadani {
	color: #446;
	font-size: .85em;
	white-space: nowrap;
}
#zapojeni .predel {
	flex: 0 0 2px;
	background: #d0d8dc;
}
/* pod 1200 px se skupiny lámou pod sebe: svislý předěl ZŠ/SŠ ztrácí smysl
 * a napřed jdou SŠ kategorie (D–A); kategorie A v nakousnutém řádku
 * záměrně roste — je nejdůležitější */
@media (max-width: 1199px) {
	#zapojeni .predel {display: none}
	#zapojeni .skupina:last-child {order: -1}
}
/* užší displeje: kroky os se nesmí mačkat (dlouhé názvy by se překrývaly),
 * radši ať osa jede do stran — scrollbar se objeví, jen když je potřeba */
@media (max-width: 900px) {
	.cesta {
		overflow-x: auto;
		padding-top: 17px;
		margin-top: .6em;
		padding-bottom: 6px;
	}
	.krok {
		min-width: 150px;
	}
}
@media (max-width: 600px) {
	#zapojeni .gymnazia {display: none}
}
/* Číslované kroky zapojení (html/abcd.html) */
ol.kroky {
	counter-reset: krok;
	list-style: none !important;
	margin: 0 0 1em;
	padding: 0;
}
ol.kroky > li {
	list-style: none !important;
	counter-increment: krok;
	position: relative;
	padding: 0 0 14px 52px;
}
ol.kroky > li::before {
	content: counter(krok);
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #4a5865;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 34px;
	font-family: "DejaVu Sans", "Lucida Sans", sans-serif;
}
.tip {
	background: #eef4e5;
	border: 1px solid #c9deb0;
	border-radius: 4px;
	padding: 10px 14px;
}

/* Výsledkové listiny jako tlačítka (html/abcd.html) */
.vysledky-rada {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin: 14px 0;
}
.vysledky-rada a {
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
	flex: 1;
	min-width: 10em;
	text-align: center;
	background: #4a5865;
	color: #fff;
	padding: 10px 12px;
	border-radius: 3px;
	text-decoration: none;
	font-weight: bold;
}
.vysledky-rada a:hover {
	background: #37424d;
	text-decoration: none;
}
.vysledky-rada small {
	display: block;
	font-weight: normal;
	font-size: .8em;
	opacity: .8;
}

/* Stránka s bočním obsahem (html/abcd.html) */
.s-tocem {
	display: grid;
	grid-template-columns: 1fr 210px;
	gap: 36px;
	align-items: start;
}
.s-tocem h3 {
	border-bottom: 2px solid #d0d8dc;
	padding-bottom: 4px;
}
.obsah-toc {
	position: sticky;
	top: 12px;
	border-left: 2px solid #d0d8dc;
	padding-left: 14px;
	font-size: .9em;
}
.obsah-toc a {
	display: block;
	margin: 8px 0;
}
.obsah-toc a.akt {
	border-left: 3px solid var(--akcent, #3E5199);
	margin-left: -17px;
	padding-left: 14px;
	font-weight: bold;
}
@media (max-width: 900px) {
	.s-tocem {display: block}
	.obsah-toc {display: none}
}

/* Časová osa celostátních kol (html/celost_arch.html) */
.ck-osa {
	position: relative;
	padding-left: 90px;
}
.ck-osa::before {
	content: '';
	position: absolute;
	left: 62px;
	top: 6px;
	bottom: 6px;
	width: 3px;
	background: #c9d6de;
}
.ck-bod {
	position: relative;
	padding: 0 0 20px;
}
.ck-bod::before {
	content: '';
	position: absolute;
	left: -33px;
	top: 4px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid #4a5865;
}
.ck-bod .rok {
	font-family: "Space Grotesk", "DejaVu Sans", "Lucida Sans", sans-serif;
	position: absolute;
	left: -92px;
	top: 2px;
	width: 44px;
	text-align: right;
	font-weight: bold;
	color: #4a5865;
}
.ck-bod b {
	font-size: 1.1em;
}
.ck-bod > small {
	color: #999;
	margin-left: 6px;
}
.ck-bod .odkazy {
	font-size: .9em;
	margin-top: 2px;
}
.ck-bod .odkazy a {
	margin-right: 14px;
	white-space: nowrap;
}
.ck-bod .odkazy a::before {
	content: '» ';
	color: #a3adb8;
}
/* kola bez odkazů */
.ck-bod.bez::before {
	border-color: #a3adb8;
	border-style: dashed;
}
.ck-bod.bez b {
	color: #888;
	font-weight: normal;
}
@media (max-width: 600px) {
	.ck-osa {padding-left: 72px}
	.ck-osa::before {left: 50px}
	.ck-bod::before {left: -27px}
	.ck-bod .rok {left: -74px; width: 38px; font-size: .95em}
	.ck-bod .odkazy a {white-space: normal; display: inline-block}
}

hr.aktuality-predel {
	margin: 30px 0 25px;
	border-top: 2px solid #d0d8dc;
}

/* Nejbližší nadcházející termín (zvýrazňuje js/fo.js) */
tr.aktualni td, span.aktualni {
	font-weight: bold;
}
