@charset "utf-8";
/* CSS Document */

/*@font-face {
    font-family: FontWebContent;
    src: url(../fonts/variable/RedHatText-VariableFont_wght.ttf);
}

@font-face {
    font-family: FontWebContentItalic;
    src: url(../fonts/variable/RedHatText-Italic-VariableFont_wght.ttf);
}*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');


:root {
	
    --cream: #F5F0E8;
    --cream-darker: #ebe3d7;
    --warm-white: #FAF8F4;
    --sage: #7A8C76;
    --deep-sage: #4A5E46;
    --terracotta: #B5714A;
    --dark: #1E1E1A;
    --mid: #4A4A42;
    --light-border: rgba(122, 140, 118, 0.2);	
	
	
  --color-01: #4a5e46;
  --color-02: #a31e27;
	
  --color-highlight-01: #a31e27;
  --color-highlight-02: #a31e27;

  --color-dark-01: #121212;	
	
  --blue: #082245;
  --blue-light: #14447b;
  --blue-light-light: #5b88bc;
  --pink: #B7367A;
  --white: #fff;
  --black: #000;	
  --gray-dark-dark: #252525;
  --gray-dark: #555;
  --gray: #B3B3B3;
  --gray-light: #ECECEC;
  --gray-light-light: #E5E5E5;
  --green: #258A21;
  --brown: #564B44;
  --red: #ec1c24;
  --orange: #F44E18;
}

body {
	/*font-family: FontWebContent, sans-serif;*/
	font-family: 'DM Sans', sans-serif;
	font-weight: 400;
	-webkit-font-smoothing: antialiased; 
	margin: 0;
	padding: 0;
	background-color: var(--warm-white);
	color: var(--dark);
	font-size: 16px;
}

/*i {font-family: FontWebContentItalic, sans-serif;}*/

div, input, textarea, p, h1, h2, h3 {box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}

a {color: var(--color-highlight-01); transition: 0.3s; text-decoration: none;}
a:hover { text-decoration: underline; }
b, strong {font-weight: 600;}
hr {height: 1px;
    color: var(--color-01);
    background: var(--color-01);
    font-size: 0;
    border: 0;
}


h1, h2, h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.4rem, 3.2vw, 3.2rem);
    font-weight: 300;
    line-height: 1.2;
    margin-bottom: 2rem;
    color: var(--dark);

}

/*@media only screen and (max-width: 700px) {
	h1, h2, h3 {text-align: center;}
}*/

input[type=checkbox]{ width: 18px; height: 18px;}
input[type=radio]{ width: 18px; height: 18px;}
input[type=button], input[type=submit] {    border: solid 1px var(--deep-sage); background-color: var(--deep-sage); color: var(--white); padding: 10px 20px;
    font-size: 14px;
    transition: 0.3s;
    text-align: center;
    display: block;
    text-transform: uppercase;}
input[type=button]:hover, input[type=submit]:hover { background-color: var(--terracotta); border: solid 1px var(--terracotta); color: var(--white); cursor: pointer; text-decoration: none; }

input[type=reset]{ padding: 7px 15px; font-size: 20px; margin-left: 20px; background-color: #aaa; border: solid 1px #fff; color: #fff;}
input[type=reset]:hover { border: solid 1px #aaa; cursor: pointer; color: #333;}
input[type=text]{ padding: 7px; font-size: 16px; border: solid 1px #999; width: 100%;}
input[type=date]{ padding: 7px; font-size: 16px; height: 43px; border: solid 1px #999; width: 100%;}
input[type=datetime-local]{ padding: 5px; font-size: 16px; height: 43px; border: solid 1px #999; width: 100%;}
input[type=file]{ padding: 7px; font-size: 16px; }
input[type=password]{ padding: 7px; font-size: 16px; border: solid 1px #999; width: 100%;}
select{ padding: 7px; font-size: 16px; border: solid 1px #ccc; color: #555; width: 100%;}
textarea { padding: 5px; font-size: 16px; min-height: 60px; border: solid 1px #999; margin-bottom: 15px; width: 100%;}

/*general settings*/
.clear {clear: both;}
.general-width {max-width: 1300px; margin: auto; padding: 0 20px;}
.page-404 {text-align: center; padding: 60px 20px;}
.padding-bottom-30 {padding-bottom: 30px;}
.padding-30-0 { padding: 30px 0;}
.hidden {display: none;}
.required {color: var(--red); font-size: 16px;}
.clickable {cursor: pointer; color: var(--color-highlight-01);}
.clickable:hover {color: var(--gray-light);}
.page-width-50 {float: left; width: 50%; padding-right: 15px;}
@media only screen and (max-width: 800px) { 
	.page-width-50 {float: none; width: 100%; padding-right: 0px;} 
}

.pagination {display: flex; float: right; margin: 10px;}
@media only screen and (max-width: 1300px) { .pagination {float: center; margin-right: 0px;} }
.page-plus {font-size: 35px; line-height: 38px; width: 38px; height: 38px; text-align: center; background-color: #ccc; color: #fff;}
.page-select {}
.page-minus {font-size: 35px; line-height: 38px; width: 38px; height: 38px; text-align: center;  background-color: #ccc; color: #fff;}
.button-allowed {background-color: var(--color-highlight-01);}
.button-allowed:hover {background-color: #000; cursor: pointer;}

/* výsledek změny řazení */
#response {	position: fixed;
	top: calc(50% - 25px); left: calc(50% - 150px); display: none; text-align: center; z-index: 1;}

.page-wrapper {/*overflow: auto;*/}
.top-page-margin {border-top: 80px solid var(--white);}
.top-page-margin h1:first-child {margin-top: 40px;}

@media only screen and (max-width: 1000px) { 
.top-page-margin {border-top: 80px solid var(--white);}
}
.dark { background-color: #2b2b2b; color: #fff;}
.page {padding: 0; }
.page-list-padding {padding-top: 130px;}
.top-delimeter {height: 120px;}

/*page pop-up overlay*/
.overlay {
	opacity: 0;
    position: fixed;
    z-index: 51;
    left: 0;
    top: 0;
    width: 100%; 
	height: 0;
    overflow: auto;
    background-color: rgba(0,0,0,0.70);
	transition: all ease .3s, height 0s;
}

.box-content-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-height: 80vh;
  max-width: 80vw;
  overflow: auto;
}

.box-content {
	text-align: left;
    background-color: #fff;
    padding: 20px;

}

.close {
    color: var(--red);
    position: absolute;
	right: 0; top: 0;
    font-size: 28px;
    font-weight: bold;
	margin: 7px 15px;
}

.close:hover {
    color: var(--black);
    cursor: pointer;
}

/* Styl tlačítka nahoru */
#toTopBtn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 45px;
  height: 45px;
  background-color: #939393;
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 24px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  
  display: flex;       /* Je flexibilní pořád */
  opacity: 0;          /* Startovní stav: neviditelný */
  visibility: hidden;  /* Startovní stav: neaktivní pro kliky */
  transition: opacity 0.5s ease, visibility 0.5s ease, transform 0.5s ease;
  transform: translateY(20px); /* Bonus: tlačítko při vplynutí lehce vyjede nahoru */
}

#toTopBtn:hover {
  background-color: #555;
}

#toTopBtn.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); /* Návrat do původní pozice */
}


/* HOMEPAGE */
.homepage-tiles {text-align: center; margin: 0 -15px 0 -15px; }
.homepage-tile {width: calc(33% - 20px); margin: 10px; display: inline-block; transition: 0.5s;}
.homepage-tile:hover {background-color: #eee; cursor: pointer;     
	}

.homepage-tile-image {width: 100%; display: inline-block; background-position: center center; background-repeat: no-repeat; background-size: cover; position: relative;}

.homepage-tile-image:before {
	content: "";
	float: left;
	padding-top: 100%; 	/* initial ratio of 1:1*/
	}

.border-over {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
/*  outline: 1px solid white;
  outline-offset: -8px;	*/
  opacity: 0;
  transition: 0.5s;
  border-radius: 50%;
}

.border-over:hover {
/*  outline: 1px solid white;
  outline-offset: -8px;
  background-color: hsla(0,0%,100%,0.25);*/
  opacity: 1;
}

.homepage-tile-name {width: 100%; font-size: 20px; padding: 15px 10px 20px 10px;}

/* ARTICLES */
.article-holder { }
.article-content {padding-bottom: 50px;}
.article-click-header {cursor: pointer; display: block; padding: 23px 0 20px 55px; margin: 0 15px;
-webkit-transition: background-image 0.5s ease-in-out;
transition: background-image 0.5s ease-in-out;
}
.plus {background: url("../images/ico-plus-gray-50.png") center left no-repeat; background-size: 35px 35px;}
.minus {background: url("../images/ico-minus-gray-50.png") left no-repeat; background-size: 35px 35px;}
/*.article-delimeter {border-bottom: 1px solid #ccc; height: 1px;}*/
/*h1.article-name { margin: 40px 0px 20px 0;}*/
.plus .article-name {margin: 0px !important; font-size: 25px;}
.top-border {border-top: solid 1px #f5eee5;}

.share {margin: 40px auto 30px auto;}
.share-title {font-size: 130%;}
.share-link {color: #999;}
.share-link:hover {cursor: pointer; color: #ccc;}

.article-list { 
  display: grid;
  /* Sloupce se automaticky přizpůsobí: minimálně 300px, maximálně zbytek místa (1fr) */
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem 2rem; 
  align-items: start;
}

.item-header {text-align: center; padding: 20px 0 0 0; }
.article-links-holder {padding: 30px 0 30px 0;}
.article-item-link {width: 100%;  cursor: pointer; font-size: 20px; /*background-color: var(--color-01);*/ transition: 0.3s; vertical-align: top;}

.article-item-link:hover .article-item-image {filter: brightness(80%);}

/*.article-item-image-border { border: solid 1px var(--color-02); width: 100%; float: left; position: relative; transition: 0.3s; }
.article-item-image-border:hover { border: solid 1px var(--brown); }
.article-item-image-border:before {
	content: "";
	float: left;
	padding-top: 60%; 
}*/


.article-item-image-crop { width: calc(100% - 10px); margin: 5px; float: left; position: relative; overflow: hidden; }
.article-item-image-crop:before {
	content: "";
	float: left;
	padding-top: 60%; 	/* initial ratio of 1:1*/
}

.article-item-image {width: 100%; float: left; background-size: cover; background-repeat: no-repeat; background-position: center center; position: relative; transition: 0.3s; }

.article-item-image:hover,
.article-item-image:focus {
	transform: scale(1.05);
	}


.article-item-image:before {
	content: "";
	float: left;
	padding-top: 60%; 	/* initial ratio of 1:1*/
}

.article-item-name {
	margin-top: 20px;
	font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--dark);
    line-height: 1.3;
    margin-bottom: 1rem;
}
.article-item-link:hover .article-item-name { color: var(--color-02); }

.article-item-description {
	font-size: 0.95rem;
    line-height: 1.75;
    color: var(--mid);
    margin-bottom: 1.5rem;
}
.article-link {
font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sage);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.article-item-preview {width: calc(100% - 20px); margin: 10px; cursor: pointer; padding: 30px 0; border-top: solid 1px #F2EEE6;}

.article-item-preview .border-over { border-radius: 0; }
.article-item-preview:hover .border-over { 
  /*outline: 1px solid white;
  outline-offset: -8px;*/
  background-color: hsla(0,0%,0%,0.20);
  opacity: 1;}

.article-item-preview-image {width: 100%; max-width: 400px; min-width: 200px; float: left; position: relative; background-size: cover; background-repeat: no-repeat; background-position: center center; }
.article-item-preview-image:before {
	content: "";
	float: left;
	padding-top: 60%; 	/* initial ratio of 1:1*/
}

.article-item-preview-text {float: left; width: calc(100% - 430px); margin-left: 30px;}
.article-item-preview-date {margin: 20px 0 10px 0; color: var(--color-highlight-01); font-size: 20px; }
.article-item-preview-name {
	margin-top: 10px;
	font-family: 'Cormorant Garamond', serif;
    font-size: 1.9rem;
    font-weight: 400;
    color: var(--dark);
    line-height: 1.3;
    margin-bottom: 1rem;
	}

.highlight { color: var(--color-highlight-01); }

.article-item-preview-description {}

@media only screen and (max-width: 800px) { 
	.article-item-preview { width: calc(100% - 20px);}
	.article-item-preview-image { width: 100%; display: flex; margin: auto; float: none;}
	.article-item-preview-text { width: 100%; margin-left: 0; text-align: center;}
	.article-item-preview-link .arrow-down { display: none;}
	}

.article-item-preview-text {padding: 10px 0;}
.article-item-preview-text:hover {cursor: pointer;}




.video-wrapper {    
	width: 100%;
    height: auto;
	min-height: 300px;
    overflow: hidden;
    position: relative;
}
.video-overlay {max-width: 1300px; padding: 20px 0 20px 0; height: 100%; margin: 40px auto;}
.video-overlay h1 {margin-top: 10px;}

.video-wrapper .bg-video {
    width: 100%; /* width needs to be set to 100% */
    height: 100%; /* height needs to be set to 100% */
    position: absolute;
	object-fit: cover;
    left: 0;
    top: 0;
    z-index: -1;
	}

.video-wrapper .bg-image {
    width: 100%; /* width needs to be set to 100% */
    height: 100%; /* height needs to be set to 100% */
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	}

@media only screen and (max-width: 800px) { 
	.video-wrapper .bg-image {opacity: 0.5;}
}

.page-delimeter-holder { width: 100%; border-top: 5px var(--orange) dotted; height: 1px;  text-align: center; margin: 40px auto 20px auto; position: relative;}
/*.page-delimeter { position: absolute; top: -50px; left: calc(50% - 100px); background-color: var(--white); background-image: url("../images/page-delimeter.png"); background-position: center center; background-repeat: no-repeat; background-size: contain; height: 100px; width: 200px;}*/

.align-center {text-align: center;}

/*form*/
.form-grid { 
  display: grid;
  /* Sloupce se automaticky přizpůsobí: minimálně 300px, maximálně zbytek místa (1fr) */
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 0rem 2rem; 
  align-items: start;
}
.confirm-checkbox {margin: 10px 0 20px 0; text-align: center;}
.send-reset {text-align: center; margin: 20px auto; width: fit-content;}

.under .text {max-width: 500px; width: 100%;}
.under .textarea {max-width: 500px; width: 100%;}

.side .text { width: calc(40% - 10px); }
.side .textarea {width: calc(60% - 10px); float: right;}
@media only screen and (max-width: 800px) { 
.side .text { width: 100%; }
.side .textarea {width: 100%; float: none;}	
}

.breadcrumb-nav {color: var(--color-highlight-01); text-align: left; margin: 40px auto 30px auto; font-size: 24px;}
.breadcrumb-nav span.click {color: var(--gray-dark);}
.breadcrumb-nav span.click:hover {cursor: pointer; color: var(--color-highlight-01);}

.header-wrapper {}
.header {}

.logo-top {float: left; background-repeat: no-repeat; }
.logo-top a:hover {text-decoration: none;}
.logo-top .logo {max-height: 160px; width: 100%; height: auto; cursor: pointer; transition: 0.5s; margin-top: 10px;}
.logo-top .logo-top-text { margin-top: 20px;}
.logo-top .logo-small {display: none;}
.logo-top .logo-small-text {display: none;}
@media only screen and (max-width: 1000px) {
	.logo-top .logo { max-height: 100px; width: auto; transition: 0.5s; margin-left: 15px;}
	.logo-top .logo {display: none;}
	.logo-top .logo-top-text {display: none;}
	.logo-top .logo-small {display: block; cursor: pointer; max-height: 90px; margin-top: 4px;}
	.logo-top .logo-small-text {display: block; cursor: pointer; margin-top: 20px;}
}


.languages {width: 100%; max-width: 1000px; margin: auto; text-align: right; position: absolute; padding-right: 10px;}
.languages div {color: #CCD9E4; display: inline-block; padding: 8px 10px;}
.languages div:hover {color: #fff; cursor: pointer;}

#social-media-top {margin-top: 67px; float: right; transition: 0.5s;}
@media only screen and (max-width: 1000px) { #social-media-top { margin-top: 29px;} }
@media only screen and (max-width: 450px) { #social-media-top {display: none;} }
#social-media-top .logo img {width: 20px; height: auto; margin: 10px 5px; cursor: pointer; transition: 0.3s;}
#social-media-top .logo img:hover {
 filter: opacity(80%); 
	-webkit-filter: opacity(80%);  /* Safari 6.0 - 9.0 */
	
/*	-webkit-filter: grayscale(100%);
    filter: grayscale(100%);*/
}

#navbar {
	z-index: 50;

	transition: all ease-out 0.5s;
    -webkit-transition: all ease-out 0.5s;	
	
 }

/*@media only screen and (max-width: 1000px) {#navbar {  position: -webkit-sticky;
  position: sticky;
top: 0;}}*/
#navbar {  position: -webkit-sticky; position: sticky; top: 0;}

.menu-horizontal-wrapper { padding: 0; height: 180px; background: var(--white); transition: 0.5s; position: absolute; width: 100%;
/*    opacity: 0;
	animation: menu-animation 2s ease-out forwards;*/
	-webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);
  	-moz-box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);
  	box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);
}

/*@keyframes menu-animation {
	0% {opacity: 0; transform: translateY(-150px);}
	100% {opacity: 100%; transform: translateY(0px);}
}*/

@media only screen and (max-width: 1000px) {.menu-horizontal-wrapper {height: 100px;}}

.menu-horizontal { margin-top: 65px; text-align: right; float: right; transition: 0.5s;}
@media only screen and (max-width: 1000px) {.menu-horizontal {display: none; transition: 0.5s;}}

.menu-horizontal .menu-item {display: inline-block; font-size: 14px; padding: 10px 15px; margin: 1px; color: var(--dark); background-color: var(--white); transition: 0.5s; text-transform: uppercase; }
.menu-item img {max-width: 30px; max-height: 30px;}
.menu-horizontal .menu-item:hover {cursor: pointer; color: var(--white); background-color:var(--terracotta); }
.menu-horizontal .active, .menu-horizontal .active:hover {color: var(--white); background-color: var(--sage);}


.menu-horizontal .dropdown-menu {
  visibility: hidden;
  opacity: 0;	
  position: absolute;
  margin-left: -15px;
  margin-top: 5px;
  overflow: auto;
  box-shadow: 0px 0px 5px #ccc;
  transition: 0.5s; }

.menu-horizontal .menu-item:hover .dropdown-menu {
  visibility: visible;
  opacity: 1; }

.menu-horizontal .dropdown-menu a { display: block; text-decoration: none; padding: 10px 15px; background-color: #fff; text-align: left; color: var(--gray-dark); font-size: 18px;}
.menu-horizontal .dropdown-menu a:not(:last-child) { border-bottom: solid 1px var(--color-highlight-01); }

.menu-horizontal .dropdown-menu a:hover { color: var(--white); background-color: var(--color-highlight-01); }

.menu-horizontal .dropdown-expand { display: none; }

/* for dynamic desktop and mobile menu */
#menu-top { height: 80px; transition: all 0.3s ease; }
#menu-horizontal { margin-top: 20px; transition: all 0.3s ease; }
#social-media-top { margin-top: 20px; transition: all 0.3s ease; }
#top-cart { margin-top: 40px; transition: all 0.3s ease; }
#logo { height: 160px; margin-top: 10px; transition: all 0.3s ease; }
#logo-small { height: 150px; transition: all 0.3s ease; }

body.scrolled #menu-top { height: 100px; }
body.scrolled #menu-horizontal { margin-top: 25px; }
body.scrolled #social-media-top { margin-top: 29px; }
body.scrolled #top-cart { margin-top: 5px; }
body.scrolled #logo { height: 90px; margin-top: 4px; }
body.scrolled #logo-small { height: 70px; }

body.mobile-header #menu-top { height: 100px; }
body.mobile-header #menu-horizontal { margin-top: 25px; }
body.mobile-header #social-media-top { margin-top: 29px; }
body.mobile-header #top-cart { margin-top: 5px; }
body.mobile-header #logo { height: 90px; margin-top: 4px; }
body.mobile-header #logo-small { height: 90px; }


.menu-ico-wrapper {display: none; float: right;}
@media only screen and (max-width: 1000px) {.menu-ico-wrapper {display: block; text-align: center; transition: 0.5s;}
}
.menu-ico, .phone-ico { 
	display: inline-block;
	margin: 28px 10px 10px 5px;
	width: 25px;
	height: 25px;
	cursor: pointer;
	 }

#menu-open {background: url(../images/menu-ico.png); background-position: top; background-repeat: no-repeat; background-size: contain; }

#menu-bar-holder {position: fixed; overflow: scroll; top: 0; transition: visibility 1s linear;
	transition:	opacity .3s linear;
	visibility: hidden;  
	opacity: 0;
	z-index: 100; width: 100%; height: 100vh; background-color: rgba(0,0,0,0.8); padding: 0px; color: #333;
	}

.menu-bar {
background-color: #fff;
}

.menu-bar .dropdown-menu { 
  width: 100%;
  max-height: 0;
  overflow: hidden;
-webkit-transition: max-height 1s ease-in-out;
    -moz-transition: max-height 1s ease-in-out;
      -o-transition: max-height 1s ease-in-out;
     -ms-transition: max-height 1s ease-in-out;
         transition: max-height 1s ease-in-out;

}
.dropdown-menu.show {
	max-height: 600px;
}

.dropdown-expand {float: right; cursor: pointer; font-weight: normal; font-size: 40px; line-height: 22px; color: var(--color-highlight-01);
-webkit-transition: .2s ease-in-out;
    -moz-transition: .2s ease-in-out;
      -o-transition: .2s ease-in-out;
     -ms-transition: .2s ease-in-out;
         transition: .2s ease-in-out;
}
.dropdown-expand.rotate { transform: rotate(-90deg); color: var(--gray);}

.menu-bar .dropdown-menu a { display: block; text-decoration: none; padding: 12px 15px; background-color: none; text-align: left; color: var(--gray-dark); font-size: 18px;}
.menu-bar .dropdown-menu a:not(:last-child) { border-bottom: solid 1px var(--color-highlight-01); }
.menu-bar .dropdown-menu a:hover { color: var(--white); background-color: var(--color-highlight-01); }

.menu-bar .close-bar {width: 100px; height: 100px; float: right; text-align: center; cursor: pointer; padding-top: 25px;}
.menu-bar .menu-item {float: none; width: calc(100% - 100px); height: auto; text-align: left; vertical-align: middle; padding: 15px 20px;
	font-size: 14px; border-bottom: solid 1px var(--cream); text-transform: uppercase;
	
	-webkit-transition-property:color, background; 
	-webkit-transition-duration: .3s, .3s; 
	-webkit-transition-timing-function: linear, ease-in;}

.menu-bar .menu-item {color: #222; text-decoration: none;}
.menu-bar .menu-item:hover { background-color: var(--cream); cursor: pointer;}

/*menu child / parent page*/
.menu-page-child {padding-bottom: 50px;}
.menu-page-child a {padding: 7px 0; font-size: 20px; display: block; text-decoration: none; color: var(--color-highlight-01);}
.menu-page-child a:hover {color: var(--black);}


.search-result-field { width: fit-content;}
.search-result-field .search-field { max-width: 250px; }
.search-footer { float: right; padding-top: 5px; }

.search {}
@media only screen and (max-width: 700px) {.search {display: none;}}

.search-field {display:flex; max-width: 150px;}
.search-input {height: 35px; border: solid 1px #ccc !important; color: #333;}

.search-input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #ccc; font-size: 14px;
  opacity: 1; /* Firefox */}
.search-input :-ms-input-placeholder { /* Internet Explorer 10-11 */
color: #ccc; font-size: 14px;}
.search-input ::-ms-input-placeholder { /* Microsoft Edge */
color: #ccc; font-size: 14px;}

.search-button {
	text-indent: -9000px;
	height: 35px;
	width: 35px;
	background-color: #fff !important;
	position: relative; left: -5px;
	background: #fff url(../images/search-ico.png);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;
	margin-right: -5px;	}
.button-border {	border-top: solid 1px #ccc !important;
	border-right: solid 1px #ccc !important;
	border-bottom: solid 1px #ccc !important;
	border-left: none !important;}

.search-button:hover {border-left: none !important; background-color: #eee !important;}

.search-ico-link {display: none; }
.search-ico-link img {height: 35px; width: 35px; cursor: pointer;}

@media only screen and (max-width: 700px) {
	.search-ico-link {display: block;}
}

@media only screen and (max-width: 600px) {
	.search-ico-link {display: none;}
	.search {display: block; width: fit-content; margin: auto;}
	.search-footer { float: none; text-align: center; padding: 5px 5px 20px 5px; }
}

.search-field {margin: 0;}
.search-result {padding: 3px 0;}

.images-holder {text-align: center; margin: 0 -15px;}

.gallery-items {padding-bottom: 40px;}
.gallery-item { background-color: #fff;
	position: relative;
	transition: 0.5s;
	vertical-align: top;
	width: calc(25% - 20px); min-width: 250px; height: auto; margin: 10px; display: inline-block; cursor: pointer;}
.gallery-item:hover .gallery-image {filter: brightness(75%); -webkit-filter: brightness(75%); }
.gallery-item:hover .gallery-name { color: var(--color-02); }
/*.gallery-image {width: 100%; height: 250px; background-position: center center; background-repeat: no-repeat; background-size: cover;}*/
.gallery-image { width: 100%; float: left; position: relative; transition: 0.3s; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.gallery-image:before {
	content: "";
	float: left;
	padding-top: 80%; 	/* initial ratio of */
}
.gallery-item .text {padding: 15px; text-align: center; font-size: 17px; clear: both; min-height: 50px; }
.gallery-item .text .gallery-name {  
	width: 100%;
	display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;  
  overflow: hidden;
	}
@media only screen and (max-width: 1050px) { .gallery-item {width: calc(33.33% - 20px);}}
@media only screen and (max-width: 700px) { .gallery-item {width: calc(50% - 20px);}}
@media only screen and (max-width: 500px) { .gallery-item {width: calc(100% - 20px);}}


.gallery-back {float: left; font-size: 35px; line-height: 35px; color: var(--color-highlight-01); padding: 5px 20px 0 0; transition: 0.5s;}
.gallery-back:hover {color: var(--gray-dark); cursor: pointer;}


/* for layout .type-gallery, .type-tile and .photo-text */
.images-per-line-5 { width: calc(20% - 30px); }
@media only screen and (max-width: 1200px) {.images-per-line-5 {width: calc(25% - 30px);}}
@media only screen and (max-width: 900px) {.images-per-line-5 {width: calc(33.33% - 30px);}}
@media only screen and (max-width: 700px) {.images-per-line-5 {width: calc(50% - 30px);}}
@media only screen and (max-width: 300px) {.images-per-line-5 {width: calc(100% - 30px);}}

.images-per-line-4 { width: calc(25% - 30px); }
@media only screen and (max-width: 1200px) {.images-per-line-4 {width: calc(33.33% - 30px);}}
@media only screen and (max-width: 900px) {.images-per-line-4 {width: calc(50% - 30px);}}
@media only screen and (max-width: 600px) {.images-per-line-4 {width: calc(100% - 30px);}}

.images-per-line-3 { width: calc(33.33% - 30px); } /*originaly was - 20px*/
@media only screen and (max-width: 1000px) {.images-per-line-3 {width: calc(50% - 30px);}}
@media only screen and (max-width: 600px) {.images-per-line-3 {width: calc(100% - 30px);}}

.images-per-line-2 { width: calc(50% - 30px); }
@media only screen and (max-width: 900px) {.images-per-line-2 {width: calc(100% - 30px);}}


.images-holder-gallery {margin: 30px -20px 40px -20px;
text-align: center;}

.type-gallery {
	position: relative;
	display: inline-block;	
	margin: 13px; background-repeat: no-repeat; background-size: cover; background-position: center center;
}
.type-gallery:before {
	content: "";
	display: inline-block;
	padding-top: 100%; 	/* initial ratio of 1:1*/
}

.type-gallery {transition: 0.3s;}
.type-gallery:hover {filter: brightness(70%); -webkit-filter: brightness(70%);} 


.images-holder-tiles {margin: 30px -15px 30px -15px; text-align: center; line-height: 0;}
.type-tile { height: auto; display: inline-block; margin: 15px; vertical-align: middle; position: relative; text-align: center; overflow: hidden;}
@media only screen and (max-width: 1000px) {/*.type-tile {max-width: calc(50% - 20px);}*/}
@media only screen and (max-width: 600px) {/*.type-tile {max-width: calc(100% - 20px);}*/}
.type-tile .tile-center {display: inline-block; position: relative; right: -50%; width: auto; height: auto;}
.type-tile img {position: relative; width: 100%; height: auto; margin-left: auto; margin-right: auto;}
.type-tile .text {display: none; position: absolute; bottom: 5px; left: 1px; background-color: rgba(0,0,0,0.33); width: 100%; padding: 10px; color: #fff; overflow: hidden;}

.type-poster {width: 100%; max-width: 800px; height: auto; position: relative; margin: 10px auto 30px auto;}
.type-poster img {width: 100%; height: auto; outline: 0;}

.type-poster img:hover {outline: 0;}
.type-poster .text {position: absolute; bottom: 5px; left: 1px; background-color: rgba(0,0,0,0.33); width: 100%; padding: 10px; color: #fff; overflow: hidden;}

.type-background {height: 450px; background-position: center center; background-repeat: no-repeat; background-size: cover; margin-bottom: 40px;}

.carousel-image img {width: 100%; height: auto;}

.images-holder-slider {margin: 0 0 30px 0;}

.images-holder-photo-text {margin: 20px -15px;}
.photo-text {display: inline-block; vertical-align: top; margin: 13px; border: 0; background-color: var(--white);}

.photo-text .photo {width: 100%; display: inline-block; background-position: center center; background-repeat: no-repeat; background-size: cover; position: relative; border: 0; transition: 0.5s; }
.photo-text .photo:before {
	content: "";
	float: left;
	padding-top: 75%; 	/* initial ratio of 1:1*/
	}

.photo-text:hover .photo {filter: brightness(70%); -webkit-filter: brightness(70%);} 

.photo-text .text {padding: 7px 5px 15px 5px; text-align: center;}
.photo-text .text .image-title {color: var(--gary-dark-dark); font-size: 18px;}
.photo-text .text .image-description {font-size: 16px;}

.button-under-image {margin: 8px;}
.button-under-image input[type=submit]{padding: 10px 20px; font-size: 16px; border: solid 1px var(--white); background-color: var(--color-highlight-01); color: var(--white); border-radius: 20px; transition: 0.3s;}
.button-under-image input[type=submit]:hover { border: solid 1px var(--color-highlight-01); background-color: var(--white); color: var(--color-highlight-01); cursor: pointer; }

.fancybox-caption input[type=submit]{padding: 10px 20px; font-size: 18px; border: solid 1px var(--white); background-color: var(--color-highlight-01); color: var(--white); border-radius: 30px; transition: 0.3s;}
.fancybox-caption input[type=submit]:hover { border: solid 1px var(--color-highlight-01); background-color: var(--white); color: var(--color-highlight-01); cursor: pointer; }

.images-holder-photo-wall {
  margin: 20px;
  column-count: 5;
  -webkit-column-count: 5;
  -moz-column-count: 5;
  column-gap: 1em;
  -webkit-column-gap: 1em;
  -webkit-column-gap: 1em; 
}

@media only screen and (max-width: 1400px) { .images-holder-photo-wall {column-count: 4; -webkit-column-count: 4; -moz-column-count: 4;} }
@media only screen and (max-width: 1100px) { .images-holder-photo-wall {column-count: 3; -webkit-column-count: 3; -moz-column-count: 3;} }
@media only screen and (max-width: 800px) { .images-holder-photo-wall {column-count: 2; -webkit-column-count: 2; -moz-column-count: 2;} }
@media only screen and (max-width: 350px) { .images-holder-photo-wall {column-count: 1; -webkit-column-count: 1; -moz-column-count: 1;} }

.photo-wall {
  display: inline-block;
  margin: 0 0 1em;
  width: 100%;

}

.photo-wall .photo {overflow: hidden;}
.photo-wall img {width: 100%; margin-bottom: -8px;
	
  transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;

}
.photo-wall img:hover {
 transform: scale(1.1);
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1); /* IE 9 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand')"; /* IE8 */
   filter: progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand'); /* IE6 and 7 */ 
}

.photo-wall .text {padding: 10px 0;}

/*@media only screen and (max-width: 1340px) { .images-holder-slider {margin: -15px -20px 10px -20px;}}*/

.files-holder {margin: 10px 0px 30px 0px; text-align: left;}
.file {width: calc(50% - 10px); min-width: 300px; display: inline-block; margin: 5px 0; padding: 5px 0; transition: 0.3s; font-size: 18px; font-weight: 400; text-align: left;}
.file:hover {cursor: pointer; color: var(--orange);}

.file-adobe-holder {max-width: 800px; margin: auto;}

.video-holder {text-align: center; max-width: 900px; margin: auto;}
.video-description {font-size: 16px; margin-bottom: 15px;}
.video {overflow:hidden; padding-bottom:56.25%; position:relative; height:0; margin-bottom: 20px;}
.video iframe{left:0; top:0; height:100%; width:100%; position:absolute;}

.map-holder {text-align: center;}
.map {width: 100%; height: 600px;}
.gpx-download {text-align: left; margin: 15px 0 15px 0;}

/*form*/
.field-input {margin-bottom: 16px;}
.confirm-checkbox { font-size: 18px; }

.footer-0-wrapper {background-color: #fcfcfc; padding: 20px 0; line-height: 180%; text-align: center; }
.footer-text {text-align: center; display: flex; flex-flow: row wrap; border-radius: 20px;}
.footer-text div {width: 100%; max-width: 415px; text-align: center; margin: auto; padding: 15px; vertical-align: top;}
@media only screen and (max-width: 1300px) {
.footer-text div:first-child {order: 2; }
.footer-text div:nth-child(2) {order: 1; }
.footer-text div:nth-child(3) {order: 3; }
}

.bg-animation {

  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;}

.bg-animation:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  right: 0;
  bottom: 0;
  background: var(--orange);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
border-radius: 20px;
}

.bg-animation:hover, .bg-animation:focus, .bg-animation:active {
  color: white; cursor: pointer;}

.bg-animation:hover:before, .bg-animation:focus:before, .bg-animation:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);}

.footer-1-wrapper {background-color: var(--cream-darker);}
.footer-1 {min-height: 100px; padding: 20px;}
.footer-menu {width: 50%; padding: 10px 20px 10px 0; float: left;}
@media only screen and (max-width: 600px) { .footer-menu {width: 100%; padding: 10px 10px 15px 10px; float: none; text-align: center;} }
.footer-menu .footer-menu-item {padding: 5px; color: var(--gray-dark-dark); transition: 0.3s; font-size: 14px; text-transform: uppercase; }
.footer-menu .footer-menu-item:hover {cursor: pointer; color: var(--color-highlight-01);}
.social-media {padding: 0 20px; text-align: right; float: right;}
@media only screen and (max-width: 600px) { .social-media {width: 100%; float: none; text-align: center;} }
.social-media .logo img {width: 30px; height: auto; margin: 5px; cursor: pointer; transition: 0.3s;}
.social-media .logo img:hover {    
filter: opacity(80%); 
	-webkit-filter: opacity(80%);  /* Safari 6.0 - 9.0 */
}

.footer-1 .center {width: 100%; text-align: center;}
.footer-1 .payment-logo {width: 50%; padding: 10px 20px; text-align: right; float: right;}
.footer-1 .payment-logo img {width: 130px; margin: 10px;}
@media only screen and (max-width: 600px) { .footer-1 .payment-logo {width: 100%; padding: 10px 15px 20px 15px; float: none; text-align: center;} }

.footer-2-wrapper {background-color: var(--dark);}
.footer-2 {min-height: 50px; color: var(--gray); text-align: center; padding: 20px 15px 30px 15px; font-size: 15px; line-height: 30px; }
.footer-2 span {padding: 5px 10px;}
.footer-2 a {text-decoration: none; color: var(--gray); transition: 0.3s;}
.footer-2 a:hover {color: var(--gray-light-light);}

/*used in editor and */

.quote {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-style: italic;
    font-weight: 300;
    line-height: 1.7;
    color: var(--deep-sage);
    border-left: 3px solid var(--sage);
    padding: 0.6rem 0 0.6rem 1.2rem;
	margin: 0 0 1.8rem 0;}


.uvod-slider {padding-right: 50px;}
.uvod-slider img {float: right;}
.uvod-slider p {max-width: 600px; float: right; text-align: right; font-weight: 400;}
@media only screen and (max-width: 800px) {
.uvod-slider {text-align: center; padding-right: 0;}
.uvod-slider img {float: none;}
.uvod-slider p {float: none; text-align: center; margin: auto;}
}

.aktuality {padding: 30px; border: solid 5px #EB00FF; border-radius: 15px; }

.contact-left {float: left; width: 30%;}
.contact-right {float: right; width: 65%;}
@media only screen and (max-width: 700px) {
.contact-left {float: none; width: 100%;}
.contact-right {float: none; width: 100%;}
}

.photo-left {float: left; padding: 0 30px 10px 0;}

@media only screen and (max-width: 700px) {
	.photo-left {float: none; padding: 0; width: 100%; text-align: center;}
}

.menu-instagram-ico {transition: 0.3s;}
.menu-instagram-ico img:hover {  
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%); }


.map-iframe {width: 100%; height: 550px;}
.map-iframe iframe {height: 100%; border: 0;}
@media only screen and (max-width: 800px) {.map-iframe {height: 400px;}}


/*orientet to center line*/
.half-page-left { display: inline-block; padding: 15px; width: calc(50% - 30px); text-align: right; vertical-align: middle; }
.half-page-right { display: inline-block; padding: 15px;  width: calc(50% - 30px); text-align: left; vertical-align: middle; }
@media only screen and (max-width: 800px) {
	.half-page-left, .half-page-right { display: block; width: 100%; padding: 0; text-align: center;}
}

.third-page-holder {margin: 0 -30px; }
.third-page {width: 100%; padding: 30px; max-width: 400px; display: inline-block; vertical-align: top; margin: auto; }

.grid-1-1 {
display: grid; grid-template-columns: 1fr 1fr; gap: 6rem;
align-items: start; }
@media (max-width: 900px) {
.grid-1-1 { grid-template-columns: 1fr; gap: 3rem; } }

.grid-3-2 {
display: grid; grid-template-columns: 3fr 2fr; gap: 6rem;
align-items: start; }
@media (max-width: 900px) {
.grid-3-2 { grid-template-columns: 1fr; gap: 3rem; } }

.grid-2-3 {
display: grid; grid-template-columns: 2fr 3fr; gap: 6rem;
align-items: start; }
@media (max-width: 900px) {
.grid-2-3 { grid-template-columns: 1fr; gap: 3rem; } }

.contact-left {width: 40%; float: left; padding-right: 15px;}
.contact-right {width: 60%; float: right; text-align: right;}
@media only screen and (max-width: 800px) {
	.contact-left {float: none; width: 100%; padding-right: 0px;}
	.contact-right {float: none; width: 100%; text-align: center;}
}
.table-date-text td {vertical-align: top;}
.table-date-text tr td:first-child {font-weight: 400; white-space: nowrap; width: 110px; text-align: right;}

.price-table { max-width:650px; width: 100%; border-collapse: collapse; margin: 20px auto;}
.price-table td {border: none; }
.price-table tr {transition: 0.5s;}
.price-table tr:nth-child(odd) {background: var(--gray-light);}
.price-table tr:nth-child(even) {background: #fff;}
.price-table tr:nth-child(1) {background: #8AA3B7; color: #fff;}
.price-table tr:hover {background: #C5DBED;}

.box-info {max-width: 700px; width: 100%; margin: 50px auto; padding: 30px 50px 50px 50px; background-color: #fff;
	font-size: 20px;
    outline: 1px solid var(--gray-dark);
    outline-offset: -15px;
	transition: 0.5s;
	color: var(--gray-dark);

}
.box-info:hover {background-color: var(--gray-dark); cursor: pointer; color: var(--gray-light); outline: 1px solid var(--gray-light);}
.box-info p {transition: 0.3s;}
.box-info p:hover::before, .box-info p:hover::after, .box-info p:hover {color: var(--color-highlight-01);}

.button-holder {margin: 20px auto 40px auto; text-align: left;}
.button { border: solid 1px var(--deep-sage); background-color: var(--deep-sage); color: var(--white); padding: 10px 20px; font-size: 14px; transition: 0.3s; text-align: center; display: block; text-transform: uppercase; }
.button:hover { background-color: var(--terracotta); border: solid 1px var(--terracotta); color: var(--white); cursor: pointer; text-decoration: none; }


.offer-holder { text-align: center; margin: 0 -10px;}
.offer {display: inline-block; max-width: 412px; width: calc(100% - 10px); margin: 10px 5px;
	-webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);
  	-moz-box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);
  	box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);
}
.offer-underlay {position: relative; overflow: hidden; background-color: #fff;}
.offer-overlay {position: absolute; top: 0; left: 0; background-color: #fff; height: 100%; width: 100%; opacity: 0; transition: 0.5s; transform: translateY(100%); padding: 20px;}
.offer:hover .offer-overlay {opacity: 1; transform: translateY(0);}
.offer:hover .offer-book-link {background-color: var(--color-highlight-01); cursor: pointer;}
.offer-image {width: 100%; height: 340px; background-position: center center; background-size: cover; background-repeat: no-repeat;
}
.offer-name {font-family: FontWebu, sans-serif; font-size: 25px; font-weight: 400; color: var(--color-highlight-01);}
.offer-text { height: 120px; padding-top: 15px;}
.offer-item {border-bottom: solid 1px var(--gray-light); padding: 3px; font-size: 15px; text-align: left;}
.offer-book-link { background-color: var(--gray-dark); color: #fff; font-size: 22px; padding: 20px; transition: 0.5s;}
.offer-perex { padding: 0 15px;}

.offer-overlay .offer-perex {margin: 15px auto; padding: 0;}


/*TIMELINE*/
/* (A) "SET" THE TIMELINE CONTAINER */

.vtl {
  /* (A1) RELATIVE POSITION NECESSARY TO PROPERLY POSITION TIMELINE LATER */
  position: relative;
  /* (A2) RESERVE MORE SPACE TO THE LEFT FOR THE TIMELINE */
  padding: 10px 10px 10px 50px;
  /* (A3) OPTIONAL WIDTH RESTRICTION */
  max-width: 600px;
  margin: auto;
}

/* (B) DRAW TIMELINE USING ::BEFORE */
.vtl::before {
  /* (B1) DRAW THE TIMELINE */
  content: '';
  width: 3px;
  background-color: #172B4C;
  /* (B2) POSITION IT TO THE LEFT */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
}

/* (C) STYLES FOR THE EVENTS */
div.event-vtl {
  padding: 10px 15px;
  background-color: #F2EEE6;
  position: relative;
  border-radius: 6px;
  margin-bottom: 10px;
}

/* (D) STYLES FOR THE DATE & TEXT */
strong.edate {
  color: var(--black);
	float: left;
	padding-right: 5px;
	
}

p.etxt::before {
	content: '- ';
}

p.etxt {
  margin: 0;
  color: #172B4C;
}

/* (E) ADD "SPEECH BUBBLE TRIANGLE" TO THE EVENTS */
div.event-vtl::before {
  content: '';
  border: 10px solid transparent;
  border-right-color: #F2EEE6;
  border-left: 0;
  position: absolute;
  top: 20%;
  left: -10px;
}

/* (F) ADD A CIRCLE ON THE TIMELINE TO INDICATE AN EVENT */
div.event-vtl::after {
  content: '';
  background: #fff;
  border: 2px solid var(--black);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  position: absolute;
  top: 20%;
  left: -44px;
}

/*homepage icon*/

/*homepage icon*/
.icon-homepage img {background-color: var(--gray-dark); transition: 0.5s; width: 120px; height: 120px; border-radius: 50%;}
.icon-homepage h3 {margin: 5px auto;}
.icon-homepage:hover img {background-color: var(--color-highlight-01);}
.icon-homepage:hover h3 {}

.obchodni-podminky ol {
  list-style-type: none;
  counter-reset: item;
  margin: 10px 0;
  padding: 0;
}

.obchodni-podminky ol > li {
  display: table;
  counter-increment: item;
  margin-bottom: 0.6em;
  font-weight: bold;
}

.obchodni-podminky ol > li:before {
  content: counters(item, ".") ". ";
  display: table-cell;
  padding-right: 0.6em;    
}

.obchodni-podminky li ol > li {
  margin: 0;
  font-weight: normal;
}

.obchodni-podminky li ol > li:before {
  content: counters(item, ".") " ";
}

.size table {border-collapse: collapse; font-size: 14px; width: 100%;}
.size table tr td {text-align: center; padding: 5px; border-top: solid 1px #ccc; border-bottom: solid 1px #ccc;}
.size table tr:first-child {background-color: #eee;}
.size table tr td:first-child {text-align: left;}

.partnerske-firmy {text-align: center;}
.partnerska-firma {display: inline-block; margin: 0 20px;}
.partnerska-firma img {transition: .5s;}
.partnerska-firma img:hover {cursor: pointer; filter: brightness(2);}

.contact-text-holder { position: absolute; right: 0; background: rgba(0,0,0,0.60); margin-top: 50px; width: 50%; min-width: 400px; height: 455px;}
.contact-text {color: #fff; font-size: 20px; width: 400px; padding: 95px 20px 20px 100px; text-align: center;}
.contact-text a {color: #3043A7;}
.contact-text a:hover {color: #777;}
.contact-map {margin: -56px -2px -5px -2px; z-index: -1px;}

.bg-text {background: url('../images/bg-text.png') no-repeat top right;}

/*INTRO*/
.intro-article-holder {min-height: 100vh;}
.intro-content {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


.link-login-holder {position: fixed; bottom: -10px; width: 100%; z-index: 2;}
.link-login-bottom {background-color: #fcfcfc; color: #777; width: 200px; margin: auto; height: 50px; padding: 8px; border: solid 1px #ccc; text-align: center; font-size: 15px; border-radius: 10px; transition: 0.5s;}
.link-login-bottom:hover {background-color: #333; cursor: pointer;}

.login-containter {    
	max-width: 400px;
	width: 100%;
	margin: auto;
}
.login {background-color: #efefef; width: 100%; padding: 20px; text-align: center; border-radius: 10px; border: 1px solid #999;}
.login input[type=text] {text-align: center;}
.login-header {margin: 25px 0 20px 0; }
.login-button {margin-top: 20px;}
.login input[type=submit]{padding: 10px 20px; font-size: 16px; background-color: #8e8e8e; border: solid 1px #ccc; border-radius: 5px; color: #fff; transition: 0.3s;}
.login input[type=submit]:hover { background-color: #4D4D4D; }


.fade-in-up {
  opacity: 0;
  transform: translate(0, 30px);
  transition: all 1s;
}

.fade-in-up.visible {
  opacity: 1;
  transform: translate(0, 0);
}

.bg-small-repeat {background-image: url('../images/bg-small-repeat.png'); }

.image-photo-height {display: none;}
@media only screen and (max-width: 700px) {
	.image-photo-width {display: none;}
	.image-photo-height {display: block; margin: auto;}
}
	
/* cookie plugin */
.cookies-overlay {
	opacity: 0;
    position: fixed;
    z-index: 51;
    left: 0;
    top: 0;
    width: 100%; 
	height: 0;
    overflow: auto;
    background-color: rgba(0,0,0,0.70);
	transition: all ease 1s, height 0s;
}

.cookies-content-center {
  text-transform: none;
  color: #333;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-height: 80vh;
  max-width: 80vw;
  width: 600px;
  overflow: auto;
}

.cookies-content {
	text-align: left;
    background-color: #fff;
	border-radius: 30px;
}

.cookies-content .close { margin-top: 10px; }
.cookies-scroll-holder {padding: 40px 0 20px 0;}
.cookies-scroll {overflow-y: auto; max-height: calc(80vh - 200px); max-width: calc(80vw - 23px); width: 577px;}


/* width */
.cookies-scroll::-webkit-scrollbar {
  width: 5px;
}

/* Track */
.cookies-scroll::-webkit-scrollbar-track {
  background: #ccc;
  border-radius: 5px;
}
 
/* Handle */
.cookies-scroll::-webkit-scrollbar-thumb {
  background: #777; 
  border-radius: 5px;
}

/* Handle on hover */
.cookies-scroll::-webkit-scrollbar-thumb:hover {
  background: #333; 
}

.cookies-text {
	 padding: 0 30px 10px 30px;
	margin-top: -20px;
}
.cookies-header {font-size: 23px; color: var(--black);}
.cookies-choices {
	padding: 0 20px 0px 20px;	
}

.cookies-choice {
	padding: 5px;
	background: #ddd;
	margin-bottom: 5px;
}

.cookies-choice input {float: left; }
.cookies-choice label {display: block; float: left; margin: 2px 0 0 5px;}

.cookies-more-info {cursor: pointer; }

.cookies-expand {float: right; cursor: pointer; font-weight: normal; font-size: 30px; line-height: 22px; color: #555;
-webkit-transition: .2s ease-in-out;
    -moz-transition: .2s ease-in-out;
      -o-transition: .2s ease-in-out;
     -ms-transition: .2s ease-in-out;
         transition: .2s ease-in-out;
}
.cookies-expand.rotate { transform: rotate(-90deg);}


.cookies-info {
  background: #ddd;
  width: 100%;
  max-height: 0;
  overflow: hidden;
-webkit-transition: max-height 1s ease-in-out;
    -moz-transition: max-height 1s ease-in-out;
      -o-transition: max-height 1s ease-in-out;
     -ms-transition: max-height 1s ease-in-out;
         transition: max-height 1s ease-in-out;
}
.cookies-info.show {
	max-height: 600px;
}

.cookies-info-padding { padding: 10px;}

.cookies-buttons {
	padding: 20px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	background-color: #222;
	border-radius: 0 0 25px 25px;
}

.cookies-buttons button {transition: 0.3s; padding: 10px 20px; font-size: 20px; margin: 10px; cursor: pointer; border-radius: 10px;}
.cookies-buttons #btn-accept-some, .cookies-buttons #btn-reject {background-color: #222; color: #777; border: solid 2px #4e994d;}
.cookies-buttons #btn-accept-some:hover, .cookies-buttons #btn-reject:hover {background-color: #246e23; color: #fff; border: solid 2px #73E170;}
.cookies-buttons #btn-accept-all {background-color: #229b20; color: #fff; border: solid 2px #4e994d;}
.cookies-buttons #btn-accept-all:hover {background-color: #246e23; color: #fff; border: solid 2px #73E170;}

@media only screen and (max-width: 600px) {
.cookies-buttons button:first-child {order: 3; }
.cookies-buttons button:nth-child(2) {order: 2; }
.cookies-buttons button:nth-child(3) {order: 1; }
}

/* cookies info page */
.cookie-info {}
.cookie-types-list {margin-top: 60px;}
.cookie-type-header {font-size: 20px; background-color: var(--gray-dark); margin: 30px 0 10px 0; padding: 10px; color: #fff;}
.cookie-items-show {cursor: pointer;}
.cookie-items {display: none; margin: 10px auto; }

.cookies-data-header {padding: 10px; background-color: #CCCCCC; cursor: pointer; font-size: 20px;}

.cookies-data {
  background: #E9E9E9;
  width: 100%;
  max-height: 0;
  overflow: hidden;
-webkit-transition: max-height 1s ease-in-out;
    -moz-transition: max-height 1s ease-in-out;
      -o-transition: max-height 1s ease-in-out;
     -ms-transition: max-height 1s ease-in-out;
         transition: max-height 1s ease-in-out;
}

.cookies-data.show {
	max-height: none;
}


.cookie-table-data {width: 100%; display: table;}
.cookie-table-data .fourth-width {width: 25%; padding: 10px; display: table-cell;}
.full-width {width: 100%; padding: 0 10px 10px 10px;}
.cookie-item {border-top: 1px solid #fff;}
.cookie-holder {border-top: 1px solid #fff;}

.close-cookie {
    color: #c00;
    position: absolute;
	right: 0; top: 0;
    font-size: 28px;
    font-weight: bold;
	margin: 5px 15px 15px 15px;
}

.close-cookie:hover {
    color: #d19e66;
    cursor: pointer;
}

/*allow button in text*/
.allow-cookies-holder {width: 100%; background-color: #eee; padding: 30px 15px;}
.allow-cookies {margin: 15px auto; width: fit-content;}
.button-allow-cookies { margin: 15px auto; max-width: fit-content; background-color: #ccc; padding: 10px 20px; border-radius: 30px; cursor: pointer; transition: 0.3s;}
.button-allow-cookies:hover { background-color: #fff; }

/*plugin booking*/
.booking-form {margin-bottom: 40px;}
.form-section-top { text-align: center; font-size: 25px; color: var(--color-highlight-01); border-top: solid 1px var(--color-highlight-01); margin-top: 50px; padding-top: 50px; }
.personal-inputs {margin: 20px -10px 15px -10px; text-align: center;}
.form-one-input {min-width: calc(33% - 20px); width: calc(100% - 20px); max-width: 350px; margin: 0 10px; display: inline-block; margin: auto; }
.header-form {margin: 10px 0px 25px 0; text-align: center; font-size: 20px;}
.select-room {margin: 30px 0; background-color: #F7EFDF; padding: 30px 15px; text-align: center;}
.select-room .room {display: inline-block; padding: 15px; min-width: calc(23% - 20px); width: calc(100% - 20px); max-width: 280px; margin-right: 20px; font-size: 20px; text-align: center;}
.select-room .room label {cursor: pointer;}
.certificate-data {margin: 30px 0; display: none; text-align: center;}
.send-reset-booking {text-align: center;}

/*plugin order_form.php*/
.order-form {}
.selected-item { max-width: 850px; margin: 40px auto 30px auto; }
.selected-item-image { width: calc(50% - 20px); display: inline-block; vertical-align: top;}
.selected-item-image img { max-width: 400px; width: 100%; }
.selected-item-text { width: calc(50% - 20px); display: inline-block; padding-left: 30px; vertical-align: top;}
.selected-item-name { font-size: 25px; margin-top: 5px; color: var(--color-highlight-01);}
.selected-item-description { margin: 20px 0; }
.amount-header {margin-top: 20px;}
.amount {margin-top: 10px;}
.form-text {margin: 10px 0 5px 0;}
.order-form textarea { padding: 5px; font-size: 18px; min-height: 100px; border: solid 1px #ccc; margin-bottom: 15px; width: 100%;}

.add-items {margin-top: 30px;}
.add-items-select div { margin-top: 10px;}
.add-items-select input[type=checkbox]{ margin-right: 15px; } 

@media only screen and (max-width: 600px) { 
.selected-item-image { display: block; width: 100%; padding: 0; text-align: center;}
.selected-item-text { display: block; width: 100%; padding: 0; text-align: center; }
}

/*plugin feedback*/
.feedback { background-color: var(--orange); padding-bottom: 30px; margin-bottom: 0;}
.feedback-form {margin-top: 10px;}
.feedback-info {text-align: center; padding: 30px 0;}
#feedback-block {display: none; cursor: pointer;}

/*plugin timetable*/
.timetable-homepage-holder {text-align: center; margin: 30px -10px 30px -10px;}
.timetable-homepage {display: inline-block; width: calc(50% - 20px); max-width: 650px; vertical-align: top; padding: 0; margin: 10px; background-color: #fff; 
	-webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);
  	-moz-box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);
  	box-shadow: 0px 0px 20px rgba(0, 0, 0, .15);
	}

.timetable-homepage-underlay {position: relative; overflow: hidden; background-color: #fff;}
.timetable-homepage-overlay {position: absolute; top: 0; left: 0; background-color: #fff; height: 100%; width: 100%; opacity: 0; transition: 0.5s; transform: translateY(-100%); }
.timetable-homepage-overlay .valid {margin-top: 20px;}
.timetable-homepage:hover .timetable-homepage-overlay {opacity: 1; transform: translateY(0);}
.timetable-homepage:hover .name {background-color: var(--color-highlight-01); cursor: pointer;}

.timetable-homepage table {border-collapse: collapse; width: 100%; margin-top: 20px; margin-bottom: 15px; text-align: left;}
.timetable-homepage table td {border: none; padding: 7px; border-bottom: 1px solid #ccc; }
.timetable-homepage table td.time {font-variant-numeric: tabular-nums;}
.timetable-homepage table tr {transition: 0.5s;}

@media only screen and (max-width: 900px) {
.timetable-homepage {width: calc(100% - 20px);}	
}
.homepage-timetable-image-holder {width: 100%;}
.homepage-timetable-image {width: 100%; }
.homepage-timetable-image img {width: 100%; display: block;}
.homepage-timetable-image-ico {margin-top: -110px;}
.homepage-timetable-text {padding: 20px 10px;}
.homepage-timetable-name {padding: 20px 10px 10px 10px; font-size: 25px;}
.homepage-timetable-today-link {margin-top: 15px; font-size: 22px; font-weight: 700;}

.info-no-timetable {margin-top: 30px; background-color: var(--gray-light); padding: 15px; font-weight: 700;}

/*.timetable-homepage-left .actual-header {margin-top: 30px; background-color: var(--gray-light); padding: 15px;}
.timetable-homepage-left .name {text-align: center;}
.timetable-homepage-left .valid {text-align: center; font-weight: 700; }*/


.timetable-plugin {}
.timetable-plugin .choose {text-align: center;}
.timetable-plugin .choose .choice { width: calc(33.33% - 20px); padding: 30px 20px; margin: 0 10px; text-align: center; font-size: 26px; color: #37383F; background-color: var(--gray-light); display: inline-block; transition: 0.5s; border-radius: 10px;}
@media only screen and (max-width: 600px) {
.timetable-plugin .choose .choice { width: 100%; margin: 10px 0; padding: 20px; float: none;}
	
}
.timetable-plugin .choose .choice:hover { background-color: #C5DBED; cursor: pointer;}
.timetable-plugin .choose .active { background-color: var(--color-highlight-01); color: #fff;}
.timetable-plugin .choose .active:hover { background-color: var(--color-highlight-01);}
.timetable-plugin .header { text-align: center; color: var(--color-highlight-01);}

.timetable-holder { text-align: center; margin: 0 -10px 0 -10px;}
.timetable { margin: 20px 10px; transition: 0.5s; border-bottom: 1px solid var(--gray-dark);}
.timetable .name { margin-bottom: 20px; }
.timetable.two-column {max-width: 650px; width: calc(50% - 20px); display: inline-block; vertical-align: top;}
.timetable.one-column {max-width: 900px; width: 100%; margin: 30px auto 10px auto;}
@media only screen and (max-width: 1200px) {
.timetable.two-column {max-width: 650px; width: 100%;}
}

.timetable .mala-plavba {background-color: #ff8000; color: #fff; text-align: center; padding-top: 2px;}
.timetable .velka-plavba {background-color: #1c8b00; color: #fff; text-align: center; padding-top: 2px;}


@media only screen and (max-width: 600px) {
.timetable-holder {margin: 0;}
.timetable {padding: 0px; margin: 30px 0;}
.timetable:hover {background: #fff;}
}


.name {font-family: FontWebu, sans-serif; background: var(--gray-dark) url("../images/icon-01.png") no-repeat; background-position: 7px 12px;
	color: #fff; font-size: 35px; line-height: 30px; padding: 28px 20px 15px 50px; transition: 0.5s;}
.valid { font-weight: 400;}
.now {color: #1EB500; animation: blinker 2s linear infinite;}
@keyframes blinker {
  50% { opacity: 0; }
}

.info-closures { color: #c00;}
.closure-header {padding: 5px 15px; background-color: #c00; color: #fff;}
.closure {padding: 10px 5px;}
.closure.border-bottom {border-bottom: solid 1px #ccc;}
.reason {color: #333;}


.timetable table {border-collapse: collapse; width: 100%; margin-top: 20px; text-align: left;}
.timetable table td {border: none; padding: 7px;}
.timetable table td.time {font-variant-numeric: tabular-nums;}
.timetable table tr {transition: 0.5s;}
.timetable table tr:nth-child(odd) {background: #fff;}
.timetable table tr:nth-child(even) {background: #eef5fb;}
.timetable table tr:nth-child(1) {}
.timetable table tr:hover {background: #C5DBED;}
.actual-closure td { background-color: #c00;}
.actual-closure td span { color: #fff;}
.actual-time td {color: #fff; animation: color-change 2s linear infinite;}
@keyframes color-change {
  0% { background-color: #1EB500; }
  50% { background-color: #24D900; }
  100% { background-color: #1EB500; }
}

.no-timetable {color: var(--color-highlight-01); text-align: center; font-weight: 700;}
.ok-timetable {color: #5e951a; text-align: center; font-weight: 700;}
.timetable-link {text-align: center;}
.timetable-info {margin: 10px 0;}

/*plugin calendar CURSOR */
.calendar-cursor {margin: 30px auto 20px auto;}
.calendar-select {text-align: center; margin-bottom: 10px;}
.calendar-select input[type=button] {height: 50px; margin: 0 5px;}
.calendar-select select {height: 48px; margin: 0 5px; width: auto;}

.select-day-text {text-align: center;}
.calendar-holder {margin: 0 auto;}
.calendar-holder .prew, .calendar-holder .next  {font-size: 25px; color: var(--gray-dark); cursor: pointer; vertical-align: top; padding-top: 150px;}
.calendar {border-collapse: collapse; margin: 10px auto; border: solid 1px #ddd; vertical-align: middle;}

.calendar tr.day-names td {color: #222;}
.calendar tr td:nth-child(6) {background-color: #E1E1E1;}
.calendar tr td:nth-child(7) {background-color: #C7C7C7;}
.calendar td {width: 40px; height: 40px; vertical-align: middle; text-align: center; color: #999;}
.calendar td:hover {background-color: var(--gray-light) !important; cursor: default;}
.calendar .clickable {font-weight: bold; color: var(--orange); cursor: pointer !important;}
.calendar .selected {background-color: var(--color-highlight-01) !important; color: #fff;}
.calendar .today {font-weight: bold; color:  #c00;}
/*plugin calendar CURSOR end */

/*plugin events */
.events-homepage-list {margin: 30px -15px 40px -15px; text-align: center; }
.event-homepage {width: calc(33% - 30px); display: inline-block; margin: 5px 10px; text-align: center; vertical-align: top;}
@media only screen and (max-width: 900px) { 
.events-homepage-list {margin: 30px 0px 40px 0px; }	
.event-homepage {width: calc(100% - 10px); display: block; margin: 5px 0;}
}
/*.event-homepage:hover {cursor: pointer;}*/

.event-homepage-image img {width: calc(100% - 10px); border: solid 1px #fff; transition: 1s;}
.event-homepage-image img:hover {border: solid 1px var(--color-02);}
.event-homepage-date {padding: 5px 15px 0 15px;}
.event-homepage-name {padding: 0px 15px 10px 15px;}
.more-events-homepage {text-align: center; padding-top: 30px;}

.events-header {background-color: #172B4C; color: #fff; padding: 7px 12px;}
.events-header .event-more {float: right; color: #999da5;}
.events-header .event-more:hover {cursor: pointer; color: #FFFFFF;}

.events-list-header {max-width: 1000px; margin: auto;}
.events-list {max-width: 1000px; margin: auto;}
.event {margin: 10px 0; padding: 10px 15px;}
.event:hover {background-color: #F2EEE6;}
.event-date {font-size: 18px;}
.event-name {color: var(--color-02); font-size: 20px;}
.event-image {max-width: 350px; float: right; margin-left: 30px;}

@media only screen and (max-width: 800px) {
.event-image {max-width: 100%; float: none; margin-left: 0px; margin-bottom: 20px;}	
}
.event-image img {width: 100%;}
.event-place {}
.event-text {padding: 15px 0;}

.events-list .event {padding: 20px 0; border-top: solid 1px #F2EEE6; }
.events-list .event:hover {background-color: #fff;}
.inactive-date {color: #999; white-space: pre;}
.active-date {white-space: pre;}
.date-delimeter {color: var(--color-02);}
#calendar {margin-bottom: 30px;}

.events-all-button {margin-bottom: 30px; float: right;}
.events-all-button:hover {cursor: pointer;}
@media only screen and (max-width: 700px) {.events-all-button {margin: 15px 0 30px 0; float: none;}}
.event-detail-date {font-size: 20px; margin-bottom: 10px;}
.event-detail-name {color: var(--color-02); font-size: 25px; padding: 10px 0 30px 0;}
.event-detail-text-top {font-weight: bold;}
.event-detail-image {margin: 30px auto;}
.event-detail-image img {width: 100%;}

.event-dates-header {font-weight: bold;}
.event-dates-holder {margin-top: 10px;}
.event-date {padding: 3px 0;}
.event-date .date-time {color: var(--color-02);}

/*event booking*/
.event-select-date {margin-bottom: 15px;}
.event-book-date {padding: 10px; background-color: #F2EEE6; margin: 3px 0;}
.event-book-date .date-time {color: var(--color-02);}
.event-book-date:hover {background-color: #eee;}
.event-book-inputs {margin: 25px 0;}
.form-delimeter { width: 100%; height: 25px;}
/*plugin events END */

.h1-center h1 { text-align: center; }

.article-half {display: flex;}
.article-half .half-text  {flex: 1;}
.article-half .half-image  {flex: 1; background-repeat: no-repeat; background-position: center center; background-size: cover;}
.half-text-left {padding: 50px 30px 50px 0; text-align: right; min-height: 400px; display: table-cell; vertical-align: middle;}
.half-text-right {padding: 50px 0 50px 30px; text-align: left; min-height: 400px; display: table-cell; vertical-align: middle;}
@media only screen and (max-width: 900px) {
.article-half {flex-direction: column;}	
.reverse {flex-direction: column-reverse;}	
.article-half .half-text  {min-height: auto;}	
.article-half .half-image  {min-height: 300px;}	
.half-text-left {padding: 50px 0; text-align: center;}
.half-text-right {padding: 50px 0; text-align: center; }
}

/*parallax intro*/
.parallax-mouse-move section {
	position: relative;
	width: 100%;
	height: calc(100vh + 110px);
	min-height: 500px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}

.article-intro .parallax-mouse-move section {height: 100vh;}

.parallax-mouse-move section .layer {
	position: absolute;
	margin: auto;
/*	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;*/

}

/*page and article class used in admin*/
.page-backgound, .article-background-light { background-color: var(--cream); }
.page-backgound, .article-background-dark { background-color: var(--dark); color: #ccc; }


  .logo-text {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: var(--dark);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    line-height: 1.3;
  }
  .logo-text span { color: var(--dark); }
  .logo-text small {
    font-family: 'DM Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 400;
    letter-spacing: 0.06em;
    color: var(--sage);
    text-transform: none;
  }

.hero-right {
    position: relative;
}

.hero-badge {
    position: absolute;
    bottom: 1.25rem;
    left: 1rem;
    background: var(--terracotta);
    color: white;
    padding: 1.2rem 1.6rem;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.badge-num {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.8rem;
    font-weight: 300;
    display: block;
    line-height: 1;
}

.badge-label {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}


 .poznamka {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--dark);
    font-weight: 500;
    margin-top: 1rem;
    padding: 0.8rem 1.2rem;
    border-left: 3px solid var(--terracotta);
    background: white;
}

  .terapie-list {
    list-style: none; padding: 0;
    display: flex; flex-direction: column;
    margin-top: 0rem; margin-bottom: 2.5rem;
  }
  .terapie-list li {
    font-size: 1.05rem; line-height: 1.6; color: var(--mid);
    padding: 0.9rem 1rem 0.9rem 1.4rem;
    border-bottom: 1px solid var(--light-border);
    position: relative;
  }
  .terapie-list li:first-child { border-top: none; }
  .terapie-list li::before {
    content: '–'; position: absolute; left: 0;
    color: var(--sage);
  }

  .cta {
    padding: 6rem 1rem; text-align: center;
    background: var(--warm-white);
    position: relative; overflow: hidden;
  }
  .cta::before {
    content: '';
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 600px; height: 600px; border-radius: 50%;
    border: 1px solid rgba(122,140,118,0.12);
  }
  .cta::after {
    content: '';
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 400px; height: 400px; border-radius: 50%;
    border: 1px solid rgba(122,140,118,0.1);
  }
  .cta-content { position: relative; z-index: 1; max-width: 600px; margin: 0 auto; }
  .cta-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.5rem, 4vw, 4rem); font-weight: 300;
    line-height: 1.2; margin-bottom: 1.5rem;
  }
  .cta-title em { font-style: italic; color: var(--sage); }
  .cta-desc {
    font-size: 1rem; line-height: 1.75; color: var(--mid);
    margin: 0 auto 2.5rem auto;
	 max-width: 550px;
  }
  .cta-phone {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem; font-weight: 300; color: var(--terracotta);
    display: block; margin-bottom: 2rem; text-decoration: none;
    transition: color 0.2s;
  }
  .cta-phone:hover { color: var(--deep-sage); }

.section-label {
    font-size: 0.8rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--terracotta);
    font-weight: 500;
    margin-bottom: 1.2rem;
}

.section-title-large {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.2rem, 3.5vw, 3.2rem);
    font-weight: 400;
    line-height: 1.25;
    color: var(--dark);
    margin-bottom: 1rem;
}

.section-title-large em {
    font-style: italic;
    color: var(--sage);
}

.jakpracuji {
    padding: 6rem 5rem;
    background: var(--cream);
  }
  .jakpracuji-header {
    max-width: 780px; margin-bottom: 4rem;
  }
  .jakpracuji-sub {
    font-size: 1.15rem; color: var(--mid); line-height: 1.7;
  }
  .jakpracuji-body {
    display: grid; grid-template-columns: 1fr 1fr; gap: 4rem;
    margin-bottom: 3.5rem;
  }
  .jakpracuji-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem; font-weight: 400; color: var(--dark);
    margin-bottom: 0rem; padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--light-border);
  }
  .jakpracuji-list {
    list-style: none; padding: 0;
    display: flex; flex-direction: column; gap: 1rem;
  }
  .jakpracuji-list li {
    font-size: 1rem; line-height: 1.75; color: var(--mid);
    padding-left: 1.4rem; position: relative;
  }
  .jakpracuji-list li::before {
    content: '·'; position: absolute; left: 0;
    color: var(--terracotta); font-size: 1.4rem; line-height: 1.4;
  }
  .jakpracuji-principles {
    list-style: none; padding: 0;
    display: flex; flex-direction: column; gap: 0.75rem;
  }
  .jakpracuji-principles li {
    font-size: 1rem; line-height: 1.6; color: var(--mid);
    display: flex; align-items: flex-start; gap: 1rem;
    padding: 0.9rem 1.2rem;
    background: white; border-left: 3px solid var(--sage);
  }
  .jakpracuji-principles li span { flex: 1; }
  .jakpracuji-quote {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem; font-style: italic; font-weight: 300;
    line-height: 1.75; color: var(--deep-sage);
    border-left: 3px solid var(--sage);
    padding: 0.8rem 0 0.8rem 1.5rem;
    margin: 0 0 2.5rem 0;
    max-width: 820px;
  }
  .jakpracuji-cta {
    margin-bottom: 3.5rem;
  }
  .jakpracuji-info {
    display: flex; flex-direction: column; gap: 1rem;
    max-width: 820px;
  }

.info-box {
    padding: 1.4rem 1.8rem;
    font-size: 0.97rem; line-height: 1.75;
  }
  .info-box-important {
    background: white;
    border-left: 3px solid var(--terracotta);
    color: var(--dark);
  }
  .info-box-important strong { color: var(--terracotta); }
  .info-box-legal {
	  margin-top: 30px;
    background: transparent;
    border: 1px solid var(--light-border);
    color: var(--mid);
  }

.vztahy-cena {
    background: var(--cream);
    padding: 2.5rem 3rem;
    margin-bottom: 3rem;
    border-left: 3px solid var(--terracotta);
    display: flex;
    align-items: baseline;
	gap: 4rem;
}

.vztahy-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
    margin-bottom: 4rem;
  }
  @media (max-width: 900px) {
    .vztahy-grid { grid-template-columns: 1fr; }
}

  .vztahy-card {
    background: white; padding: 2rem;
    border: 1px solid var(--light-border);
    border-top: 3px solid var(--sage);
    transition: box-shadow 0.2s;
  }
  .vztahy-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.07); }
  .vztahy-card h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3rem; font-weight: 400; color: var(--dark);
    margin-bottom: 0.8rem;
  }
  .vztahy-card p {
    font-size: 0.97rem; line-height: 1.75; color: var(--mid);
  }
  .vztahy-card a {
    color: var(--sage); text-decoration: underline;
  }

  .vztahy-cena {
    background: var(--cream); padding: 2.5rem 3rem;
    margin-bottom: 3rem;
    border-left: 3px solid var(--terracotta);
    display: flex; align-items: baseline; gap: 4rem;
  }
  .vztahy-cena-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem; font-weight: 400; color: var(--dark);
    white-space: nowrap;
  }
  .cena-items {
    display: flex; gap: 3rem; flex-wrap: wrap;
  }
  .cena-item {
    display: flex; flex-direction: column; gap: 0.2rem;
  }
  .cena-divider {
    width: 1px; background: var(--light-border); align-self: stretch;
  }
    font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--mid);
  }
  .cena-value {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem; font-weight: 400; color: var(--terracotta);
  }
  .cena-value small {
    font-size: 0.9rem; color: var(--mid);
    font-family: 'DM Sans', sans-serif;
  }


  .mediace-dohoda {
    margin: 2rem 0;
    padding: 1.4rem 1.8rem;
    background: var(--cream);
    border-left: 3px solid var(--sage);
    font-size: 1rem; line-height: 1.75; color: var(--dark);
  }
  .mediace-cena {
    margin: 2rem 0;
    padding: 0.8rem 2rem;
    background: var(--cream);
    border-left: 3px solid var(--terracotta);
  }
  .mediace-cena-text {
    font-size: 1.05rem; line-height: 1.75; color: var(--mid);
    margin-top: 1rem;
  }
  .mediace-cena-text .cena-value {
    display: inline; white-space: nowrap;
  }
  .mediace-cena-value {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6rem; font-weight: 400; color: var(--terracotta);
    white-space: nowrap;
  }
  .mediace-cena-pozn {
    font-size: 0.9rem; color: var(--mid);
  }


 .about-photo-col { position: sticky; top: 6rem; }
  .about-photo-wrap { position: relative; }
  .about-photo-frame {
    width: 100%; aspect-ratio: 3/4;
    overflow: hidden; position: relative;
  }
  .about-photo-frame img {
    width: 100%; height: 100%; object-fit: cover; object-position: center 15%;
    display: block;
  }
  .about-badge {
    position: absolute; bottom: 4rem; right: -1rem;
    background: var(--terracotta); color: white;
    padding: 1.2rem 1.5rem; text-align: center;
  }
  .about-badge .years {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.5rem; font-weight: 300; display: block; line-height: 1;
  }
  .about-badge .years-label {
    font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase;
  }
  .about-tag {
    font-size: 0.85rem; letter-spacing: 0.15em; text-transform: uppercase;
    color: var(--terracotta); font-weight: 500; margin-bottom: 1.5rem;
  }
  .about-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.4rem, 3.2vw, 3.2rem); font-weight: 300;
    line-height: 1.2; margin-bottom: 2rem; color: white;
  }
  .about-title em { font-style: italic; color: var(--sage); }
  .about-text {
    font-size: 1.05rem; line-height: 1.85;
    color: rgba(255,255,255,0.88); margin-bottom: 1.5rem;
  }
  .about-subtitle {
    font-size: 1.05rem; line-height: 1.75;
    color: white; font-weight: 500;
    border-left: 3px solid var(--sage);
    padding-left: 1.2rem; margin-bottom: 2.5rem;
  }
  .about-career { margin-top: 0.5rem; }
  .about-career-items {
    display: flex; flex-direction: column; margin-top: 1.5rem;
  }
  .about-career-item {
    display: flex; gap: 1.2rem; align-items: flex-start;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .about-career-item:last-child { border-bottom: none; }
  .about-career-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--terracotta); flex-shrink: 0; margin-top: 0.5rem;
  }
  .about-career-dot--sage { background: var(--sage); }
  .about-career-item p {
    font-size: 0.97rem; color: rgba(255,255,255,0.82); line-height: 1.7; padding: 0; margin: 0;
  }

.about-quote {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3rem;
    font-style: italic;
    font-weight: 300;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.95);
    border-left: 3px solid var(--sage);
    padding: 0.8rem 0 0.8rem 1.5rem;
    margin: 2.5rem 0 0 0;
}

 .kontakt-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem; font-weight: 400; color: var(--dark);
    margin-bottom: 0.3rem;
  }
  .kontakt-ic { font-size: 0.9rem; color: var(--mid); margin-bottom: 2rem; }
  .kontakt-misto { margin-bottom: 1.2rem; }
  .kontakt-misto-nazev { font-weight: 500; font-size: 0.95rem; color: var(--dark); margin-bottom: 0.2rem; }
  .kontakt-misto p { font-size: 0.95rem; color: var(--mid); line-height: 1.6; }
  .kontakt-links { margin: 2rem 0; display: flex; flex-direction: column; gap: 0.5rem; }
  .kontakt-tel {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.8rem; font-weight: 400; color: var(--terracotta); text-decoration: none;
    transition: color 0.2s;
  }
  .kontakt-tel:hover { color: var(--deep-sage); }
  .kontakt-email { font-size: 1rem; color: var(--sage); text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.2s; }
  .kontakt-email:hover { border-color: var(--sage); }
  .kontakt-ds { font-size: 0.9rem; color: var(--mid); margin-top: 0.3rem; }
  .kontakt-platba { margin-top: 2.5rem; }
  .kontakt-platba p { font-size: 0.95rem; color: var(--mid); line-height: 1.8; }
  .kontakt-pozn { font-size: 0.88rem; color: var(--mid); margin-top: 0.5rem; font-style: italic; }

  @media (max-width: 900px) {
    .about-photo-col { position: static; }
    .about-photo-frame { aspect-ratio: 4/3; overflow: hidden; }
    .about-photo-frame img { object-position: center 60%; }
    .about-badge { bottom: -0.5rem; right: 0; }
}
