/* ------------------------- RESET ------------------------------ */
body, div, h1, h2, h3, h4, p, ul, li, form { margin:0; padding:0; }
div, h1, h2, h3, h4, p, li, th, td, input, select, option, textarea { font: inherit; }
a img { border:none; }
html {
	scroll-behavior: smooth;
}
@media screen and (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* ------------------------- BASIC ------------------------------ */
:root {
	--ruzova: #f4aece;
  --svseda: #eff2f9;
	--zluta: #ffe660;
  --zelena: #0da5b2;
	--seda: #afb2b9;
	--sedytext: #878786;
}
html {
  overflow: -moz-scrollbars-vertical;
  overflow-y: scroll;
}
body {
	font-family: 'Mulish', sans-serif;
  font-size:22px;
  margin:0 auto;
  text-align:center;
  color:var(--sedytext);
  background-color:#fff;
}
h1, .h1 {
  font-size:58px;
  color:var(--zelena);
  font-weight:900;
	text-transform:uppercase;
  letter-spacing:1px;
  line-height:1.2em;
  margin:1em 0;
}
h2, .h2 {
	font-size: 33px;
	font-weight: 900;
  text-transform: uppercase;
  line-height:1.1em;
  margin:0 0 0.7em 0;
}
p {
  margin-bottom:1em;
  overflow-wrap: break-word;  /* breaks the word wherever it is without a hyphen */
  word-wrap: break-word;  
  -webkit-hyphens: auto;  /* adds a hyphen where the word breaks */
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}
.green,
a, a:visited, a:hover {
  color:var(--zelena);
  outline: none;
  outline: 0;
}
a,  a:visited { text-decoration:none; }
a:hover { text-decoration:underline; }
*:focus { outline: none; }
button::-moz-focus-inner { border: 0; }
.fr { float:right; }
.fl { float:left; }
.cb { clear:both; }
.left { text-align:left; }
.center { text-align:center; }
.right { text-align:right; }
.bold { font-weight:700; }

.sloupce {
	-webkit-columns: 2;
  -moz-columns: 2;
  columns: 2;
  -moz-column-gap: 2em;
  -webkit-column-gap: 2em;
  column-gap: 2em;
	text-align:left;
}

/* ------------------------- BASIC LAYOUT ------------------------------ */
.container {
  display: flex;
	width:1320px;
  margin:0px auto;
  text-align:left;
  padding: 0 40px;
	box-sizing:border-box;
}
#header {
  display:block;
	width:100%;
  height:135px;
  margin:0 auto;
  background-color:#fff;
}
#header .container {
  width:100%;
}
#logo {
	float:left;
	padding:40px 0 0 70px;
}
#logo img {
  width:150px;
}
#intro {
	position:relative;
  margin: 0 auto;
  padding:30px 0;
	box-sizing:border-box;
  text-align: left;
}
#intro h1 {
	font-size:94px;
	margin:0;
}
#intro h2 {
	font-size:47px;
	font-weight:normal;
	margin:0.5em 0;
	color:var(--sedytext);
}
#content,
#content-request {
  clear:both;
  min-height: calc(100vh - 135px - 173px - 30px - 182px);  /* odecten header, intro, margin contentu a footer */
  overflow: auto;
  margin-bottom:30px;
}
.container .blok {
  flex-basis: 50%;
	display: flex;
  flex-direction: column;
	padding:0 3em 4em 0;
	box-sizing:border-box;
}
.texts,
.form {
	width:100%;
}
h2 span {
	color:var(--zelena);
}


/* ------------------------- MENU ------------------------------ */
#mainmenu {
 list-style-type:none;
 text-align:center;
 overflow:hidden;
 /*height:135px;*/
}
#mainmenu li {
 display:inline-block;
 text-align:left;
}
#mainmenu li a,
#mainmenu li a:visited {
 display:inline-block;
 box-sizing:border-box;
 color:var(--zelena);
 font-size:22px;
 margin:15px 0;
 line-height:30px;
 height:30px;
 padding:0 15px;
 text-rendering: optimizeLegibility !important;
 -webkit-font-smoothing: antialiased !important;
}
#mainmenu li a:hover {
 text-decoration:underline;
}
#mainmenu li a.active {
 background-color:var(--zelena);
 color:#fff;
}
#mainmenu li:first-child a {
 margin-left:0;
}
#mainmenu li.icon {
 display: none;
}

/* ------------------------- FORM ------------------------------ */
.form {
  display:inline-block;
	margin:0;
  padding:2em;
	box-sizing:border-box;
  background:#eee;
}
.form > div {
	line-height:20px;
  margin-bottom:10px;
  text-align: left;
}
.form h3 {
	color:var(--zelena);
	margin-top:0;
}
.form label {
  font-size: 19px;
}
.form label.item_err {
  color: red;
}
.form span {
  margin-top: 10px;
}
.form input, .form select {
  width:100%;
  padding:0 10px;
  box-sizing:border-box;
  line-height:1.5em;
	text-align:left;
	border:none;
}
.form input[type="submit"]{
  border:none;
  background:var(--zelena);
  color:white;
  text-align: center;
	text-transform: uppercase;
	margin-top: 1em;
	padding: 5px 10px;
}
.form input[type="submit"]:hover {
	cursor:pointer;
}

/* ------------------------- MESSAGES ---------------------------- */
.app_message {
  padding: 6px 10px;
  color: white;
}
.message_error {
  background: red;
}
.message_warning {
  background: yellow;
  color:var(--zelena);
}
.message_ok {
  background: green;
}

/* ------------------------- FOOTER ------------------------------ */
#footer {
  padding:2em 0 3em 0;
	background:var(--zelena);
  color: #fff;
  overflow: auto;
}
#footer .container {
  box-sizing:border-box;
}
#footer a {
  font-weight:bold;
	color:#fff;
}
#footer h3 {
	font-weight:900;
  font-size: 24px;
  text-transform: uppercase;
	color:#fff;
  margin-bottom:0.5em;
}
#footer h3 span {
	text-transform:uppercase;
}
#footer p {
	text-align:center;
}
#footer .blok {
	float:left;
	width: 33.3%;
	display:inline-block;
  vertical-align: top;
  text-align: left;
}
#socialmenu {
	list-style-type:none;
	margin-top: 0.5em;
	color:#fff;
  padding-left: 0;
}
#socialmenu li {
	display:inline-block;
	margin:0 20px 0 0;
}
#socialmenu li a, #socialmenu li a:visited {
	display: inline-block;
}
#socialmenu li a img, #socialmenu li a:visited img {
	width: 24px;
	vertical-align: middle;
}
#footer p.archa a, #footer p.archa a:visited {
  line-height:100px;
	color: rgba(255,255,255,.5);
	font-size:15px;
}
#footer p.archa {
	margin-bottom:0;
}


/* ------------------------- CUSTOM SELECT ------------------------------ */
.custom-select {
  position: relative;
  font-family: Arial;
}
.custom-select select {
  display: none; /* hide original SELECT element*/
}
.select-items div,
.select-selected {
  color: #ffffff;
  padding: 8px 16px;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  user-select: none;
}
.select-selected {
  background-color: #fff;
	color:var(--zelena);
}
/* arrow inside the select element:*/
.select-selected:after {
  position: absolute;
  content: "";
  top: 43px;
  right: 10px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: var(--zelena) transparent transparent transparent;
}
.select-selected.select-arrow-active:after {
  border-color: transparent transparent var(--zelena) transparent;
  top: 40px;
}
.select-items {
  /*position: absolute;
  top: 100%;
  left: 0;
  right: 0;*/
  background-color: var(--zelena);
  z-index: 99;
}
.select-hide {
  display: none;
}
.select-items div:hover, .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}