/*************************/
/***   FONTS           ***/
/*************************/

@font-face {
    font-family: 'Roboto';
    src: url('/files/fonts/Roboto-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Roboto';
    src: url('/files/fonts/Roboto-Bold.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: 'Roboto';
    src: url('/files/fonts/Roboto-Light.ttf') format('truetype');
    font-weight: 300;
}

@font-face {
    font-family: 'Roboto';
    src: url('/files/fonts/Roboto-Thin.ttf') format('truetype');
    font-weight: 200;
}


* {
	margin: 0px;
	padding: 0px;
}
body {
      background-color: white;
      color: #4d4c4c;  
	font-size: 75%;
	text-align: left;
	font-family: Roboto,sans-serif;
	line-height: 1.4;
	height: 100%;
}

@media (min-width: 1380px){
.container {
    max-width: 1360px;
}
}

.vertical-align {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
}
.EditableSection a, .EditableContent a, .editable-section a{
	text-decoration: underline;
}
.EditableSection a:hover, .EditableContent a:hover, .editable-section a:hover{
	text-decoration: none;
}
#cookies_souhlas{
	width: 100% !important;
}
strong, b{
	font-weight: bold;
}

#main_content a[rel="lightbox[all]"] img, #main_content > div img{
    	position: relative;
    	display: inline-block;
	border: 3px solid white !important;
	margin: 4px;
}

#main_content a[rel="lightbox[all]"]:hover img{
	border: 3px solid #dceff8 !important;
}
p.galerie{
	border: 1px solid #dceff8;
	padding: 15px 0;
}

header{
	position: relative; 
	width: 100%; 
}
#header{
	position: relative; 
	width: 100%; 
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ebf8ff+0,ffffff+100 */
background: #ebf8ff; /* Old browsers */
background: -moz-linear-gradient(top, #ebf8ff 0%, #ffffff 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #ebf8ff 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #ebf8ff 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebf8ff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}

p.nadpis{
	font-size: 22px;
	font-weight: 300;
	color: black;
	margin: 0;
}


/* horni menu */
#menu_top {
	background: #003154;
	border-top: 1px solid #dde4e8;
	position: relative;
	width: 100%;
}

#hornimenu1, #header > div{
      font-family: 'Roboto',sans-serif;
	background: transparent;
	border-left: none;
	border-right: none;
	box-shadow: none;
}

#header{
	padding: 8px 0;
	position: relative;
	text-align: left;
}

#odkaz_na_uvod{
	font-weight: 300;	
	font-size: 28px;
	color: white;
	text-decoration: none;	
}

#logo{	
	display: inline-block;
	margin-top: 10px;	
	margin-bottom: 10px;
	position: relative;
}
.link-fill {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    z-index: 10;
}

#kontakt{	
	color:  black;
	margin-bottom: 0;
	display: inline-block;
	vertical-align: middle;
	margin-left: 8px;
}
#kontakt p{
	margin-bottom: 4px;
}
#kontakt p, #kontakt a{
	font-size: 17px;
	text-decoration: none;
	font-weight: normal;
	font-family: roboto;
	color: #003154;
}
#kontakt a:hover{
	text-decoration: underline;
}	

.navbar-toggler {
    display: none;
}
.navbar-collapse.collapse:not(.show) {
    display: block;
}
.navbar{
    	justify-content: flex-end;
    	padding: 0.5rem 0;
}
.nav li.lvl-1{
	padding: 5px 15px;
	margin: 0;
}
.nav li.lvl-1 > a{
	padding: 7px 0;
	font-weight: normal;
	text-transform: uppercase;
	font-size: 17px;
	color: white;
	position: relative;
	text-decoration: none !important;
}
.nav li.lvl-1 > a:hover:after, .nav li.lvl-1 > a.active:after, .nav li.lvl-1.show > a:after{
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	content: '';
	display: block;
	background: #ef7f00;
}

#intro{
	position: relative;
}

#intro img{
	width: 100%;
	height: auto;
	display: block;
}

#main_content {
	padding: 15px 0;
	text-align: left;
}

.kontakt{
	width: 330px;
	display: inline-block;
}

.kontakt p:first-of-type, .kontakt h3{
      font-family: 'Roboto',sans-serif;
	margin: 10px 0;
}

.kontakt p{
	margin-bottom: 8px;
}

.kontakt strong, .kontakt strong a{
	color: black;
	font-size: 15px;
}

#ref_ukazka p.gal{
	display: flex;
	flex-wrap: nowrap;
    	justify-content: space-between;
	width: calc(100% + 18px);
    	max-width: calc(100% + 18px);
    	margin: 0 -8px;
}
#ref_ukazka p.gal a{
	padding: 5px;
	max-width: 20%;
	flex-basis: 20%;
}
#ref_ukazka p.gal a img{
	border: 3px solid transparent;
}
#ref_ukazka p.gal a img:hover{
	border: 3px solid #dceff8;
}

#main_content table { 
border: none; width: auto; height: auto; 
} 
#main_content td { 
border: 1px solid #E4E4E4; padding: 10px; line-height: 1.3em;  
} 
/* paticka */
#footer {
	height: auto;
	background: transparent;
	border: none;
}
footer{
  background: #003154;
  z-index: 0;
  width: 100%;

}
#footer a,
#footer a:visited,
#footer a:hover {
	color: white;
	text-decoration: none;
}
/* resetovac */
#reset {
	border:  0px none;
	margin:  0px;
	padding: 0px;
	float: none;
	clear: both;
	width: 0px;
	height: 0px;
	line-height: 0px;
	font-size: 0px;
}
/**********************************/
/*         DEFAULTNI HODNOTY
/*********************************/

h1, h2, h3, h4, .h1, .h2, .h3, .h4{
  line-height: 1.3em;
  margin: 0 0 12px 0;
  text-align: left;
}
h1, .h1 {
	color: black;
	font-size: 30px;
	font-weight: 300;
	text-align: left;
      margin-top: 10px;
	position: relative;
	padding-bottom: 8px;
}
h1:after, .h1:after {
  content:""; 
  background: #ef7f00; 
  position: absolute; 
  bottom: 0; 
  left: 0; 
  height: 2px; 
  width: 80px;
}

h1.cent, .h1.cent{
	text-align: center;
}
h1.cent:after, .h1.cent:after{
  content:""; 
  background: #ef7f00; 
  position: absolute; 
  bottom: 0; 
  left: calc(50% - 40px); 
  height: 2px; 
  width: 80px;
}
h1.no-underline:after, .h1.no-underline:after{
	display: none !important;
}
 
h2, .h2 {
	color: #003154;
	font-size: 25px;
	font-weight: 300;
}
h3, .h3 {
	color: #003154;
	font-size: 19px;
	font-weight: bold;
	clear: both;
}
h4, .h4 {
	color: #003154;
	font-size: 14px;
	font-weight: 600;
}
p, li {
  margin: 0 0 12px 0;
  line-height: 1.3em;
  font-size: 17px;
  list-style-type: none;
  color: #3d3d3d;
  font-weight: 300;
}

#main_content ul{
	padding-left: 0;
}

#main_content li, #nadpatickou li{ 
 	background: url(/files/images/odr.png) no-repeat left top 7px;
  	list-style: none;
	padding-left: 20px;
	font-size: 18px;
}

img {
	margin: 0; 
	max-width: 100%;
}

a,
a:visited {
    color: #3d3d3d;
    font-size: 17px;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
	color: #ef7600;
}
table {
	border-collapse: collapse;
	border: none;
  margin: 0 0 12px 0;
}
table td {
  vertical-align: top;
  text-align: left;
}
ul, ol {
	list-style-position: outside;
	margin: 0 0 12px 0px;
}

section{
	padding: 20px 0;
}

.bordered{
	border-bottom: 1px solid #dceff8;
}
.blue{
	background: #ecf5fc;
}

.blue iframe{
	border: 4px solid white !important;
}

#banners{
	width: 100%;
	text-align: center;
}

.banner{
	text-align: center;
	position: relative;
}
.banner_img{
	display: inline-block;
	overflow: hidden;
	border-radius: 100px;
	border: 2px solid transparent;
}
.banner:hover .banner_img{
	border: 2px solid #ef7f00;
}
.banner h2{
	text-align: center;
	color: black;
	font-size: 24px;
	height: 2.6em;
    	overflow: hidden;
    	font-weight: normal;
}
.banner p.banner_text{
	height: 4em;
	overflow: hidden;
}
.banner p.vice{
	text-decoration: underline;
	color: black;
	font-size: 18px;
	font-weight: 300;
}
.banner:hover p.vice{
	text-decoration: none;
	color: #ef7f00;
}

#main_content table {
  border: none;
  width: auto;
  height: auto;
}

#main_content td {
  border: 1px solid #E4E4E4;
  padding: 10px;
  line-height: 1.3em;
  font-size: 15px;
  color: #4d4c4c;
  margin-bottom: 5px;
}

.box{
	padding: 2%;
	width: 46%;
	display: inline-block;
	vertical-align: top;
	float: left;
	margin-bottom: 10px;
	position: relative;
}

.box2{
	border: 2px solid #85b700;
	padding: 2%;
	width: 94%;
	display: inline-block;
	vertical-align: top;
	float: left;
	margin-bottom: 10px;
	position: relative;
	background-color: white;
}

.box.right{
	float: right;
}
.box.right * {
	color: white !important;
}
/**********************************/
/*  MODULY 
/*********************************/

/* hlavicka - odkaz logo */
#head .link_logo  {
	background: url(/files/images/sablona1/logo.png);
	float: left;
	width: 397px;
	height: 78px;
	display: block;
	margin-top: 30px;
    margin-bottom: 10px;
}
/* clear obtekani */
.clear {
	border:  0px none;
	margin:  0px;
	padding: 0px;
	float: none;
	clear: both;
	width: 0px;
	height: 0px;
	line-height: 0px;
	font-size: 0px;
}
/**********************************/
/*  FORMULARE 
/*********************************/

.form_title{
  border: none;
    margin-bottom: 20px;
    margin-top: 20px;
	color: #303030;
}

#form_main div.col{
	/*width: 32%;
	margin-bottom: 10px;
	display: inline-block;*/
}

#form_main{
  	position: relative;
	background: #ecf5fc;
    	clear: both;
}

.red{color: #F00;}

.form_content p{
	margin-bottom: 4px;
}

.form_content{
  	width: 960px;
	margin: 0 auto;
}

body.index .form_content{
	
}

.form_content fieldset { 
  	margin: 0;
  	border: 0px solid red;
	width: 47%;
    	margin-right: 2.5%;
	display: inline-block;
	vertical-align: top;
}

#form_map{
	width: 50%;
	display: inline-block;
	vertical-align: top;	
}

#map_other p{
	position: absolute;
	display: block;
	padding: 6px 10px;
	background: white;
	left: 15px;
	top: 15px;	
	color: #4a4949;
	border: 1px solid #dceff8;
}

#map_other p span{
	display: block;
}

#map_other a{
	position: absolute;
	display: block;
	color: #4a4949;
	padding: 8px 31px;
	background: white;
	border: 1px solid #dceff8;
	text-decoration: none;
	bottom: 15px;
	left: 15px;
      font-size: 17px;
      font-weight: 300;
}

#map_other a:hover{
	background: #03b3fd;
	color: white;
	border: 1px solid #03b3fd;
}

#map_other a{
	left: 10px;
	bottom: 10px;
}

#map_other{
	position: relative;
	padding: 0;
	clear: both;
	display: inline-block;
	overflow: hidden;
	width: 100%;
	margin-top: 26px;
}

#map_other iframe {
    	margin-top: -120px;
    	margin-bottom: -85px;
	width: 100% !important;	
	border: 1px solid #dceff8 !important;
}

#map_other > div{
	position: relative;
	overflow: auto;
}

#main_content #map_other img{
	width: auto;
	height: 200px;
	float: left;
	border: none;	
	margin: 0;
}
#main_content #map_other img:hover, #main_content .galerie_container img, #main_content .galerie_container img:hover{
	border: none;
}


.form_content #form_info{
	width: 25%;
	padding-left: 6%;
	display: inline-block;
	padding-top: 80px;
}

.form_content #form_info div{
	padding-left: 50px;
}

.form_content #form_info div p, .form_content #form_info div p a{
	color: white;	
	line-height: 50px;
	font-size: 16px;
}

.form_content #form_info div p a:hover{
	text-decoration: none;
}

.form_content #form_info div.tel{
	background: url(/files/images/tel.png) no-repeat left center;
}

.form_content #form_info div.mail{
	background: url(/files/images/obalka.png) no-repeat left center;
}

.form_content label{
	color: #575757;
	font-size: 17px;
	display: block;
      margin-bottom: 5px;
	font-weight: 300;
}

.form_content input, textarea {  
  	margin: 0px;
      padding: 8px;
  	font-size: 18px;
	background: white;
	border: 1px solid #dceff8;
	color: black;
	width: calc(100% - 18px);
	margin-bottom: 5px;
	font-weight: 300;
	font-family: Roboto;
}

.form_content textarea{
	height: 6em;
}

.form_content input.submit { 
    background: #0396fd;
    border: 1px solid #0396fd;
    color: white;
    width: 140px;
    cursor: pointer;
    padding-top: 10px;
    padding-bottom: 10px;
}
.form_content input.submit:hover{
  	background: #03b3fd;
	border: 1px solid #03b3fd;
}


.form_content fieldset p input { 
  width: 193px;
  
}
.form_content fieldset p textarea { 
  width: 380px;
  height: 127px;
}
.form_content fieldset p.submit {
  position: relative;
  margin-bottom: 25px;
	margin-top: 10px;
  float: right;
}

p.red{margin-left: 60px;}

input.alert,
textarea.alert {
  border: solid 1px red;
}

#footer_text{ padding: 2em 0; overflow: hidden;}
#footer #footer_text, #footer #footer_text p, #footer #footer_text a{
	color: white;
	font-size: 15px;
}

#footer #footer_text a:hover{
	color: white;
	text-decoration: underline;
}

#footer .row{
	flex-direction: row-reverse;
	margin: 0;
}

#footer .col{
	display: inline-block;
	vertical-align: top;
	float: right;
}

#footer .col:nth-of-type(3){
	width: 60%;
	padding: 15px;
	padding-left: 0;
	
}

#footer .col:nth-of-type(3) > div:nth-of-type(2) {
	padding-top: 15px;
}
#footer .col:nth-of-type(1),#footer .col:nth-of-type(2){
	padding: 15px;
	width: 20%;
	border-left: 1px solid #0d4d7a;
	min-height: 105px;
}
#footer .col p{
	margin-bottom: 5px;
	color: white;
}
#footer .col p strong{
	margin-bottom: 10px;
	color: white;
	font-weight: normal;
}
#footer .col p.gdpr{
	margin-bottom: 10px;
}
#footer .col p.gdpr a{
	display: inline-block;
	border: 1px solid #0d4d7a;
	color: white;
	font-weight: normal;
	text-decoration: none;
	padding: 8px 12px;
}
#footer .col p.gdpr a:hover{
	background: #0d4d7a;
	text-decoration: none !important;
}

/***************************/
/*  COMMON
/***************************/
.breadcrumb a{
	color: #3C3C3C;
	font-size: 15px;
}
.breadcrumb a:hover{
    	color: #0396fd;
	text-decoration: none;
}


button#modal-launch{
    background: none;
    border: none;
    cursor: pointer;
	padding: 0;
	box-shadow: none;
	display: inline-block;
}

button#modal-launch a{
	display: block;
	border: 8px solid #dceff8;
	text-transform: uppercase;
	font-size: 18px;
	font-weight: bold;
	color: #003154;
	text-decoration: none;
	padding: 10px 12px;
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#dceff8+0,ffffff+100 */
background: #dceff8; /* Old browsers */
background: -moz-linear-gradient(left, #dceff8 0%, #ffffff 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #dceff8 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #dceff8 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dceff8', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
}

button#modal-launch a:hover{
	background: #003154;
	color: white;
}

.modal-content{
	border: none;
	border-radius: 0;
	font-family: Roboto,sans-serif;
}

div.modal-header {
	border-radius: 0;
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#dceff8+0,ffffff+100 */
background: #003154;
}

div.modal-header .close{
	margin: 0 0 auto;
	border: 1px solid white;
	border-radius: 5px;
	padding: 0.4rem 0.7rem;
	color: white;
	opacity: 1;
	-webkit-transition: all 0.3s; 
	-ms-transition: all 0.3s;
    	transition: all 0.3s;    
}
div.modal-header .close:not(:disabled):not(.disabled):hover, 
div.modal-header .close:not(:disabled):not(.disabled):focus{
	opacity: 1;
	color: black;
	background: white;
}

.modal-dialog label {
    margin-bottom: 0.2rem;
}

.modal-dialog .modal-title{
	color: white;
	/* text-transform: uppercase; */
	font-size: 25px;
	font-family: 'Roboto';
	font-weight: bold;
}

span.mandatory-star {
    color: #ff6d6d;
}

.modal-dialog .modal-body {
    background-color: #f5f5f5;
}

.modal-dialog .modal-body label{
	/* font-weight: bold; */
	font-size: 17px;
	color: black;
}

.modal-dialog .btn-primary{
	border: 1px solid #003154;
	color: white;
	font-family: 'Roboto';
	font-size: 18px;
	font-weight: bold;
	text-transform: uppercase;
    	padding: 0.375rem 1.75rem; 
	background: #003154;
}


.modal-dialog .btn-primary:hover{
	background: #ecf5fc;
	color: #003154;
}


.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, .custom-select.is-invalid
{
    background-color: #ffdede;
}

.invalid-feedback, .form-text, small, .small {
    font-size: 15px;
}

/***********
RESPONSIVE
************/

@media screen and (min-width: 1200px){
header{
	position: fixed;
	top: 0;
	z-index: 200;
}
}

@media screen and (max-width: 1340px){

p.nadpis{
	max-width: 350px;
}
#kontakt{
	margin-top: 0;
	float: none;
}
#menu_top{
	height: auto;
}
#nadpatickou, #ref_ukazka{
	width: 100%;
	padding: 0 2%;
	padding-bottom: 15px;
}
#ref_ukazka {
    padding-bottom: 25px;
}

#footer .col:nth-of-type(1), #footer .col:nth-of-type(2){
	min-height: 130px;
}

}

@media screen and (max-width: 1200px){
#header .col-md-auto{
	flex-basis: 100%;
	max-width: 100%;
	text-align: center;
}
p.nadpis{
	width: 100%;
	margin: 5px 0;
	max-width: 100%;
}
#banners .col-md-3{
	max-width: 50%;
	flex-basis: 50%;
}
.navbar-inner {
    width: 100%;
}
.navbar {
	height: auto;
}
.navbar-toggler {
    	display: block !important;
    	color: white;
	font-size: 25px;
   	vertical-align: middle;
    	outline: none !important;
    	line-height: 25px;
	width: 100%;
}
.navbar-toggler-icon {
    	font-size: 25px;
    	height: auto;
    	vertical-align: initial;
	margin-bottom: 0;
	color: white;
}
.navbar-collapse.collapse:not(.show) {
    display: none;
    height: auto;
}
.nav li.lvl-1 {
    display: block;
    text-align: center;
    flex-basis: 100%;
}
.nav li.lvl-1 a {
    display: block;
}
.nav li.lvl-1:last-of-type{
	padding-left: 0;
}
.nav li.lvl-1:last-of-type a:before{
	display: none;
}
.dropdown-toggle::before{
	display: none;
}

}

@media screen and (max-width: 920px){

#header > div{
	text-align: center;
}
#logo {
    	width: 96%;
    	margin: 0 2%;
    	background-position: top center;
    	padding-left: 0;
    	margin-top: 10px;
	text-align: center;
}
#odkaz_na_uvod{
	width: 100%;
	margin-right: 0;
	text-align: center;
	background-position: center center;
}
#kontakt{
	float: none;
	margin-top: 10px;
}

#hornimenu1 {
    display: none;
    position: absolute;
    left: 0;
    z-index: 50;
    background: white;
    padding-bottom: 30px;
}
#hornimenu1.visible {
    display: block;
    overflow: hidden;
}
#hornimenu1.visible .ddmxlileft .section{
	width: 100%;
	position: relative;
	top: auto;
	left: auto;
}
}


@media screen and (max-width: 800px){
#footer .col:nth-of-type(1), #footer .col:nth-of-type(2), #footer .col:nth-of-type(3){
	width: 100%;
	padding: 10px 0;
	border: none;
	min-height: 0;
	text-align: center;
	flex-basis: 100%;
}
#ref_ukazka p.gal{
	display: block;
	text-align: center;
}
#ref_ukazka p.gal a{
	display: inline-block;
	margin: 5px;
	padding: 0;
	position: relative;
	max-width: 100%;
	flex-basis: 100%;
	width: 240px;
}
#banners .col-md-3{
	max-width: 100%;
	flex-basis: 100%;
}

}
	
@media screen and (max-width: 640px){

#main_content .banner .ban_img img{
	width: 100%;
	max-width: 100%;
}

#main_content a[rel="lightbox[all]"]{
	max-width: 100%;
}

div.kontakt, iframe{
	width: 100% !important;
}

#intro{
	overflow: hidden;
}


}








