/*
  předpokládá se načtení základní css definice "proměnných",
  jmenovitě pak tedy existence definice proměnných:
  --my-black
  --my-white
  --selected
  --pale-grey
  --pale-grey-two
  --max-width
  --type-review
  --type-test
  --type-story
  --type-news
*/
:root {
  --header-color: var(--my-black);
  --header-bg-color: var(--pale-grey);
  --header-height: 70px;
  --header-mobile-height: 60px;
  --header-width: 100%;
  --header-max-width: var(--max-width);
  --header-h-padding: 20px;

  --logo-black: var(--my-black);
  --logo-blue: var(--selected);

  --menu-font-size: 13px;
  --menu-font-weight: bold;
  --menu-text-transform: uppercase;
  --menu-transition: 0.2s ease;

  --menuitem-hover-bg-color: var(--pale-grey-two);
  --menuitem-h-padding: 2vw;
  --menuitem-bar-position: inset 0 -5px 0 ;

  --submenuitem-height: 40px;
  --submenuitem-folded-height: 30px;
  --submenuitem-h-padding: 1vw;
  --submenuitem-v-spacing: 1px;
  --submenuitem-selected-color: var(--my-white);
  --submenuitem-selected-bg-color: var(--my-black);
  --submenuitem-bar-position: inset 0 0 0;

  --subsubmenu-padding: 10px;
  --subsubmenuitem-color: var(--my-black);
  --subsubmenuitem-bg-color: var(--my-white);
}
/* specifické barvy vybraných položek submenu - začátek */
  .type-test {
    --submenuitem-selected-color: var(--my-black);
    --submenuitem-selected-bg-color: var(--type-review);
    --submenuitem-bar-position: inset 5px 0 0;
  }
  .type-lessons {
    --submenuitem-selected-color: var(--my-black);
    --submenuitem-selected-bg-color: var(--type-news);
    --submenuitem-bar-position: inset 5px 0 0;
  }
  .type-user-menu {
    --submenuitem-selected-color: var(--my-white);
    --submenuitem-selected-bg-color: var(--type-user-menu);
    --submenuitem-bar-position: inset 5px 0 0;
  }
  .submenu {
    /* --menuitem-selected-bg-color: transparent; */
    --menuitem-bar-position: inset 0 0 0;
  }
/* specifické barvy vybraných položek submenu - konec */

/* úplně základní nastavení - začátek */
  html {
    -webkit-text-size-adjust: none;
  }
  body {
    margin: 0;
    padding: 0;
    max-width: 100vw;
    overflow-x: hidden;
    font-family: var(--default-font);
    font-size: 18px;
    font-weight: 400;
    /* font-weight: 300; */
    line-height: 30px;
    color: var(--my-black);
  }
  input:not([type="checkbox"]), button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  button {
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
  }
  a {
    color: var(--my-black);
  }

  #main-logo {
    text-decoration: none;
    font-size: 1.3em;
    font-weight: bold;
  }
  /* skrytí technických check-boxů sloužících jen rozbalování submenu na dotykových zařízeních (bez hover událostí) */
  #header input[type="checkbox"] {
    position: fixed;
    left: -1000px;
    top: -1000px;
  }
  /* samotný obsah stránky */
  #page {
    position: relative;
    box-sizing: border-box;
    min-width: 300px;
    max-width: var(--max-width);
    min-height: calc(100vh - 200px);
    margin: 0 auto;
    padding: var(--header-h-padding);
  }
/* úplně základní nastavení - konec */

/* drobečková navigace - začátek */
  .breadcrumb {
    margin: 20px 0;
    font-size: 15px;
  }
  /* .breadcrumb a {
    text-decoration: none;
  }
  .breadcrumb a:hover {
    text-decoration: underline;
  } */
  .breadcrumb a::after {
    content: "  ▸ ";
    display:inline-block;
  }
  .breadcrumb a:hover::after {
    text-decoration: none !important;
  }
/* drobečková navigace - konec */

/* >>> lang-filter - začátek >>> */
	:root {
		--lang-cnt: 1;
	}	
	form#lang-filter {
		box-sizing: content-box;
		width: calc(100% + 20px);
		background-color: var(--pale-grey-two);
		margin: 0 -10px 20px -10px;
		padding: 0;
	}
	form#lang-filter .controls {
		display: none;
	}
	form#lang-filter h4 {
		margin: 0;
		padding: 5px 10px;
		cursor: pointer;
	}
	form#lang-filter ul {
		width: 100%;
		margin: 0;
		padding: 0;
		display: none;
	}
	form#lang-filter.opened h4 {
		color: var(--my-white);
		background-color: var(--my-black);
	}
	form#lang-filter.opened ul {
		display: flex;
		flex-wrap: wrap;
	}
	form#lang-filter li {
		display: block;
		list-style: none;
		width: 100%;
	}
	form#lang-filter li.language {
		width: calc(100% / var(--lang-cnt));
		box-sizing: border-box;
		box-shadow: 1px 0 0 var(--my-white), 0 1px 0 var(--my-white);
		/* background-color: var(--pale-grey-two); */
		margin: 0;
		padding: 2px 10px;
		font-weight: bold;
		/* border-bottom: 1px solid var(--my-white); */
	}
	form#lang-filter li.language:nth-last-of-type(2) {
		box-shadow: 1px 0 0 var(--my-white), 1px 0 0 var(--my-white), 0 1px 0 var(--my-white);
	}
	form#lang-filter li.language i {
		font-style: normal;
		font-weight: normal;
		font-size: 16px;
		color: var(--my-black);
		background-color: var(--pale-grey);
		width: 50px;
		height: 22px;
		line-height: 24px;
		padding: 0;
		margin: 0;
		text-align: center;
		border-radius: 2px;
	}
	form#lang-filter li.language label {
		cursor: pointer;
		width: 100%;
		height: 40px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	form#lang-filter li.language label b {
		display: inline-block;
		height: 30px;
		width: 100%;
	}
	form#lang-filter li.language input[type="checkbox"] {
		position: fixed;
		top: -100px;
		left: -100px;
	}
	form#lang-filter li.language input[type="checkbox"] ~ label::before {
		font-family: "Font Awesome 5 Free";
		content: "\a0";
		font-weight: 400;
		font-size: 20px;
		margin: 0 10px 0 0;
		color: var(--tealish-dark);
		background-color: var(--my-white);
		border-radius: 2px;
		width: 30px;
		min-width: 30px;
		height: 30px;
		position: relative;
		display: inline-block;
		text-align: center;
	}
	form#lang-filter li.language input[type="checkbox"]:checked ~ label::before {
		font-weight: 900;
		content: "\f00c";
	}
	form#lang-filter li.language input[type="checkbox"]:focus ~ label::before {
		outline: 2px solid var(--selected);
	}
	form#lang-filter li.submit {
		box-shadow: inset 0 1px 0 var(--my-white);
	}
	form#lang-filter li.submit input {
		margin: 5px 0 5px 10px;
		padding: 0;
		display: inline-block;
		box-sizing: border-box;
		width: calc(50% - 15px);
		height: 40px;
		line-height: 40px;
		background-color: var(--pale-grey-two);
		color: var(--my-black);
		border-radius: 3px;
		border: 2px solid var(--my-white);
		text-decoration: none;
		text-transform: uppercase;
		font-size: 13px;
		cursor: pointer;
	}
	form#lang-filter li.submit input[type="submit"] {
		background-color: var(--pale-grey);
		font-weight: bold;
	}
	form#lang-filter li.submit input:hover {
		background-color: var(--my-white);
	}
	form#lang-filter:not(.opened) li.submit {
		display: none;
	}
	/* mobil na šířku */
	@media (min-width: 559px) {
		:root {
			--lang-cnt: 2;
		}	
	}
	/* tablet na výšku */
	@media (min-width: 768px), print {
		:root {
			--lang-cnt: 3;
		}	
		form#lang-filter {
			display: flex;
			margin: 20px 0 0 0;
			width: 100%;
			height: 44px;
			font-size: 13px;
		}	
		form#lang-filter .controls {
			display: flex;
			flex: none;
			height: 45px;
			margin: 0;
			padding: 0 0 0 10px;
			box-shadow: -1px 0 0 var(--my-white);
		}
		form#lang-filter .controls button {
			margin: 5px 10px 5px 0;
			padding: 0 10px;
			height: 35px;
			line-height: 35px;
			text-align: center;
			color: var(--my-black);
			background-color: var(--pale-grey);
			border-radius: 2px;
			border: none;
			text-transform: none;
			cursor: pointer;
		}
		form#lang-filter li.language input[type="checkbox"] ~ label::before {
			font-size: 15px;
			margin: 0 10px 0 0;
			width: 25px;
			min-width: 25px;
			height: 25px;
		}
		form#lang-filter li.language label b {
			margin-top: 3px;
  		position: relative;
		}
		form#lang-filter:not(.minified) .controls button:hover {
			background-color: var(--my-white);
		}
		form#lang-filter ul {
			display: flex;
			flex-wrap: wrap;
			overflow: hidden;
			box-shadow: -1px 0 0 var(--my-white);
		}
		form#lang-filter.opened {
			height: auto;
		}
		form#lang-filter:not(.opened) ul li.language {
			width: calc(100% / (var(--lang-cnt) - 1));
		}
		form#lang-filter li.language i {
			font-size: 13px;
		}
		form#lang-filter h4 {
			/* width: 8em; */
			flex: none;
			line-height: 35px;
		}
		form#lang-filter.opened h4 {
			color: var(--my-black);
			background-color: var(--pale-grey-two);
		}
		form#lang-filter.opened .controls {
			display: none;
		}
		form#lang-filter.minified .controls {
			display: block;
		}
		form#lang-filter.minified {
			display: block;
			width: 140px;
			height: 28px;
			overflow: hidden;
			position: absolute;
			top: -30px;
			right: 20px;
			margin: 0;
		}
		form#lang-filter.minified h4 {
			/* font-size: 80%; */
			height: 28px;
			width: 100%;
			box-sizing: border-box;
			text-align: center;
			line-height: 20px;
			pointer-events: none;
			position: absolute;
			top: 0;
			left: 0;
		}
		form#lang-filter.minified .controls #lang-filter-minified {
			background: transparent;
			width: 100%;
			height: 0;
			padding-top: 30px;
			overflow: hidden;
			position: absolute;
			top: 0;
			left: 0;
			outline: none;
		}
		form#lang-filter.minified #all-languages,
		form#lang-filter.minified ul {
			display: none;
		}
		form#lang-filter.minified ~ #car-selector {
			margin-top: 30px;
		}
	}
	/* tablet na šířku */
	@media (min-width: 1024px), print {
		:root {
			--lang-cnt: 4;
		}
	}
	/* desktop */
	@media (min-width: var(--max-width)), print {
		:root {
			--lang-cnt: 5;
		}	
	}
/* <<< lang-filter - konec <<< */

/* >>> #footer - začátek >>> */
	#footer {
		line-height: 30px;
	}
	#footer li {
		display: inline;
		margin: 0 20px 0 0;
	}
	#footer li.b {
		font-size: 15px;
		font-weight: bold;
	}
	#footer li.l {
		font-size: 16px;
		font-weight: 300;
	}
	#footer li.new-line,
	#footer li.new-line-before,
	#footer li.new-line-after {
		white-space: pre-line;
	}
	#footer li.new-line-before::before,
	#footer li.new-line::after,
	#footer li.new-line-after::after {
		content:"\A";
	}
	#footer li a:hover {
		color: var(--aqua-marine);
	}
	#footer li.icon a,
	#footer li.icon-only a {
		height: 30px;
		display: inline-block;
		margin: 0;
		padding: 0;
		text-decoration: none;
		color: var(--aqua-marine);
	}
	#footer li.icon-only a,
  a.icon-only {
		width: 30px;
		overflow: hidden;
	}
	#footer li.icon a:hover,
	#footer li.icon-only a:hover {
		color: var(--my-white);
	}
	#footer li.icon a::before,
	#footer li.icon-only a::before,
  a.icon::before,
  a.icon-only::before {
		content: "";
		width: 30px;
		height: 30px;
		line-height: 30px;
		text-align: center;
		font-family: "Font Awesome 5 Brands";
		display: inline-block;
		margin: 0;
		vertical-align: middle;
		font-size: 24px;
		font-weight: 400;
	}
	#footer li.icon a::before,
	a.icon::before {
		margin-right: 10px;
	}
	#footer li.icon.youtube a::before,
	#footer li.icon-only.youtube a::before,
  a.icon.youtube::before,
  a.icon-only.youtube::before {
		content: "\f167";
	}
	#footer li.icon.instagram a::before,
	#footer li.icon-only.instagram a::before,
  a.icon.instagram::before,
  a.icon-only.instagram::before {
		content: "\f16d";
	}
	#footer li.icon.twitter a::before,
	#footer li.icon-only.twitter a::before,
  a.icon.twitter::before,
  a.icon-only.twitter::before {
		content: "\f099";
	}
	#footer li.icon.facebook a::before,
	#footer li.icon-only.facebook a::before,
  a.icon.facebook::before,
  a.icon-only.facebook::before {
		content: "\f082";
	}
	#footer li.icon.tiktok a::before,
	#footer li.icon-only.tiktok a::before,
  a.icon.tiktok::before,
  a.icon-only.tiktok::before {
		content: "\e07b";
	}
	#footer li.icon.linkedin a::before,
	#footer li.icon-only.linkedin a::before,
  a.icon.linkedin::before,
  a.icon-only.linkedin::before {
		content: "\f08c";
	}
	#footer li.icon.email a::before,
	#footer li.icon-only.email a::before,
  a.icon.email::before,
  a.icon-only.email::before {
		content: "\f0e0";
		font-family: "Font Awesome 5 Free";
	}
	#footer li.uppercase a {
		text-transform: uppercase;
	}

  #footer li.language {
    display: inline-block;
    white-space: nowrap;
  }
  #footer li.language a {
    margin-right: 10px;
    display: inline-block;
    border: 1px solid var(--my-white);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
  }
  #footer li.language a:hover {
    color: var(--selected);
    border-color: var(--selected);
  }
  #footer li.language a.selected {
    background-color: var(--my-white);
    color: var(--my-black);
    font-weight: bold;
  }
  #footer li.language a.selected:hover {
    color: var(--my-black);
    background-color: var(--selected);
    border-color: var(--selected);
  }

	/* #footer li.copy, */
	#footer li a {
		white-space: nowrap;
		text-decoration: none;
	}
/* <<< #footer - konec <<< */


/* ODSUD DOLŮ JDE O DEFINICE VZHLEDU HLAVNÍHO MENU */


/* společené definice pro všechny podoby menu - začátek */
  /* samotné hlavní menu */
  #main-menu {
		position: relative;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    text-transform: var(--menu-text-transform);
    font-size: var(--menu-font-size);
    font-weight: var(--menu-font-weight);
  }
  /* základní definice submenu */
  #main-menu > li > ul {
    box-sizing: border-box;
    position: relative;
    background-color: var(--my-white);
    margin: 0;
    padding: 0;
    overflow: hidden;
    transition: var(--menu-transition);
    z-index: 100;
  }
  #main-menu > li > ul li {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  /* základní podoba položky submenu */
  #main-menu > li > ul li a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    white-space: nowrap;
    height: var(--submenuitem-height);
    line-height: var(--submenuitem-height);
    margin: 0 0 var(--submenuitem-v-spacing) 0;
    padding: 0 var(--submenuitem-h-padding);
    color: var(--header-color);
    background-color: var(--menuitem-hover-bg-color);
    text-decoration: none;
    overflow: hidden;
    transition: var(--menu-transition);
    box-shadow: var(--submenuitem-bar-position) var(--submenuitem-selected-bg-color);
  }
  #main-menu > li > ul li a:first-of-type {
    margin: var(--submenuitem-v-spacing) 0;
  }
  /* sub-submenu */
  #main-menu > li ul ul {
    margin: 0;
    padding: var(--subsubmenu-padding);
    padding-top: 0;
    background-color: var(--menuitem-hover-bg-color);
  }
  #main-menu > li ul h4 {
    padding: 0 var(--subsubmenu-padding);
    margin: 0;
    line-height: var(--submenuitem-height);
    height: var(--submenuitem-height);
    color: var(--battleship-grey);
    background-color: var(--menuitem-hover-bg-color);
    text-transform: none;
  }
  #main-menu > li ul ul li a {
    background-color: var(--subsubmenuitem-bg-color);
    box-shadow: none;
  }
  #main-menu > li ul ul li:first-of-type a {
    margin-top: 0;
  }
/* společené definice pro všechny podoby menu - konec */

/* jen mobil */
@media screen and (max-width: 767px) {
  :root {
    --header-h-padding: 10px;
    --submenuitem-height: 50px;
    --submenuitem-v-spacing: 2px;
    --submenuitem-h-padding: 20px;
    --menu-font-size: 16px;
    --submenuitem-bar-position: inset 5px 0 0 ;
  }

  /* vzhled hlavičky na mobilu */
  #header {
    background-color: var(--header-bg-color);
    height: var(--header-mobile-height);
    overflow: visible;
    padding: 0;
  }
  #main-logo {
    position: relative;
    display: inline-block;
    margin: 12px 0 0 10px;
    padding: 0;
    /* font-size: 0; */
    z-index: 12;
  }
  label[for="show-menu"] {
    float: right;
    cursor: pointer;
    position: absolute;
    right: 10px;
    z-index: 12;
    font-size: 0;
		width: 30px;
		height: 40px;
		overflow: hidden;
		display: block;
  }
  label[for="show-menu"]::before {
    content: "\f0c9";
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    color: var(--battleship-grey);
    margin: 15px 0 0 0;
    vertical-align: middle;
    font-weight: 900;
    font-size: 24px;
    width: 30px;
    text-align: center;
  }

  /* tlačítko pro založení vlastní recenze */
  #submit-review {
    position: fixed;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    top: 0;
    height: 120px;
    left: 100%;
    transition: left var(--menu-transition);
    background-color: var(--pale-grey);
    z-index: 11;
  }
  #submit-review  a {
    position: relative;
    display: block;
    margin: 60px auto 0 auto;
    width: calc(100% - 80px);
    height: 50px;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 13px;
    color: var(--my-black);
    background-color: var(--pale-grey-two);
    border-radius: 3px;
  }
  #submit-review  a::before {
    content: "+";
    color: var(--pinkish-grey);
    font-size: 32px;
    margin-right: 0.2em;
    top: 5px;
    position: relative;
  }

  /* vzhled menu na mobilu */
  #main-menu {
    display: block;
    box-sizing: border-box;
    background-color: var(--header-bg-color);
    position: fixed;
    margin: 0;
    top: 0;
    left: 100%;
    width: 100%;
    bottom: 0;
    padding: 125px 10px 10px 10px;
    transition: left var(--menu-transition);
    overflow: auto;
    z-index: 10;
    /* odsud dolů jsou srandičky ;-) */
    /* background: hsl(0 0% 100% / 0.5);
    backdrop-filter: blur(1rem); */
  }
  #main-menu > li {
    margin: 0 0 20px 0;
  }
  #main-menu > li > ul {
    background-color: transparent;
  }
  #main-menu > li > label {
    display: block;
    margin: 0;
    padding: 0;
    color: var(--battleship-grey);
    pointer-events: none;
  }
  #main-menu > li > a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    white-space: nowrap;
    height: var(--submenuitem-height);
    line-height: var(--submenuitem-height);
    margin: 0 0 var(--submenuitem-v-spacing) 0;
    padding: 0 var(--submenuitem-h-padding);
    color: var(--header-color);
    background-color: var(--menuitem-hover-bg-color);
    text-decoration: none;
    overflow: hidden;
    transition: var(--menu-transition);
    box-shadow: var(--submenuitem-bar-position) var(--submenuitem-selected-bg-color);
  }

  #main-menu li.selected > a {
    color: var(--submenuitem-selected-color);
    background-color: var(--submenuitem-selected-bg-color);
  }

  /* zobrazování/skrývání celého menu */
  #show-menu:checked ~ #main-logo {
    position: fixed;
  }
  #show-menu:checked ~ label[for="show-menu"] {
    position: fixed;
    /* right: 40px; */
    left: auto;
  }
  #show-menu:checked ~ label[for="show-menu"]::before {
    content: "\f00d";
    position: fixed;
  }
  #show-menu:checked ~ #main-menu {
    left: 0;
    transition: left var(--menu-transition);
  }
  #show-menu:checked ~ #submit-review {
    left: 0;
    transition: left var(--menu-transition);
  }
}

/* tablet a desktop */
@media (min-width: 768px) {
  #header {
    display: flex;
    width: var(--header-width);
    max-width: var(--header-max-width);
    height: var(--header-height);
    line-height: var(--header-height);
    margin: 0 auto;
    padding: 0 var(--header-h-padding);
    justify-content: space-between;
    background-color: var(--header-bg-color);
    box-sizing: border-box;
    box-shadow: -1000px 0 0 var(--header-bg-color), 1000px 0 0 var(--header-bg-color);
  }
  #header .no-uppercase {
    text-transform: none;
    font-size: 120%;
    font-weight: normal;
  }
  #header label[for="show-menu"] {
    /* display: none; */
    position: fixed;
    top: -1000px;
    left: -1000px;
  }

  /* umístění loga (v hlavičce vlevo na střed) */
  #main-logo {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* tlačítko Submit your review */
  #submit-review {
    margin: 0;
    padding: 10px 0 0 20px;
  }
  #submit-review a {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    margin: 0;
    padding: 0 10px 0 35px;
    height: 50px;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 13px;
    color: var(--my-black);
    background-color: var(--my-white);
    border-radius: 3px;
  }
  #submit-review a::before {
    content: "+";
    color: var(--type-test);
    font-size: 32px;
    margin-right: 0.2em;
    top: 8px;
    left: 10px;
    position: absolute;
  }
  #submit-review a:hover {
    background-color: var(--pale-grey-two);
  }

  /* základní podoba položky menu */
  #main-menu > li > a,
  #main-menu > li > label {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: var(--header-color);
    background-color: transparent;
    margin: 0;
    padding: 0 var(--menuitem-h-padding);
    cursor: pointer;
    line-height: 1;
  }
  /* použití pseudo-elementu pro dosažení plné výšky položky menu s vertikálním centrováním obsahu/textu */
  #main-menu > li > a::before,
  #main-menu > li > label::before {
    content: "";
    height: var(--header-height);
    width: 0;
    margin: 0;
    padding: 0;
    transition: var(--menu-transition);
  }
  /* tmavší podklad položky menu při aktivaci kliknutím (přejetí myší řešeno v media-query pro :hover níže */
  #main-menu > li input[type="checkbox"]:checked ~ label {
    background-color: var(--menuitem-hover-bg-color);
  }

  #main-menu ul li.selected > *,
  #main-menu li.selected > a {
    color: var(--submenuitem-selected-color);
    background-color: var(--submenuitem-selected-bg-color);
  }
}

/* jen tablet (no :hover) */
@media (min-width: 768px) and (hover: none) {
  /* pro možnost animace nepoužívám pro skrývání/zobrazování "display: none/block", ale "height: 0/auto" */

  /* ne/viditelnost submenu nebo jen zvolené položky submenu */
  #main-menu li > input[type="checkbox"]:not(:checked) ~ ul li * {
    height: 0;
    margin: 0;
  }
  #main-menu li > input[type="checkbox"]:not(:checked) ~ ul li ul {
    padding-bottom: 0;
  }
  /* při skrytém menu s aktivní položkou v submenu se skryjí nezvolené položky submenu */
  #main-menu li.selected input[type="checkbox"]:not(:checked) ~ ul li:not(.selected) * {
    height: 0;
    margin: 0;
  }

  /* při skrytém menu s aktivní položkou v submenu se zvolená položka submenu zobrazí jiným způsobem */
  /* název položky menu bude jen 40px vysoký a pod ním bude 30px vysoký název zvolené subpoložky */
  #main-menu li.selected input[type="checkbox"]:not(:checked) ~ ul {
    position: relative;
    top: calc(-1 * var(--submenuitem-folded-height));
    pointer-events: none;
  }
  #main-menu li.selected input[type="checkbox"]:not(:checked) ~ ul li.selected > * {
    position: relative;
    height: var(--submenuitem-folded-height);
    line-height: var(--submenuitem-folded-height);
    text-align: center;
  }
  #main-menu li.selected input[type="checkbox"]:not(:checked) ~ label::before {
    height: calc(var(--header-height) - var(--submenuitem-folded-height));
    line-height: calc(var(--header-height) - var(--submenuitem-folded-height));
  }
  #main-menu li.selected input[type="checkbox"]:not(:checked) ~ label {
    color: var(--my-black);
    background-color: var(--menuitem-hover-bg-color);
    padding-bottom: var(--submenuitem-folded-height);
  }
}

/* jen desktop (:hover) */
@media (min-width: 768px) and (hover: hover) {
  /* #header {
    background-color: yellow;
  } */
  #main-logo #logo-circle {
    transform-origin: 35% 45%;
    transition: transform var(--menu-transition);
  }
  #main-logo:hover #logo-circle {
    transform: rotate(-15deg);
  }
  /* tmavší podklad položky menu při přejetí myší, nebo aktivaci kliknutím */
  #main-menu > li:hover > a,
  #main-menu > li:hover > label,
  #main-menu > li input[type="checkbox"]:checked ~ label {
    color: var(--my-black);
    background-color: var(--menuitem-hover-bg-color);
    /* box-shadow: inset 0 -5px 0 var(--submenuitem-selected-bg-color); */
    box-shadow: var(--menuitem-bar-position) var(--submenuitem-selected-bg-color);
  }
  /* podoba položky submenu při přejetí myší */
  #main-menu > li > ul li:hover > a {
    color: var(--submenuitem-selected-color);
    background-color: var(--submenuitem-selected-bg-color);
  }

  /* pro možnost animace nepoužívám pro skrývání/zobrazování "display: none/block", ale "height: 0/auto" */

  /* ne/viditelnost submenu nebo jen zvolené položky submenu */
  #main-menu li:not(:hover) > input[type="checkbox"]:not(:checked) ~ ul li * {
    height: 0;
    margin: 0;
  }
  #main-menu li:not(:hover) > input[type="checkbox"]:not(:checked) ~ ul li ul {
    padding-bottom: 0;
  }
  /* při skrytém menu s aktivní položkou v submenu se skryjí nezvolené položky submenu */
  #main-menu li.selected:not(:hover) input[type="checkbox"]:not(:checked) ~ ul li:not(.selected) * {
    height: 0;
    margin: 0;
  }

  /* při skrytém menu s aktivní položkou v submenu se zvolená položka submenu zobrazí jiným způsobem */
  /* název položky menu bude jen 40px vysoký a pod ním bude 30px vysoký název zvolené subpoložky */
  #main-menu li.selected:not(:hover) input[type="checkbox"]:not(:checked) ~ ul {
    position: relative;
    top: calc(-1 * var(--submenuitem-folded-height));
    pointer-events: none;
  }
  #main-menu li.selected:not(:hover) input[type="checkbox"]:not(:checked) ~ ul li.selected > * {
    position: relative;
    height: var(--submenuitem-folded-height);
    line-height: var(--submenuitem-folded-height);
    text-align: center;
  }
  #main-menu li.selected:not(:hover) input[type="checkbox"]:not(:checked) ~ label::before {
    height: calc(var(--header-height) - var(--submenuitem-folded-height));
    line-height: calc(var(--header-height) - var(--submenuitem-folded-height));
  }
  #main-menu li.selected:not(:hover) input[type="checkbox"]:not(:checked) ~ label {
    color: var(--my-black);
    background-color: var(--menuitem-hover-bg-color);
    padding-bottom: var(--submenuitem-folded-height);
  }
}