html {
    height: 100%;
}
body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    line-height: 1.6;
    background-color: #fff;
    color: #000;
}
.stranka {
    min-height: 100%;
}
.slider {
    height: 100%;
    min-height: 730px;
    max-height: 1080px;
    max-width: 1920px;
    position: relative;  
    margin: 0 auto;
}
body.fix-top .slider {
    margin-bottom: 127px;
}
.slider .slider-polozky {
    height: 100%;
}
.slider .slider-polozky .slider-polozka {
    display: none;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
}
.slider .slider-polozky .slider-polozka:first-child {
    display: block;
}
.slider .slider-fix {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.slider .slider-fix .barva-pruhlednost {
    width: 100%; 
    height: 100%;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background-color: #000;
    /* IE 8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
    /* IE 5-7 */
    filter: alpha(opacity=20);
    /* Gecko */
    -moz-opacity: 0.2;
    /* Safari 1.x */
    -khtml-opacity: 0.2;
    /* CSS3 */
    opacity: 0.2;
}
.slider .slider-fix .obsah {
    width: 1140px; 
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index:1;
}

.slider .slider-fix .logo {
    width: 390px;
    margin: 84px 0 0 -195px;
    position: absolute;
    top: 0;
    left: 50%;
}
.slider .slider-fix .logo a {
    display: block;
}
.slider .slider-fix .logo a img {
    display: block;
}
.slider .slider-fix .slider-mutace {
    position: absolute;
    top: 84px;
    right: 0;
    width: 30%;
    height: 170px;
    border-bottom: 1px solid #d33150;
    margin: 0;
}
.slider .slider-fix .slider-kontakt {
    position: absolute;
    top: 84px;
    left: 0;
    width: 30%;
    height: 170px;
    border-bottom: 1px solid #d33150;
    margin: 0;
    font-family: 'Playfair Display', serif;
    color: #fff;
}
.slider .slider-fix .slider-kontakt p {
    display:block;
    bottom: 20px;
    position: absolute;
}
.slider .slider-fix .slider-kontakt span {
    display:inline-block;
    font-size: 15px;
    line-height: 1.5;
}
.slider .slider-fix .slider-kontakt span:first-child {
    display:block;
    font-size: 20px;
    line-height: 1.5;
}
.slider .slider-fix .text {
    padding: 460px 0 0 0;
    text-align: center;
    color: #fff;
    font-size: 20px;
    line-height: 1.5;
}
.slider .slider-fix .text .text-1 {
    font-size: 30px;
    margin: 0 0 15px;
}
.slider .slider-fix .text strong {
    font-weight: 700;
}
.slider .slider-fix .text .text-2 {
    margin: 0;
}
.slider .slider-fix .odkazy {
    text-align: center;
    color: #fff;
    font-size: 20px;
    margin: 0;
}
.slider .slider-fix a {
    color: #fff;
    text-decoration:none;
}
.slider .slider-fix .mail {
    color: #FF9F1C;
}
.slider .odkazy a {
    color: #fff;
    background-color: rgba(0,0,0,0.4);
    text-decoration: none;
    margin: 0 10px 0 10px;
    text-transform: uppercase;
    min-height: 44px;
    line-height: 44px;
    width:18px;
    min-width:180px;
    display:inline-block;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
    border:2px solid #d33150;
    top:65px;
    position:relative;
    font-family: 'Playfair Display', serif;
}
.slider .odkazy a:hover {
    background-color:#d33150;
    font-weight: 700;
}
.slider-text-mobil {
    display: none;
}

.menu {
    background: url('../img/menu-1.png') repeat-x top;
}
body.fix-top .menu {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
}
.menu .obsah {
    width: 1170px;
    height: 70px;
    line-height: 70px;
    margin: 0 auto;
    padding: 0 15px 57px 15px;
    position: relative;
    background: url('../img/menu-2.svg') no-repeat left top;
}
.menu .nazev {
    position: absolute;
    top: 0;
    left: 0;
    line-height: 70px;
    margin: 0;
    padding: 0 0 0 69px;
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
}
.menu .nazev a {
    color: #fff;
    text-decoration: none;
}
.menu ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-align: right;
}
.menu ul li {
    display: inline-block;
    margin: 0 0 0 25px;
    padding: 0;
    text-transform: uppercase;
    color: #fff;
    font-size: 16px;
}
.menu ul li a {
    display: block;
    color: #fff;
    text-decoration: none;
}
.google-mapa-box .obsah  {
    box-sizing: border-box;
    width: 1170px;
    height: 550px;
    margin: 0 auto 45px auto;
    padding: 0 15px;
}
#google-mapa {
    height: 450px;
    width: 100%;
}
.ubytovani .obsah  {
    box-sizing: border-box;
    width: 1170px;
    margin: 0 auto;
    padding: 20px 15px;
}
.tipy-na-vylety .obsah  {
    box-sizing: border-box;
    width: 1170px;
    margin: 0 auto;
    padding: 0 15px;
}
.rezervace .obsah  {
    box-sizing: border-box;
    width: 1170px;
    margin: 0 auto;
    padding: 0 15px;
}
.nadpis.linka {
    background: url('../img/nadpis-linka.png') repeat-x center;
    text-align: center;
    margin: 0 0 40px;
    font-size: 37px;
    font-weight: 400;
}
.nadpis.linka span {
    display: inline-block;
    padding: 0 3em;
    background-color: #fff;
}
.vypis-novinek {
    margin: 0 0 35px -30px;
}
.vypis-novinek:after {
    content: '';
    display: block;
    clear: both;
}
.vypis-novinek .novinka {
    width: 25%;
    float: left;
    box-sizing: border-box;
    padding: 0 0 0 30px;
}
.vypis-novinek .novinka .box-img {
    margin: 0 0 25px;
}
.vypis-novinek .novinka .box-img img {
    display: block;
}
.vypis-novinek .novinka .box-text {
    font-size: 15px;
}
.vypis-novinek .novinka .box-text .nazev {
    line-height: 1.2;
    margin: 0 0 15px;
    font-size: 20px;
    font-weight: 700;
}

.fotogalerie .obsah  {
    box-sizing: border-box;
    width: 1170px;
    margin: 0 auto;
    padding: 0 15px;
}
.fotogalerie .galerie {
    padding: 20px 0 30px;
}
.fotogalerie .galerie .row-1 {
    margin: 0 0 0 -30px;
}
.fotogalerie .galerie .row-1:after {
    content: '';
    display: block;
    clear: both;
}
.fotogalerie .galerie .row-1 .col {
    width: 33.33%;
    float: left;
    box-sizing: border-box;
    padding: 0 0 0 30px;
}
.fotogalerie .galerie .row-1 .foto {
    margin: 0 0 30px;
}
.fotogalerie .galerie .row-1 .foto img {
    display: block;
    width: 100%;
}
.fotogalerie .galerie .row-2 {
    margin: 0 0 0 -30px;
}
.fotogalerie .galerie .row-2:after {
    content: '';
    display: block;
    clear: both;
}
.fotogalerie .galerie .row-2 .foto {
    width: 25%;
    float: left;
    box-sizing: border-box;
    padding: 0 0 30px 30px;
    margin: 0;
}
.fotogalerie .galerie .row-2 .foto img {
    display: block;
    width: 100%;
}

.cenik .obsah  {
    box-sizing: border-box;
    width: 1170px;
    margin: 0 auto;
    padding: 0 15px;
}
.cenik .polozky {
    margin: 0 0 20px -30px;
}
.cenik .polozky:after {
    content: '';
    display: block;
    clear: both;
}
.cenik .polozky .komentar {
    width: 59%;
    display: inline-block;
    box-sizing: border-box;
    padding: 0 30px 30px 30px;
    margin: 0;
    float: left;
}
.cenik .polozky .polozka {
    width: 40%;
    display: inline-block;
    box-sizing: border-box;
    padding: 0 30px 30px 30px;
    margin: 0;
    float: left;
}
.cenik .polozky .polozka .popisek {
    border-bottom: 3px solid #d33150;
    padding: 0 0 5px;
    margin: 0 0 8px;
}
.cenik .polozky .polozka .hodnota {
    margin: 0 0 8px;
}
.cenik .polozky .polozka .hodnota:after {
    content: '';
    display: block;
    clear: both;
}
.cenik .polozky .polozka .hodnota .obdobi {
    display: block;
    float: left;
}
.cenik .polozky .polozka .hodnota .cena {
    display: block;
    float: right;
}
.cenik .polozky .polozka .dodatek {
    margin: 0 0 8px;
    font-size: 0.8em;
    color: #888;
}

.kalendar-form {
    margin: 0 0 30px;
}
.kalendar-form:after {
    content: '';
    display: block;
    clear: both;
}
.kalendar-form .kalendar {
    box-sizing: border-box;
    float:left;
    width: 60%;
    padding: 0 50px 0 0;
}
.kalendar-form .kalendar iframe {
    border-width:0;
    width: 100%;
    height: 525px;
}
.kalendar-form .form {
    float:right;
    width:40%;
    padding: 12px 0 0 0;
}

.kalendar-form .form .polozka label {
    font-weight: 700;
    font-size: 14px;
    display: block;
    margin: 0 0 5px;
}
.kalendar-form .form .polozka label .info {
    font-weight: 400;
    font-size: 14px;
}

.kalendar-form .form .radek.jmeno-prijmeni .polozka,
.kalendar-form .form .radek.email-telefon .polozka,
.kalendar-form .form .radek.termin-od-do .polozka {
    box-sizing: border-box;
    float: left;
    width: 50%;
    padding: 0 10px 0 0;
    margin: 0 0 20px;
}
.kalendar-form .form .radek.jmeno-prijmeni .polozka:last-child,
.kalendar-form .form .radek.email-telefon .polozka:last-child,
.kalendar-form .form .radek.termin-od-do .polozka:last-child {
    box-sizing: border-box;
    float: left;
    width: 50%;
    padding: 0 0 0 10px;
}
.kalendar-form .form .termin-nadpis {
    margin: 0 0 5px;
    font-weight: 700;
    font-size: 14px;
}
.kalendar-form .form .radek .polozka.vzkaz {
    margin: 0 0 20px;
}
.kalendar-form .form .radek .polozka.vzkaz textarea {
    width: 100%;
    height: 80px
}

.kontakt {
    box-sizing: border-box;
    max-width: 1920px;
    margin: 0 auto;
    background: url('../img/paticka.jpg') no-repeat center;
}
.kontakt .obsah {
    box-sizing: border-box;
    width: 1140px;
    height: 562px;
    margin: 0 auto;
    position: relative;
    text-align: center;
    padding: 80px 0 0 0;
    color: #fff;
}
.kontakt .obsah a {
    color: #d33150;
}
.kontakt .obsah .nazev {
    font-size: 40px;
    font-weight: 400;
    color: #d33150;
    margin: 0 0 64px;
}
.kontakt .obsah .adresa {
    font-size: 30px;
    font-weight: 400;
    margin: 0 0 44px;
    line-height: 41px;
}
.kontakt .obsah .telefon-email {
    font-size: 20px;
    font-weight: 400;
    margin: 0 0 44px;
    line-height: 40px;
}
.kontakt .obsah .vlevo-vpravo {
    position: absolute;
    bottom: 40px;
    left: 0;
    width: 100%;
    font-size: 14px;
}
.kontakt .obsah .vlevo-vpravo .vlevo {
    float: left;
}
.kontakt .obsah .vlevo-vpravo .vpravo {
    float: right;
    text-align: right;
}

strong {
    font-weight: 700;
}

input[type=text], textarea {
    box-sizing: border-box;
    border: 1px solid #d33150;
    padding: 8px;
    font-family: 'Playfair Display', serif;
    font-size: 14px;
    color: #000;
    line-height: 1.6;
}
button {
    background-color: #d33150;
    border: 0 none;
    border-radius: 22px;
    color: #fff;
    text-transform: uppercase;
    font-size: 16px;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    padding: 0 32px;
    height: 44px;
    line-height: 44px;
}
.kalendar-form .form .radek .polozka.souhlas {
    margin: 0 0 20px;
    font-size: 14px;
}
.kalendar-form .form .radek .polozka.souhlas input[type=checkbox] {
    margin: 0 8px 0 0;
    vertical-align: middle;
}
.kalendar-form .form .radek .polozka.souhlas label {
    display: inline;
    margin: 0;
    vertical-align: middle;
}
#souhlas-se-zpracovanim {
    display: none;
    max-width: 600px;
}

.kalendar-form .form .radek .polozka.tlacitko {
    text-align: center;
    margin: 30px 0
}

.radek:after {
    content: '';
    display: block;
    clear: both;
}
.radek .polozka.w1f1 {
    float: none;
    width: auto;
}
.radek .polozka.w1f2 {
    box-sizing: border-box;
    float: left;
    width: 50%;
}
.radek .polozka.w1f3 {
    float: left;
    width: 33.33%;
}
.radek .polozka.w2f3 {
    float: left;
    width: 66.66%;
}

.report {
    margin: 10px 0 20px 0;
    font-size: 15px;
    line-height: 1.2;
}
.report .error {
    border: 1px solid #a94442;
    background-color: #f2dede;
    padding: 8px 10px;
    color: #a94442;
    margin: 0 0 1px 0;
}
.report .info {
    border: 1px solid #3c763d;
    background-color: #dff0d8;
    padding: 8px 10px;
    color: #3c763d;
    margin: 0 0 1px 0;
}

.radek .polozka input[type=text] {
    width: 100%;
}
a {
    color: #000;
    text-decoration: underline;
}
a:hover {
    color: #000;
    text-decoration: none;
}
a img {
    border: 0 none;
}
.flex-row {
    display: flex; /* equal height of the children */
    flex-wrap: wrap;

}

.flex-col {
}

gmp-map {
    height: 100%;
}