@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');

html {
  --svetleruzova: #F5E4E4;
  --ruzova: #9A6363;
  --vyraznejsiruzova: #eccfcf;
  --vyraznajsiruzova: #e09b9b;
  --tmaveruzova: #601515;
  --tmavytext: #1D020A;

}

p {
 line-height: 1.7;
    letter-spacing: 0.07em;
}

body {
  padding: 0;
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  color: var(--tmavytext);
}

.button.button--primary,
.button,
.btn {
  border-radius: 30px;
  background: #fff;
  color: var(--ruzova);
  height: 58px;
  line-height: 58px;
  box-shadow: 0 4px 3px 0 rgba(0, 0, 0, 0.15) ;
  padding: 0 40px 0 40px;
  display: inline-block;
  font-size: 20px;
  font-weight: 500;
  text-decoration: none;
  margin-right: 10px;
  margin-bottom: 10px;
  transition: all 500ms ease;
  font-weight: 400;
  position: relative;
}

.button.button--primary,
.button:hover,
.btn:hover {
  background: var(--ruzova);
  color: #fff;
  text-decoration: none;
}

.button.button--primary:hover {
  background: #fff;
  color: var(--ruzova);
}

.btn--rezervace { padding: 0 40px 0 70px;}
.btn--tel-rezervace { padding: 0 40px 0 70px;}
.btn--rezervace:after {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  top: 17px;
  left: 36px;
  background-image: url('../images/obalka.svg');
  background-size: 20px auto;
  background-position:50% 50%;
  background-repeat: no-repeat;
}

.btn--tel-rezervace:after {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  top: 17px;
  left: 36px;
  background-image: url('../images/telefon.svg');
  background-size: 17px auto;
  background-position:50% 50%;
  background-repeat: no-repeat;
}

.btn--rezervace:hover:after {
  background-image: url('../images/obalka-fff.svg');
}

.btn--tel-rezervace:hover:after {
  background-image: url('../images/telefon-fff.svg');
}

.webform-button--submit {margin-left: 2%;}



header#navbar {
    padding-left: 0;
    padding-right: 0;
}

header#navbar {
  background-color: #fff;

}


header#navbar.fixed {
  position: fixed;
  width: 100%;
  z-index: 99;
  top: 0px;
}

.toolbar-horizontal header#navbar.fixed {
 top: 79px;
}

.menu--main {

  background: #ffffff;
}

#block-tpp-page-title {
  padding: 1px 0;
  background: var(--svetleruzova);
}

#block-tpp-page-title h1 {
  font-weight: 300;
  margin: 40px 0;

}

.region--content {
  padding-top:0;
  min-height: calc(100vh - 22em);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 95px;
}


.region--contactform,
.kh-container {
  width: 96%;
  max-width: 1100px;
  margin: 0 auto; 
  position: relative;
  z-index: 3;
}
 
.navbar-in {
display: flex;
    width: 96%;
  max-width: 1100px;
  margin: 0 auto; 
  position: relative;
}

.region--contactform  {
  max-width: 800px;

}


#block-tpp-webform h2,
.kh-container h2  {
  text-align: center;
  color: var(--tmaveruzova);
  font-weight: 300;
  font-size: 42px;
  margin-bottom: 32px;
}

.doplnkovy-popisek h3 {
  color: var(--tmaveruzova);
  font-weight: 300;
  font-size: 35px;
  margin-bottom: 20px;
}
.doplnkovy-popisek h3 a {
  text-decoration: none;
}




.top .kh-container h2  {
  text-align: left;
  color: var(--tmaveruzova);
}

.doplnkovy-flex,
.flex-33 .field--items,
.flex-50,
.flex-33 {
  display: flex;
  justify-content: center;
  align-content: space-around;
}

.top .flex-50 {

  align-items: center;

}

.top .flex-50 > * {
  padding: 50px 2% 0 2%;

}

.flex-item-info--in {
  padding-bottom: 50px;
}

.flex-33 .field--items > .field--item {
  flex: 1 33%;
  max-width: 30%;
  margin: 1%;
  text-align: center;
}

.field--name-field-popisek-obrazku {
  text-align: center;
  padding: 20px 30px;
  font-size: 24px;
  line-height: 34px;
  color: var(--ruzova);
}
 
.doplnkovy-nahledovy-obrazek {
  border-radius: 50%;
  width: 300px;
  overflow: hidden;
  margin: 0 40px;
}
.field--name-field-text table {
  width: 100%;
}
.field--name-field-text table tr td {
  border-bottom: 1px solid var(--vyraznejsiruzova);
padding: 8px 15px;
}


.ruzova .field--name-field-text table tr td {
  border-bottom: 1px solid var(--tmavaruzova);
 
}
 

.paragraph.kulaty .paragraph__content--image {
 border-radius: 50%;
 width: 70%;
 height: 0;
 padding: 70% 0 0 0 ;
 margin-left: 15%;
   overflow: hidden;
   position: relative;
}

.paragraph.kulaty .paragraph__content--image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
      border: 0px solid var(--vyraznejsiruzova);
    border-width: 5px 1px 5px 8px;
    border-radius: 50%;
    height: auto;
}


.field--name-field-sluzba .nahledovy-obrazek {
  max-width: 80%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  background: var(--vyraznejsiruzova);
}

 

.field--type-text-long ul li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 10px;
  line-height: auto;
  margin-top:15px ;
  margin-bottom:15px ;
}

.field--type-text-long ul li:before {
  top: 3px;
  left: 0;
  position: absolute;
  width: 8px;
  height: 8px;
  background: transparent;
  border-radius: 8px;
  border: 1px solid var(--ruzova);
  content: "";
  display: block;
}

.field--type-text-long ol   {
  margin-left: 16px;

}

.field--type-text-long ol li {
  list-style: decimal;
  letter-spacing: 0.06em;
  padding: 0 0 0 5px;
  margin-top:15px ;
  margin-bottom:19px ;
  
}

.field--name-field-formatted-title {

    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 24px;
 
}



.field--name-field-sluzba > .field--item .nahledovy-obrazek img {
  max-width: calc(100% - 10px);
  margin: 8px 3px 0 0;
  border-radius: 50%;
}

.field--name-field-sluzba > .field--item:nth-child(1) .nahledovy-obrazek img {
  margin: 3px 0px 0 8px;
}
.field--name-field-sluzba > .field--item:nth-child(2) .nahledovy-obrazek img {
  margin: 0 7px 5px 0;
}

.field--name-field-sluzba h3  {
  font-weight: 300;
  font-size: 24px;

}
.field--name-field-sluzba h3 a {
  text-decoration: none;
  color: var(--ruzova);
}

.bila.paragraph {
    margin: 60px auto;
}

.ruzova {
  background: var(--svetleruzova);
  position: relative;
  margin-bottom: 120px;
}

.ruzova.sluzby {
  margin:120px 0;
  padding: 100px 0;
} 
.flex-33 .field--items ,
.sluzby .flex-33 {
  width: 100%;
}

.field--name-field-duvody-hp img {
  margin: 0 auto;
}

.field--name-field-duvody-hp {
  text-align: center;
}

.form-item-name label,
.form-item-name input {
  max-width: 46%;
  margin: 0 2%;
}

.webform-flex--1 {
  flex: 1;
  max-width: 46%;
  margin: 0 2%;
}

.form-item-message label,
.form-item-message textarea {
  max-width: 96%;
  margin: 0 2%;
}


.paragraph {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

.ruzova.paragraph {
 padding: 120px 0;
 margin-bottom: 120px;
}

.paragraph .paragraph__content {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 1em auto;
}

.kotva {
  position: absolute;
  top: -50px;
}


.ruzova.paragraph:after,
.ruzova.sluzby:after,
.ruzova.top:after {
  background:#fff url(../images/vlnka-b.svg);
  background-size: 1900px auto;
  background-position: 50% 0;
  background-repeat: repeat-x;
  position: absolute;
  display: block;
  top:calc(100% - 60px); 
  left: 0;
  width: 100%;
  height: 114px;
  content:"" ;
  z-index: 1;
} 

.ruzova.paragraph:before,
.ruzova.sluzby:before  {
  background:#fff url(../images/vlnka-t.svg);
  background-size: 1900px auto;
  background-position: 50% 0;
  background-repeat: repeat-x;
  position: absolute;
  display: block;
  top:-20px; 
  left: 0;
  width: 100%;
  height: 114px;
  content:"" ;
  z-index: 1;
}



 .field--type-text-long ol li::marker {
   color: var(--ruzova);
   font-style: italic;
   font-weight: 400;  
 }

 .field--type-text-long ol li {
  position: relative;
 }

.field--type-text-long ol li:after {
    display: block;
    position: absolute;
    width: 22px;
    height: 22px;
    left: -26px;
    top: -4px;
    border-radius: 50%;
    z-index: 0;
    content: "";
    background: transparent;
    border: 0px solid #e29b9b;
    border-width: 1px 0px 2px 0px;
}

.field--name-field-paragraphs > .field--item:first-child .ruzova.paragraph:before {
  display: none;
}


.field--name-field-paragraphs > .field--item:first-child .ruzova.paragraph {
  padding: 30px 0 120px 0;

}  

.rezervacni-form {
  position: relative;
  background:#eee;
  padding: 120px 0;
  margin-top: 50px;
}

.rezervacni-form:before  {
  background:#fff url(../images/vlnka-t-footer.svg);
  background-size: 1900px auto;
  background-position: 50% 0;
  background-repeat: repeat-x;
  position: absolute;
  display: block;
  top:-50px; 
  left: 0;
  width: 100%;
  height: 114px;
  content:"" ;
  z-index: 1;
}


.menu__link--main {
 color: var(--ruzova);
 padding: 0 1.3em;
 width: 100%;
 display: table;
 text-align: center;
 text-decoration: none;
 padding-top: 0;
 padding-bottom: 0;
 height: 110px;
}

.menu__link.is-active > .link__title {
  font-weight: 400;
  text-decoration: none;  
}

.menu__link--main:hover, 
.menu__item--main:hover > .menu__link--main {
  background: #efefef;
  color: var(--tmavaruzova);
  text-decoration: none;
}

.menu--main {

  justify-content: flex-end;
  padding-right: 30px;
}

.menu--main.menu--child > .menu__item > .menu__link {
  display: table;
  padding: 13px 8px 13px 1.3em;
  text-align: left;
  font-style: normal;
  background: #fff;
  font-weight: 400;
  height: 70px;
  box-shadow: inset 0 2px 0px 0px #fff;
}

.menu--main.menu--child > .menu__item > .menu__link:hover {

  background: #efefef;
}


.menu__link--main.menu__link--parent > .menu__arrow {

  top: 3.45em;
  margin-top: -5px;
  right: 8px;
  z-index: 5;
}


.menu__item--main.menu__item--parent > ul {
  -webkit-border-bottom-right-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  -moz-border-radius-bottomright: 10px;
  -moz-border-radius-bottomleft: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  box-shadow: 1px 4px 5px 0 rgba(0, 0, 0, 0.1);
}

#block-tpp-kontaktniinfo {
  color: var(--ruzova);
  background: var(--svetleruzova);
  padding: 8px 20px;
  font-weight: 400;
  -webkit-border-top-left-radius: 25px;
  -webkit-border-bottom-right-radius: 25px;
  -moz-border-radius-topleft: 25px;
  -moz-border-radius-bottomright: 25px;
  border-top-left-radius: 25px;
  border-bottom-right-radius: 25px;
  margin: 12px 0;

}

#block-tpp-kontaktniinfo p {
  margin-top: 7px;
}

#block-tpp-kontaktniinfo a {
  text-decoration: none;
}


#block-tpp-kontaktniinfo p:first-child {
  text-decoration: none;
  display: inline-block;
  padding-bottom:7px ;
  border-bottom: 1px dashed var(--ruzova);
}

header#navbar.fixed {

 box-shadow: 1px 2px 5px 0 rgba(0, 0, 0, 0.1);
}

textarea,
input[type=email],
input[type=tel],
input[type=text] {
  border: 1px solid #ddd;
  padding: 13px;
  -webkit-box-shadow: inset 5px -5px 5px -5px rgba(0, 0, 0, 0.35);
  -moz-box-shadow: inset 5px -5px 5px -5px rgba(0, 0, 0, 0.35);
  box-shadow: inset 5px -5px 5px -5px rgba(0, 0, 0, 0.35);
  font-family: "Roboto", sans-serif;
  border-radius: 30px;
}

textarea {
  width: 100%;
}

.form-item label {
  display: block;
  color: var(--tmaveruzova);
  padding-bottom: 5px;
}



#block-tpp-socialnisite {
  float: right;width: 300px;
}
#block-tpp-socialnisite .field--name-field-facebook,
#block-tpp-socialnisite .field--name-field-twitter,
#block-tpp-socialnisite .field--name-field-instagram,
#block-tpp-socialnisite .field--name-field-youtube {
  position: relative;
  float: left;
  width: 32px;
  height: 32px;
  display: block;
  text-indent: -5555px;
  overflow: hidden;
  margin-left: 15px;
  background: url("../images/fb-icon.svg") 50% 50%;
  background-size: contain;
  background-repeat: no-repeat;

}


#block-tpp-socialnisite .field--name-field-facebook a ,
#block-tpp-socialnisite .field--name-field-twitter a ,
#block-tpp-socialnisite .field--name-field-instagram a ,
#block-tpp-socialnisite .field--name-field-youtube a {
 position: absolute;
 top: 0;left: 0;width: 100%;
 height: 100%;
 display: block;
 z-index: 2;

}



#block-tpp-socialnisite .field--name-field-youtube {
  background-image: url("../images/yt-icon.svg")  ;
}

#block-tpp-socialnisite .field--name-field-twitter  {
  background-image: url("../images/x-icon.svg");
}


#block-tpp-socialnisite .field--name-field-instagram  {
  background-image: url("../images/in-icon.svg");
}

.icon--burger__top, .icon--burger__center, .icon--burger__bottom {

  background: #9a6363;

}

.paragraph__content--flex-container.paragraph__content--flex-two > .paragraph .paragraph__content--image {
  max-width: 70%;margin: 0 auto;
}


.region--footer-in {
  background:var(--ruzova);
  color:#fff;
  padding: 30px 0;

}

.region--footer {
  display: flex;
}
.region--footer > * {
  flex: 1 33%;
  max-width: 31%;
  margin: 1%;
}

.region--footer-in footer.region--footer a {

  color:#fff;

}

.paragraph--gallery .field--name-field-images {
  margin-left: -2%;
  margin-right: -2%;
}

.field--name-field-images > .field--item {
    -webkit-flex: 1 20%;
    -moz-flex: 1 20%;
    -ms-flex: 1 20%;
    flex: 1 20%;
    max-width: 17%;
    margin: 1.5%;
    display: block;
}

.paragraph--container .field--name-field-images > .field--item {
    -webkit-flex: 1 33%;
    -moz-flex: 1 33%;
    -ms-flex: 1 33%;
    flex: 1 33%;
    max-width: 29%;
    margin: 2%;
    display: block;
}

.field--name-field-images > .field--item a {
    width: 100%;
    height: 0;
    padding: 75% 0 0 0 ;
    position: relative;
    overflow: hidden;
     display: block;
     border-radius: 5px;
} 

.ctverce .field--name-field-images > .field--item a {
    width: 100%;
    height: 0;
    padding: 100% 0 0 0 ;
    position: relative;
    overflow: hidden;
     display: block;
     border-radius: 5px;
}

.vysoke .field--name-field-images > .field--item a {
    padding: 140% 0 0 0 ;
}

.field--name-field-images > .field--item a img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
}

.container.container--node-body {
  max-width: 1100px;
}
.container--node-body .field--name-body  {padding: 60px 0;}

@media all and (max-width:1150px) {


.field--name-field-formatted-title {
  padding:  0 1%;
}

.page-content__paragraphs-wrapper >  .paragraph--full,
.field--item > .paragraph  {
  padding-left: 4%!important;
  padding-right:4%!important;
}


.container--node-body .field--name-body {
    padding: 30px 4%;
}

}

@media all and (max-width:992px) {




  header#navbar nav#block-tpp-main-menu {
  
    width: 20em;
 
}


 .icon--burger {
 
    right: 16px;
    
}

.menu--main {
  
 padding-right:0; 
}

.menu__item--main.menu__item--parent > ul {
  -webkit-border-radius: 0;
  
  -moz-border-radius: 0;
 
  border-radius:0;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
}


header#navbar .navbar-in > .region--brand {
    max-width: 9.5em;
   
}

  header#navbar.navbar--opened .menu__link--main {
    max-height: 50px;
    color: #9a6363;
    display: table;
    position: relative;
}

 header#navbar.navbar--opened .menu--level-1 {
  display: block;
  position: relative;
 }

   header#navbar.navbar--opened .menu--level-1:after,
  header#navbar.navbar--opened .menu__link--main:after {
    position: absolute;
    height: 1px;
    width: 90%;
    bottom: 0;
    left: 5%;
    background: #ddd;
    content: "";
}

 
  header#navbar.navbar--opened li:last-child .menu__link--main:after {
    display: none;
}

header#navbar.navbar--opened nav#block-tpp-main-menu {
 -webkit-border-bottom-right-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  -moz-border-radius-bottomright: 10px;
  -moz-border-radius-bottomleft: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  box-shadow: 1px 4px 5px 0 rgba(0, 0, 0, 0.1);
}


   #block-tpp-kontaktniinfo {
    display: none;
  }

  .field--name-field-popisek-obrazku,
  .field--name-field-sluzba h3 {

    font-size: 19px;
  }


  #block-tpp-webform h2, .kh-container h2 {

    font-size: 32px;
    margin-bottom: 20px;
  }

  .rezervacni-form {
    position: relative;
    background: #eee;
    padding: 70px 0;
    margin-top: 80px;
  }
  .ruzova.sluzby {
    margin: 90px 0;
    padding: 70px 0;
  }

  .ruzova {

    margin-bottom: 90px;
  }


.region--content {
    padding-top: 0;
    margin-top: 71px;
}

.region--content {
    padding-top: 0;
    margin-top: 58px;
}
 

.field--name-field-images > .field--item {
     -webkit-flex: 1 33%;
    -moz-flex: 1 33%;
    -ms-flex: 1 33%;
    flex: 1 33%;
    max-width: 29%;
   margin: 2%;
    display: block;
}
}

@media all and (max-width:890px) {

.loga .paragraph--image {
  margin-bottom:  75px!important;
}

}
@media all and (max-width:820px) {

  .form-item label, 
  .form-item input,
  body li,
  body p {
    font-size: 0.9em;
  }

  .field--name-field-text table tr td {
    font-size:  0.9em;
  }

#block-tpp-page-title h1 {
   
    margin: 21px 0 21px 0;
}

  .field--name-field-duvody-hp .paragraph .paragraph__content {
    width: 70%;

  }

  .rezervacni-form {

    padding: 55px 0;
    margin-top: 55px;
  }

  .ruzova.sluzby {
    margin: 50px 0;
    padding: 55px 0;
  }

  .field--name-field-popisek-obrazku,
  .field--name-field-sluzba h3 {
   padding: 20px 5px;
   font-size: 17px;
   line-height: 25px;
 }

 .form-item-name label, 
 .form-item-name input {
  max-width: 96%;
  margin: 0 2%;
}

.webform-flex--1 {
  flex: 1;
  max-width: 96%;
  margin: 0 2%;
}

#block-tpp-webform input {
  width: 100%;
}

.button.button--primary, 
.button, 
.btn {

  height: 50px;
  line-height: 50px;

  font-size: 18px;

  width: 100%;
}
.btn--tel-rezervace:after,
.btn--rezervace:after {

  top: 13px;

}

.flex-item-info--in {
  padding-bottom: 25px;
}

.region--footer {
  display: flex;
  flex-wrap: wrap;
}

.region--footer > * {
flex: 1 100%;
    max-width: 88%;
    margin: 0 6%;
    padding: 3% 0;
    border-bottom: 1px dashed #a27a7a;
}

#block-tpp-webform input {
    width: 96%;
}

}

@media all and (max-width:660px) {

  .ruzova.paragraph {
    padding: 75px 0;
    margin-bottom: 60px;
}

  #block-tpp-webform h2, .kh-container h2 {
    font-size: 27px;

  }

  .doplnkovy-flex,
  .flex-33 .field--items, .sluzby .flex-33 {
    width: 100%;
    flex-wrap: wrap;
  }

  .doplnkovy-flex > * {
    flex: 1 50%;
    max-width: 48%;
    margin: 1%;
  }

  .flex-33 .field--items > .field--item {
    flex: 1 50%;
    max-width: 48%;
    margin: 1%;
    text-align: center;
  }

  .top .flex-50 {

    flex-wrap: wrap;
  }
  .top .flex-50  > * {
  flex: 1 100%;
  max-width:  96%;
  margin:   1% 2%;
    padding-top:  15px;
}

  .top .flex-50  >  .flex-item-foto {
  }


  .top .flex-50  >  .flex-item-foto .field--name-field-fotka-hp {
/*float: right;  max-width:  260px;padding-bottom:  25px;*/



    position: relative;
    float: right;
    max-width: 100%;
    height: 0;
    overflow: hidden;
    border-radius: 30px;
    padding-bottom: 100%;
    margin-bottom:  55px;
  }



}


.region--taby {
  z-index: 50 ;

}

@media all and (max-width:480px) {




  .paragraph--container .field--name-field-images > .field--item {
    -webkit-flex: 1 50%;
    -moz-flex: 1 50%;
    -ms-flex: 1 50%;
    flex: 1 50%;
    max-width: 46%;
    margin: 2%;
    display: block;
}

.field--name-field-images > .field--item {
     -webkit-flex: 1 50%;
    -moz-flex: 1 50%;
    -ms-flex: 1 50%;
    flex: 1 50%;
    max-width: 46%;
   margin: 2%;
    display: block;
}



  .flex-33 .field--items > .field--item {
    flex: 1 100%;
    max-width: 98%;
    margin: 1%;
    text-align: center;
  }
  .doplnkovy-flex > * {
    flex: 1 100%;
    max-width: 98%;
    margin: 1%;
  }
}