html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  -mox-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}             
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{ 
    display:block;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}
a:hover {
    text-decoration: underline;
}
ol,
ul {
    list-style: none;
}
blockquote,
q {
    quotes: none
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    border-radius: 0px;
}
:focus {
    outline: none;
}

.cleaaar {clear: both; }

* { box-sizing: border-box; }

/*
 * Base styles
 * --------------------------------------------------*/

p,
ul,
ol {margin-bottom: 1em;}

b, strong  {font-weight: bold;}

em {font-style: italic;}

.clear {clear: both;}

img { max-width: 100%;}

/* Typography */

html {
	font-family: 'Montserrat', sans-serif;
    min-height: 100vh;
    font-size: 100%;
  scroll-behavior: smooth;		
}
 
body {
	position: relative;
    min-height: 100vh;
    background-color: #fff;
    color: #3771b3;
	font-family: 'Montserrat', sans-serif;
	font-size:22px; 
	font-weight:400; 
	line-height: 1.3;
	font-style:normal;
}

.hlavicka {
    display: block;
    z-index: 500;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    -webkit-box-shadow: 0 2px 5px 0 rgb(0 0 0 / 10%);
    -moz-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
    box-shadow: 0 2px 5px 0 rgb(0 0 0 / 10%);
}


.boxfull {
max-width:2400px;
 margin:0 auto;
}

.box1400 {
 max-width:1400px;
 margin:0 auto;
}

/*  nadpisy obsah */

h1, h2, h3, h4, h5, h6 {
font-family: 'Montserrat', sans-serif;
font-weight:600;
color: #fff;
margin-bottom:30px;
line-height: 1.2;
}

h1 {font-size:80px;}
h2 {font-size:70px;}
h3 {font-size:60px;}
h4 {font-size:50px;}
h5 {font-size:26px;}
h6 {font-size:24px;}

/* menu */

.menupruh {
position: relative;
background-color: #fff;
padding:0px;
}

.menupruh-inner { 
position: relative;
height:140px;
line-height: 140px;
}


.menupruh-inner img {
vertical-align: middle;
}

span.logoimg {
    line-height: 140px;
}

span.logoimg img.logo {
    margin-left: 30px;
	vertical-align: middle;
}

body.header-not-at-top .menupruh {
	height:90px;
}

body.header-not-at-top .menupruh-inner { 
	height:90px;
	line-height: 90px;
}


body.header-not-at-top span.logoimg {
    line-height: 90px;
}

@media only screen and (max-width: 990px) {
.menupruh-inner { 
	height:90px;
	line-height: 90px;
}	

span.logoimg {
    line-height: 90px;
}

span.logoimg img.logo {
    width:95px;
}
}

/* obsah */

.kotva {
display: block;
vertical-align: top;
height:89px;
margin-top:-89px;
}

.hlavni {
    position: relative;
	margin:0;
    margin-top: 140px;
}

body.header-not-at-top .hlavni {
     margin-top: 90px;
}


@media only screen and (max-width: 990px) {
.hlavni {    margin-top: 90px;}
}

/* slider */

.slider {
height: 640px;
background-color:#3F4E31;
color: #fff;
position:relative;
}

.slider {
    position: relative;
    z-index: 1;
    height: 660px;
    margin: 0px auto;
    padding: 0px;
    background: #fff;
    background-image: url(../img/slider-pozadi.jpg);
    background-position: 50% 50%;
    background-repeat: no-repeat;
	Background-size:cover;
}

.slider-inner {
 padding:0px 30px;
}

.slider-caption {
	padding-top:110px;
	text-align:left;
}	

.slider-caption h1,
.slider-caption h2 {
font-size:35px;
font-weight:300;
color: #fff;
margin-bottom: 30px;
}


.slider-caption div.tlacitko {
margin:20px 0;
padding:0;
}

.slider-caption a.sortiment {
 display:inline-block;
  position:relative;
  top:20px;
  text-decoration: none;
  padding:20px 30px;
  font-size:26px;
  font-weight:600;
  background-color: #fff;
  color: #0a254e;
}

.slider-caption a.sortiment:hover {
   background-color: #11237e;
  color: #fff;
}

@media only screen and (max-width: 1200px) {

.slider-caption h1,
.slider-caption h2 {
font-size:30px;
}

}

@media only screen and (max-width: 600px) {

.slider-caption {
	padding-top:60px;
	text-align:left;
}	

.slider-caption h1,
.slider-caption h2 {
	font-size:26px;
	margin-bottom:20px;
}

.slider-caption a.sortiment {
  top:10px;
  padding:15px 20px;
  font-size:24px;
}

}

@media only screen and (max-width: 330px) {

.slider-caption {
	padding-top:40px;
	text-align:left;
}	

.slider-caption h1,
.slider-caption h2 {
	font-size:22px;
	margin-bottom:20px;
}

.slider-caption a.sortiment {
  top:0px;
  padding:15px 20px;
  font-size:22px;
}

}

/* HLAVNI OBSAH HP */

/* o nas */

.onas  {
  margin:0 auto;
  max-width:2400px;
  background-color: #11237e;
}

.onas-inner {
 padding:60px 30px;
 color: #fff;
 font-size: 22px;
 font-weight:300;
 text-align:left;
}

.onas-inner .foto {
	margin-bottom: 1em;
}

.onas-inner .item-image img {
    max-width: 100%;
    width: auto;
    height: auto;
    display: block;
}

.onas-inner h2 {
font-size:50px;
 font-weight:700;
 color: #fff;
}

@media only screen and (max-width: 500px) {
.onas-inner  h2 {font-size:40px;}
}


/* sortiment */

.sortiment {
  margin:0 auto;
  max-width:2400px;
  background-color: #fff;
}

.sortiment-inner {
 padding:60px 30px;
 color: #11237e;
 font-size: 22px;
 font-weight:300;
 text-align:left;
}

.sortiment-inner h2 {
 font-size:80px;
 font-weight:700;
 color: #11237e;
}

.sortiment-inner h3 {
 font-size:50px;
 font-weight:700;
 color: #11237e;
}

.sortiment-inner a:link,
.sortiment-inner a:visited {color: #11237e;}
.sortiment-inner a:hover { color: #111;}

.sortiment-inner div.tlacitko {
  padding:20px 0;
}

.sortiment-inner div.tlacitko p {
	margin:0;padding:0;
}

.sortiment-inner .tlacitko .phocadownloadfile32 {
    background: none;
    border: none;
    margin: 0px;
    padding: 0;
}

.sortiment-inner .tlacitko .phocadownloadfile32 a {
 display:inline-block;
  position:relative;
  text-decoration: none;
  padding:20px 30px;
  font-size:26px;
  font-weight:600;
  background-color: #11237e;
  color: #fff;
  border:1px solid #11237e;
}

.sortiment-inner .tlacitko .phocadownloadfile32 a:hover {
   background-color: #fff;
  color: #11237e;
}

.sortiment-inner .text-katalog {
 padding: 30px 30px 30px 30px;
}

.sortiment-inner .katalogy p {
	margin:0;padding:0;
}

.sortiment-inner .katalogy .phocadownloadfilelist {
    background: transparent;
    border: none;
    margin: 0;
  padding: 0px  30px 30px 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  grid-column-gap: 30px;
  grid-row-gap: 30px;	
}

.sortiment-inner .katalogy .phocadownloadfilelist .phocadownloadfilelist32 {
  background: transparent;
  text-align:left;
  padding: 0;
}

.sortiment-inner .katalogy .phocadownloadfilelist .phocadownloadfilelist32 a {
    display: grid;
    place-items: center;

    width: 100%;
    min-height: 80px;
    padding: 10px 15px;

    text-align: center;
    text-decoration: none;

    font-size: 26px;
    font-weight: 600;
    line-height:1.1;
	
    background-color: #fff;
    color: #11237e;
    border: 1px solid #11237e;
}

.sortiment-inner .katalogy .phocadownloadfilelist .phocadownloadfilelist32 a:hover {
  background-color: #11237e;
  color: #fff;
}

@media only screen and (max-width: 1000px) {
.sortiment-inner .text-katalog { padding: 30px 0px 30px 0px;}
.sortiment-inner .katalogy .phocadownloadfilelist {  padding: 30px 0px 30px 0px;}
}

@media only screen and (max-width: 600px) {
.sortiment-inner h2 { font-size:50px;}
.sortiment-inner h3 { font-size:30px;}
.sortiment-inner .katalogy .phocadownloadfilelist {  display:block;}
.sortiment-inner .katalogy .phocadownloadfilelist .phocadownloadfilelist32 { margin-bottom:30px;}
}

/* sluzby */

.sluzby {
  margin:0 auto;
  max-width:2400px;
  background-color: #3771b3;
}

.sluzby-inner {
 padding:60px 30px;
 color: #fff;
 font-size: 22px;
 font-weight:300;
 text-align:left;
}

.sluzby-inner h2 {
 font-size:80px;
 font-weight:700;
 color: #fff;
}

.sluzby-inner a:link,
.sluzby-inner a:visited {color: #fff;}
.sluzby-inner a:hover { color: #ccc;}

@media only screen and (max-width: 600px) {
.sluzby-inner h2 { font-size:50px;}
}

/* podstranky obecne */

.obsahsub {
  margin:0 auto;
  max-width:2400px;
  background-color: #fff;
}

.obsahsub-inner {
 padding:60px 30px;
 color: #11237e;
 font-size: 22px;
 font-weight:300;
 text-align:left;
}

.obecnasub .obsahsub-inner h1,
.obecnasub .obsahsub-inner h2 {
 font-size:60px;
 font-weight:700;
 color: #11237e;
}

.obecnasub .obsahsub-inner h3 {
 font-size:40px;
 font-weight:700;
 color: #11237e;
}

.obecnasub .obsahsub-inner h5 {
    color: #11237e;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 25px;
}

.obecnasub .obsahsub-inner a:link,
.obecnasub .obsahsub-inner a:visited {color: #11237e;}
.obecnasub .obsahsub-inner a:hover { color: #111;}


.obecnasub .obsahsub-inner ol, 
.obecnasub .obsahsub-inner ul {
	margin: 1em 0 1em 1em;
    padding: 0;
}

.obecnasub .obsahsub-inner ul>li {
    margin: 0.5em 0 0.5em 1.5em;
    padding-left: 1em;
    list-style: disc outside;
    overflow: visible;
}


/* kontakty */
.kontakty {
  margin:0 auto;
  max-width:2400px;
  background-color: #11237e;
}

.kontakty-inner {
 padding:60px 30px;
 color: #fff;
  font-size: 22px;
 font-weight:300;
 text-align:left;
}


.kontakty-inner h2 {
 font-size:80px;
 font-weight:700;
 color: #fff;
}

.kontakty-inner a:link,
.kontakty-inner a:visited {color: #fff;}
.kontakty-inner a:hover { color: #ccc;}

.kontakty-inner table {
	margin-bottom: 20px;
}

@media only screen and (max-width: 600px) {
.kontakty-inner h2 { font-size:50px;}
}


/* Mapa HP */

#map {
    border-radius: 20px;
    overflow: hidden;
}

/* Izolace Leaflet stylu  */
#map .leaflet-container {
    font: inherit;
}

#map .leaflet-control a {
    text-decoration: none !important;
}


/* FIX Leaflet + Joomla */
.leaflet-container img {
    max-width: none !important;
}

/* FIX zoom tlačítek (hlavní problém) */
.leaflet-control-zoom a {
    width: 30px !important;
    height: 30px !important;
    line-height: 30px !important;
    font-size: 18px !important;
    text-align: center;
}

/* zajistí viditelnost ikon */
.leaflet-bar a {
    background-color: #fff !important;
    color: #000 !important;
    border-bottom: 1px solid #ccc;
}

/* hover efekt */
.leaflet-bar a:hover {
    background-color: #f4f4f4 !important;
}

/* z-index jistota */
.leaflet-top,
.leaflet-bottom {
    z-index: 1000 !important;
}

.leaflet-bar a {
    text-indent: 0 !important;
}


/* upravy pop-up */
.leaflet-popup-content-wrapper {
    border-radius: 14px;
    padding: 0;
    overflow: hidden;
}

/* hlavička */
.popup-header {
    background: #3771b3;
    color: #fff;
    padding: 10px 15px;
	font-size:18px;
    font-weight: bold;
}

/* obsah */
.popup-body {
    padding: 12px 15px;
    font-size: 14px;
}

/* tlačítko */
.popup-btn {
    display: block;
    margin-top: 10px;
    padding: 8px;
    text-align: center;
    background: #3771b3;
    color: #fff !important;
    border-radius: 6px;
    text-decoration: none;
}

#map .leaflet-container a {
    color: #fff !important;
}


p.mobilview {display:none;}

@media only screen and (max-width: 765px) {
 p.mobilview {display:block;margin-bottom:0.5em;font-size:16px;color:#aaa}
}

/* Pata */
	
.pata {
height: 101px;
max-width:2400px;
background-color: #3771b3;
border-top:1px solid #fff;
}

.pata-inner {
color: #fff;
font-size:18px;
font-weight:500;
display: table;
height: 100px;
width:100%;
padding:0px 30px;
}

.pata-inner .box-row {
display: table-row;
}

.pata-inner .box-cell {
display: table-cell;
height: 100px;
vertical-align: middle;
}

.pata-inner .box-cell span {
margin:0;padding:0;
}

.pata-inner .box-cell.copyright{
text-align:left;
width:44%;
}

.pata-inner .box-cell.author {
text-align:right;
width:55%;
}

.pata-inner .box-cell.author  {
padding-top:4px;
}

.pata-inner .box-cell.author img {
vertical-align: middle;
}

.logo-pata img {
opacity:1;
transition:all 0.3s ease;
}


@media only screen and (max-width: 1050px) {

.pata-inner .box-row {
display: table-cell;
width:100%;
height: 100px;
vertical-align: middle;
}

.pata-inner .box-cell {
display: block;
width:100%;
height: auto;
}

.pata-inner .box-cell.copyright{
text-align:center;
width:100%;
padding-bottom:10px;
border-bottom:1px solid #ccc;
}

.pata-inner .box-cell.author {
text-align:center;
width:100%;
padding-top:5px;
}

}

@media only screen and (max-width: 600px) {

.pata {
height: 139px;
max-width:2400px;
}

.pata-inner {
height: 138px;
font-size:18px;
padding:0px 20px;
}
}

@media only screen and (max-width: 500px) {

.pata {
height: 139px;
max-width:2400px;
}

.pata-inner {
height: 138px;
font-size:16px;
padding:0px 20px;
}
}

@-webkit-keyframes swing
{
    15%
    {
        -webkit-transform: translateX(5px);
        transform: translateX(5px);
    }
    30%
    {
        -webkit-transform: translateX(-5px);
       transform: translateX(-5px);
    } 
    50%
    {
        -webkit-transform: translateX(3px);
        transform: translateX(3px);
    }
    65%
    {
        -webkit-transform: translateX(-3px);
        transform: translateX(-3px);
    }
    80%
    {
        -webkit-transform: translateX(2px);
        transform: translateX(2px);
    }
    100%
    {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}
@keyframes swing
{
    15%
    {
        -webkit-transform: translateX(5px);
        transform: translateX(5px);
    }
    30%
    {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px);
    }
    50%
    {
        -webkit-transform: translateX(3px);
        transform: translateX(3px);
    }
    65%
    {
        -webkit-transform: translateX(-3px);
        transform: translateX(-3px);
    }
    80%
    {
        -webkit-transform: translateX(2px);
        transform: translateX(2px);
    }
    100%
    {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}



.logo-pata img:hover {
opacity:0.5;
        -webkit-animation: swing 1s ease;
        animation: swing 1s ease;
        -webkit-animation-iteration-count: 1;
        animation-iteration-count: 1;
}

