@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&family=Roboto:wght@300;400;500;700;900&display=swap');
* {
	padding: 0;
	margin: 0;
	max-width: 100%;
	/*overflow-x: hidden;*/
	position: relative;
	/*display: block;*/
}
title {
	display: none;
}
:root {
	--modra: rgb(0,124,195);
	--seda: rgb(241,241,241);
	--cerna: rgb(53,63,66);
	--font: 'Roboto Condensed', sans-serif;
	
	/*SUBMENU*/
	--delkaSubmenu: 85%;
	--posunSubmenu: 23px;
}
html, body, .fullHeight {
     /*min-height: 100% !important;
     height: 100%;*/
     position: relative;
}
body {
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-family: 'Roboto', sans-serif;
	color: var(--cerna);
}
.clearfix::after {
	content: "";
	clear: both;
	display: table;
}
.cleaner{
	clear: both;
	height: 0;
	visibility: hidden;
}
.container {
	max-width: 1200px;
	width: 100%;
	position: relative;
	margin: 0 auto;
}
.containerIn {
	padding: 10px;
	width: calc(100% - 20px);
}
a {
	color: var(--cerna);
	text-decoration: none;
}
.nowrap {
	white-space: nowrap;
}
.font {
	font-family: 'Roboto Condensed', sans-serif;
}
.stin {
	-webkit-box-shadow: 0px 0px 5px 0px rgba(51, 59, 65, 1);
   -moz-box-shadow:    0px 0px 5px 0px rgba(51, 59, 65, 1);
   box-shadow:         0px 0px 5px 0px rgba(51, 59, 65, 1);
}
.modraBg {
	background: var(--modra);
}
.modra {
	color: var(--modra);
}
#topFixed {
	position: sticky;
	width: 100%;
	z-index: 100;
	background: var(--seda);
	display: flex;
	align-items: center;
}
.left {
	float: left;
	width: 50%;
}
.right {
	float: right;
	width: 50%;
}
#topFixed .left {
	background: white;
}
.leftIn {
	width: 600px;
	float: right;
}
#topFixed .leftIn::after {
	z-index: 10;
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   right: -50px;
   width: 100px;
   background: var(--seda);
   -webkit-transform: skew(-30deg);
   -ms-transform: skew(-30deg);
   transform: skew(-30deg);
}
.rightIn {
	width: 600px;
	float: left;
	height: 100%;
	display: flex;
	align-items: center;
}
#logo {
	width: 176px;
	height: 80px;
	background: url(../images/logo.png) no-repeat;
	font-size: 0px;
	display: flex;
	align-items: center;
}
#menu {
	width: 100%;
	text-align: right;
	z-index: 10;
}
#menuResponsive {
	display: none !important;
	cursor: pointer;
}
#menuResponsive a:hover {
	background: none !important;
}
#menuResponsive a img {
	vertical-align: middle;
}
	#nav {
		margin: 0;
		padding: 0;
		position: relative;
	}
	#nav li {
		list-style: none;
		position: relative;
		text-align: center;
		display: inline-block;
	}
	#nav li a {
		display: block;
		font-size: 20px;
		text-transform: uppercase;
		-webkit-transition: color 0.4s; 
    	transition: color 0.4s;
		font-weight: 400;
		color: var(--cerna);
		padding: 5px 10px;
		position: relative;
		outline: none;
	}
	#nav li:last-child a {
		padding: 5px 0px 5px 10px;
	}
	#nav li a:hover,.actMenu {
		-webkit-transition: all 0.2s;
	   transition: all 0.2s;	
		color: var(--modra) !important;
	}
#nav ul {
    opacity: 0;
    padding: 0;
    position: absolute;
    transition: all 0.3s ease 0s;
    visibility: hidden;
    width: auto;
	overflow: hidden;
	left:0%;
	max-width: none !important;
}
#nav ul li {
    display: block;
    float: none !important;
    line-height: normal;
    width: auto;
	 max-width: none !important;
}
#nav ul li a {
    border-left: medium none;
    color: #4D4948;
    display: block;
    font-size: 16px;
    margin: 0;
    padding: 7px 5px;
    position: relative;
    transition: none 0s ease 0s ;
    white-space: nowrap;
    width: auto;
	 max-width: none !important;
	 font-weight: normal;
}
#nav ul li a:hover {
    background: white none repeat scroll 0 0 !important;
    color: var(--modra) !important;
}
#nav li:hover > ul {
    background: white none repeat scroll 0 0;
    box-shadow: 0 0 2px 0 rgba(50, 50, 50, 0.75);
    opacity: 1;
    visibility: visible;
    z-index: 9999;
}
.fadeIn {
	opacity: 0;
}
#topHome {
	display: flex;
}
#topHomeBg {
	position: absolute;
	right: 0;
	height: 100%;
	width: calc(50% + 300px);
	background: gray url(../images/slider/2.jpg) no-repeat 50% / cover;
}
#topHome .left {
	background: url(../images/topHomeBgLeft.png) no-repeat right 79px top;
}
.topHomeFirma {
	padding: 100px 0 10px 10px;
	font-size: 25px;
}
.submenu {
	padding: 0px 0 0 10px;
}
.submenu a {
	display: block;
	color: white;
	font-size: 18px;
	padding: 5px 0 5px 10px;
	margin: 0 0 10px 0;
	-webkit-transition: all 0.2s; 
   transition: all 0.2s;
}
.submenu a:hover {
	background: var(--seda);
	color: var(--modra);
}
#topHome .leftInPosun {
	width: calc(100% - 50px);
	float: left;
}
#topHome .submenu a::after {
	z-index: 10;
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   right: -10px;
   width: 20px;
   background: var(--modra);
   -webkit-transform: skew(-30deg);
   -ms-transform: skew(-30deg);
   transform: skew(-30deg);
	-webkit-transition: all 0.2s; 
   transition: all 0.2s;
}
#topHome .submenu a:hover::after {
   background: var(--seda);
}
#topHome .submenu a {
	width: calc(var(--delkaSubmenu) - 50px);
	z-index: 10;
	min-width: 240px;
}
#topHome .submenu a:nth-child(2) {
	width: calc(var(--delkaSubmenu) - (50px + (var(--posunSubmenu) * 1)));
	min-width: 215px;
}
#topHome .submenu a:nth-child(3) {
	width: calc(var(--delkaSubmenu) - (50px + (var(--posunSubmenu) * 2)));
	min-width: 190px;
}
#topHome .submenu a:nth-child(4) {
	width: calc(var(--delkaSubmenu) - (50px + (var(--posunSubmenu) * 3)));
	min-width: 165px;
}
#topHome .submenu a:nth-child(5) {
	width: calc(var(--delkaSubmenu) - (50px + (var(--posunSubmenu) * 4)));
}
#topHome .submenu a:nth-child(6) {
	width: calc(var(--delkaSubmenu) - (50px + (var(--posunSubmenu) * 5)));
}
#topHome .right::before {
	z-index: 0;
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   left: -162px;
   width: 10px;
   background: red;
   -webkit-transform: skew(-30deg);
   -ms-transform: skew(-30deg);
   transform: skew(-30deg);
}
.part {
	padding: 40px 30px 60px 30px;
	width: 100%;
	box-sizing: border-box
}
.text {
	line-height: 140%;
}
.cmsText {
	min-height: 400px;
}

.cmsText::after, .clearfix {
	display: block;
   content: "";
   clear: both;
}
#back {
	position: absolute;
	top: -15px;
	font-weight: 600;
	color: var(--modra);
}
.text a {
	border-bottom: 1px dashed gray;
}
.text table {
	margin: 0;
	padding: 0;
	border: 0 !important;
}

.text table td, .text table th {
	padding: 4px 10px;
	text-align: left;
}
.text table th {
	color	
}
.text table tbody tr:nth-child(even) {
	background: #F7F7F7;
}
.text table thead tr {
	background: #F7F7F7;
}
.text table tr:nth-child(even) td {
	/*padding: 4px 10px 15px 10px;
	font-size: 15px;*/
}
table#pracovnici tbody tr td:first-child {
	/*font-weight: bold;*/
}
table#pracovnici tbody tr:nth-child(3n+2),
table#pracovnici tbody tr:nth-child(4n+1) {
	/*background: #F7F7F7;*/
}
table th {
	background: white;
	border: 1px solid #F7F7F7;
}
.cmsText ul {
	margin: 0 0 0 20px;
    padding: 0 1em;
    list-style: none;
}
.cmsText ul li:before {
	content: "";
    border-color: transparent #2284AD;
    border-style: solid;
    border-width: 0.35em 0 0.35em 0.45em;
    display: block;
    height: 0;
    width: 0;
    left: -1em;
    top: 0.9em;
    position: relative;
}
.mapIcon {
	background: url(../images/mapIcon.png) no-repeat left 50%;
	padding: 0 0 0 60px;
	display: inline-block;
	border: none !important;
	line-height: 50px;
	font-weight: 500;
	font-size: 18px;
	margin: 0 0 30px 0;
}
#page9 h3 {
	padding-top: 45px !important;
}
.perex {
	font-size: 18px;
}
h1,h2,h3,h4,.nadpis {
	font-family: var(--font);
	line-height: 140%;
}
h1 {
	font-size: 28px;
	font-weight: 500;
	text-align: center;
	padding: 15px 0 35px 0;
}
h2 {
	font-size: 25px;
	font-weight: 500;
	text-align: left;
	padding: 15px 0 25px 0;
}
h3 {
	font-size: 25px;
	font-weight: 500;
	text-align: left;
	padding: 15px 0 25px 0;
}
h4 {
	font-size: 22px;
	font-weight: 500;
	text-align: left;
	padding: 15px 0 25px 0;
}

#page-kontakt .right {
	width: 40%;
}
#page-kontakt .left {
	width: 60%;
}
#pracovniciBTN {
	cursor: pointer;
}
table#pracovnici {
	display: none;
}

#footer {
	background: var(--seda);
	font-size: 14px;
}
#footer .right {
	text-align: right;
}

.top {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
}
.topItem {
	box-sizing: border-box;
	padding: 0 20px;
}

.header {
	background: rgba(50,50,50,0.1);
}
.p60m {
	border-left:1px solid gray;
}

#reference {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
	text-align: center;
	margin: 0 0 50px 0;
}
a.reference {
	box-sizing: border-box;
	min-width: 250px;
	width: calc(100% / 3);
	padding: 10px 20px 20px 20px;
	border: none;
	color: var(--modra);
	font-weight: 500;
	font-size: 18px;
	/*background: var(--seda);*/
	position: relative;
}
a.reference .nadpis {
	color: var(--modra);
	padding: 5px;
	background: var(--seda);
	min-height: 55px;
	display: flex;
	justify-content: center;
	align-items:center;
}
a.reference .fotka {
	width: 100%;
	height: 200px;
	position: relative;
	bottom: 0;
}
a.reference .fotka img {
	display: none;
}

.zinfo {
    display: inline-block;
    width: 160px;
}
.kominfo {
	line-height: 180%;
    font-size: 15px;
    display: inline-block;
    text-align: left;
}
.vysledek.cas, .vysledek.pozice {
	display: none;
}
.btn {
	cursor: pointer;
}
.btn.act {
	font-weight: bold;
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}
#kontaktBoxes {
	position: relative;
	width: 100%;
	display: none;
}
.kontaktBox {
	padding: 0 20px 40px 0;
	display: inline-block;
	width: 45%;
	box-sizing: border-box;
}
.kontaktBox .kontaktImage {
	float: left;
	height: 100px;
	width: 100px;
	border-radius: 50%;
	border: 0px solid var(--modra);
	margin: 0 10px 0 0;
}
.kontaktBox .jmeno {
	font-size:18px;
	font-weight: 600;
	padding: 0 0 5px 0;
}
.kontaktBox .pozice {
	font-size: 15px;
}
.kontaktBox .tel {
	
}
.kontaktBox .mail {
clear: both;
}
.kontaktBox .kontaktBorder {
	border-left:  1px solid var(--modra);
	padding: 0 0 0 5px;
	float: left;
}




#blog {
	text-align: center;
}
.blogItem {
	margin: 0 12px 20px 12px;
	display: inline-block;
	width: calc(33% - 24px);
	/*-webkit-box-shadow: 0px 0px 4px 0px rgba(100, 100, 100, 1);
	-moz-box-shadow:    0px 0px 4px 0px rgba(100, 100, 100, 1);
	box-shadow:         0px 0px 4px 0px rgba(100, 100, 100, 1);*/
	vertical-align: top;
	background: white;
	position: relative;
}
.blogItemIn {
	padding: 10px;
}
.blogTitle {
	text-decoration: none;
	text-align: left;
	display: block;
	font-weight: 600;
	font-size: 18px;
	padding: 0 0 5px 0;
	border-bottom: 1px dashed var(--modra) !important;
}
div.share a {
	text-decoration: none;
	border: none;
}
.blogImage {
	width: 100%;
	height: 220px;
	margin: 0px 0 15px 0;
	border: 1px solid rgb(224,224,224);
}
	.blogImage a {
		width: 100%;
		height: 100%;
		display: block;
		font-size: 0;
	}
	.blogImage a img {
		display: none;
	}
.blogText {
	text-align: left;
	font-size: 15px;
	line-height: 140%;
	padding: 10px 0 0 0;
}
.leva {
	float: left;
	width: 50%;
}
.prava {
	float: right;
	width: 50%;
}
.blogDate {
	text-align: left;
}
.blogMore {
	display: block;
	text-decoration: none;
	padding: 10px 0 0 0;
	line-height: 150%;
	text-align: right;
	font-weight: 600;
}
.blogMore img {
	vertical-align: middle;
}
.text-center {
	text-align: center;
}
.blogImgTop {
	max-height: 450px;
	width: auto;
	max-width: 100%;
	float: right;
	margin: 0 20px 10px 20px;
}
.articleInfo {
     font-weight: 600;    
}
.share {
	vertical-align: middle;
}
.share svg {
	height: 20px;
	vertical-align: middle;
	margin: 0 0 0 10px;
}
.fb-share svg {
	fill: #4e4990;
}
.tw-share svg {
	fill: #0098f4;
}
.in-share svg {
	fill: #0067b1;
}
.left.articleInfo, .right.share {
	float: left !important;
	width: auto !important;
	display: inline-block;
	vertical-align: middle;
}
.left.articleInfo{
	padding: 2px 0 0 20px; 
	font-size: 15px;
}

.label {
	width: 90px;
	display: inline-block;
	text-align: right;
}
#vysledky select {
	width: 200px;
}





#galeriePage,#galerieP {
    display: flex;
    justify-content: center;
	 align-content: space-around;
	 flex-flow: row wrap;
    position: relative;
    font-size: 0;
    text-align: center;
}

.gal {
    display: inline-block;
    margin: 5px;
	 font-size: 0;
	 padding: 0;
    width: calc(100% / 4 - 13px);
	 position: relative;
	/*margin-top: -11px;*/
}
.g2x2 {
	width: calc(100% / 2 - 10px);
}
.gal .square {
	width: 100%;
	height: auto;
	position: relative;
	visibility: hidden;
	z-index:-999;
}
.gal a {
    display: block;
    height: 100%;
    transition: all 0.2s ease 0s;
    width: 100%;
	 position: absolute;
	 top:0;left:0;
	 border: none !important;
}
.zoomImg {
	display: none;
	margin: 0 auto;
	line-height: 100%;
	padding-top: calc(50% - 26px);
}
.gal a:hover {
    background: rgba(0, 0, 0, 0.5) none repeat scroll 0 0;
}
.gal a:hover > .zoomImg {
	display: block !important;
}
.gal a img {
    display: none;
}

#poptavka {
	width: 95%;
	min-width: 200px;
	/*max-width: 600px;*/
	margin: 0px auto;
}

#poptavka label {
    padding-right: 8px;
    padding-top: 0px;
    text-align: right;
    width: 50%;
	text-transform: uppercase;
	/*display: inline-block;*/
}
#poptavka .inputlabel {
     width: auto;
	display: inline;
	text-align: left;
}
.formLine input, .formLine select, .formLine textarea, #odeslat, select {
	font-family: 'Roboto';
    font-size: 15px;
    width: 50%;
	 color: #434343;
	 padding: 5px;
	 margin: 0;
	 background: white;
	 border: 1px solid #595959;
	 -webkit-border-radius: 5px;
	 -moz-border-radius: 5px;
    border-radius: 5px;
	 transition: border 0.2s ease 0s;
}
.formLine select {
	width: calc(50% + 12px);
	padding: 5px 2px;
}
.formLine input:focus, .formLine textarea:focus,
.formLine input:hover, .formLine textarea:hover {
	border: 1px solid #B5C3CA;
}
.formLine {
	margin-bottom: 8px;
	text-align: right;
	position: relative;
	width: 100%;
	clear: both;
}
.napiste {
	border-bottom: 1px solid #595959;
	padding: 0 0 5px 10px;
	display: block;
	margin-bottom: 7px;
	text-align: left;
}
#odeslat:hover {
	color: rgba(50,50,50,0.75);
	background: white;
	border: 1px solid #B5C3CA;
}
#odeslat {
	transition: background 0.2s ease 0s, color 0.2s ease 0s;
	border: 1px solid rgba(0,0,0,0.75);;
	width: 50%;
	cursor: pointer;
	display: block;
	margin: 10px auto;
	background: white;
	color: #322E2D;
	font-size: 20px;
}
.formLine textarea {
	height: 80px;
	width: calc(100% - 12px);
}
.formInfo {
	text-align: right;
	position: relative;
	top: 0px;
	right: 0px;
	font-weight: bold;
}

/*st pozice*/
nav{
    width: 100%;;
     position: relative;
    /*overflow: hidden;*/
    display: flex;
    justify-items: space-between;
    flex-direction: row;
    flex-wrap: wrap;
}
nav input{ display: none; }
nav label{
    padding: 10px !important;
    border: 1px solid #666;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
    box-sizing: border-box;
    width: calc((100% / 5) - 10px) !important;
    text-align: center !important;
    text-transform: none !important;
    margin: 5px;
    background: #50C878;
}
nav label:hover{
    background: #eee;
}
nav input:checked + label{
    background: #0096FF;
    font-weight: bold;
    font-size: 20px;
}
nav label.obsazeno{
     background: #E34234;
	  position: relative;
     cursor: not-allowed !important;
	 -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently*/
}
nav label.volno{
     background: #90EE90;
}
.legend {
	text-transform: none;
	font-size: 12px;
}
.legend span {
	display: inline-block;
	width: 15px;
	height: 15px;
	border: 1px solid #666;
	vertical-align: middle;
}
.legend-obsazeno {
	background: #E34234;
}
.legend-volno {
	background: #90EE90;
}
.legend-vybrano {
	background: #0096FF;
}
.tymNazev {
	/*position: absolute;*/
	font-size: 12px;
	text-align: center;
	width: 100%;
	top:0px;
	line-height: 100%;
}






@media screen and (max-width: 1100px) {
	.menuItemResp {
		/*display: none !important;*/
	}
	#nav {
		display: none;
		min-width: 250px;
	}
	.menuItemRespOn{
		display: block !important;
	}
	#menuResponsive {
		display: block !important;
		padding: 0 0px 0 0;
	}
	#menuResponsive a {
		font-size: 23px !important;
	}
	#menu, #nav li  {
		text-align: right;
		display: block;
	}
	#logo {
		width: 143px;
		height: 65px;
		background-size: cover;
	}
	#topHome .left {
		background: url(../images/topHomeBgLeft.png) no-repeat right 75px top;
	}
	#nav {
		position: absolute;
		right: -10px;
		margin: 17px 0 0 0;
		background: var(--seda);
	}
	#nav li:last-child a, #nav ul li a {
		padding: 5px 10px;
	}
	#nav ul li a,#nav ul li a:last-child {
		padding: 5px 15px 5px 10px;
		text-transform: none;
	}
	#nav ul {
		opacity: 1;
		position: relative;
		visibility: visible;
	}
	#nav li:hover > ul {
    	background: none;
    	box-shadow: none;
/*    	opacity: 1;
    	visibility: visible;
    	z-index: 9999;*/
	}
	.blogImgTop {
		max-width: 50% !important;
	}
}


@media screen and (max-width: 800px) {


	.stpozice-vypis {
		width: 100% !important;
	}


	#topFixed .left, #topHome .left {
		width: 70%;
	}
	#topFixed .right, #topHome .right {
		width: 30%;
	}
	#logo {
		width: 110px;
		height: 50px;
	}
	#topHome .left {
		background: url(../images/topHomeBgLeft.png) no-repeat right 70px top;
	}
	.cmsText .left, .cmsText .right {
		float: none;
		width: 100% !important;
		padding: 0 0 10px 0;
	}
	.blogItem {
    width: calc(50% - 24px);
	}
	a.reference {
          width: calc(100% / 2);
     }
}

@media screen and (max-width: 600px) {
	#topHome .left {
		background: none;
		width: 100%;
	}
	.topHomeFirma {
		color: white;
		font-size: 22px;
	}
	#topFixed {
		position: fixed;
	}
	#footer .left, #footer .right {
		float: none;
		width: 100%;
		text-align: center;
		padding: 0 0 10px 0;
	}
	h1 {
		font-size: 25px;
	}
	.gal {
	    width: calc(100% / 3 - 13px);
	 }
	 table#pracovnici td {
		display:block !important;
	}
	table#pracovnici td:first-child {
		font-weight: bold;
	}
	table#pracovnici tr {
		padding: 0 0 15px 0 !important;
		display: block;
	}
     a.reference {
          width: calc(100% / 1);
     }
	
}
@media screen and (max-width: 560px) {
	.p60m {
	border:none;
	padding-top: 20px;
}
}
@media screen and (max-width: 450px) {
	.gal {
	    width: calc(100% / 2 - 13px);
	 }
}