/* Barvy 
#FFFF8D - žlutá 
#311B92 - modrá
#A7FFEB - bledě zelená
#FFCDD2 - růžová
#B3E5FC - bledě modrá

*/


/* CSS reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
	margin:0;
	padding:0;

}
html,body {
  margin:0;
  padding:0;
  font-family: 'Inter Variable'; 
  font-weight:500;
  font-size:20px;
  line-height:30px;
  background-color:white;
  color:#0B1A43;
  -webkit-text-size-adjust:100%;
  width:100%;
  height:100%; 
}


html 		{ overflow-x:hidden;  }


h1, h2, h3, h4, h5, h6 { font-weight: normal; }
a           { color:#0B1A43; text-decoration: none;}
a:focus		{ outline: none;  -webkit-tap-highlight-color: transparent  }
a:hover     { border-bottom:solid 1px #0B1A43 }
.clearboth  { clear: both; }
.floatleft  { float: left; }
.uppercase  { text-transform: uppercase; }
.capitalize { text-transform: capitalize; }
.black		{ color:black }
img         { border: none; }
p           { clear:both; }
ul          { margin:0; }
b           { font-weight:700 }
strong      { font-weight:700 }
hr          { height:1px; border:0; background-color: #9D9D9D; margin-top:80px }
.tisic      { margin-left: 0.3em;	}
.nonselectable { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; 
				 -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;}
.nopadding  { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
input,textarea { border:none; outline:none; resize:none; font-family: 'Inter Variable'; -webkit-appearance: none; -webkit-border-radius:0px;
				-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  }
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
   -webkit-box-shadow: 0 0 0 1000px white inset !important;
}
.border5   { -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; }
.border10  { -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px;  }
.border35  { -webkit-border-radius:35px; -moz-border-radius:35px; border-radius:35px;  }
.borderRounded { -webkit-border-radius:100%; -moz-border-radius:100%; border-radius:100%; }

.table-cell	{ display: table-cell; vertical-align: middle;  }

li 			{ list-style-position:outside; }


main        { position: relative; display:block; width:100%; height:100%;  }
nav         { position: relative; width:100%; } 
.container  { width:calc(100% - 48px); max-width:1680px; margin:auto; }

.fontInter	{ font-family: 'Inter Variable';  }

.italic { font-style: italic; }

.fontSourceSerif4	{ font-family: 'Source Serif 4'; font-weight: 400; }
.fontSourceSerifProRegular	{ font-family: 'Source Serif 4'; font-weight: 400; }

.fontH1 		{ font-size:72px; line-height:1.1em }
.fontH2 		{ font-size:48px; line-height:1.1em; letter-spacing: -0.02em; }
.fontH3 		{ font-size:40px; line-height:1.1em }
.fontH4 		{ font-size:36px; line-height:1.2em }
.fontPerex 		{ font-size:24px; line-height:1.3em; letter-spacing: -0.005em; }
.fontSubheadline { font-size:18px; line-height:1.75em; letter-spacing: 0.05em; }
.fontSmallText { font-size:16px; line-height:1.4em }
.font40			{ font-size:40px; line-height:1.2em; letter-spacing: -0.015em; }
.font32			{ font-size:32px; line-height:1.2em;  }
.font24			{ font-size:24px; line-height:1.2em;  }
.font20			{ font-size:20px; line-height:1.2em;  }
.font16			{ font-size:16px; line-height:1.2em;  }
.font12			{ font-size:12px; line-height:1.2em;  }

.hamburger		{ display:none; position:relative; float:right; margin-top:8px; margin-left:24px; width:30px; height:18px;  cursor:pointer; z-index:100;
				  transform: rotate(0deg); transition: .5s ease-in-out; pointer-events:auto; outline: none; -webkit-tap-highlight-color: transparent; } 
.hamburger span { position:absolute; display:block; height:2px; width:100%; background:#fff; opacity:1; left:0; 
				  transition: width 0.5s ease-in-out, height 0.5s ease-in-out, left 0.5s ease-in-out, top 0.5s ease-in-out, transform 0.5s ease-in-out; }
.hamburger span:nth-child(1) { top: 0px; transform-origin: left center;}
.hamburger span:nth-child(2) { top: 8px; transform-origin: left center;}
.hamburger span:nth-child(3) { top: 16px; transform-origin: left center;}

.menu-close { display:none; position:absolute; top:30px; right:24px; z-index:10; cursor:pointer; width: 20px; height: 20px;
			  outline: none; -webkit-tap-highlight-color: transparent;}


.uvod 		{ position:relative; width:100%; height:756px; color:#fff; background-color:#222; }
.uvod img 	{ position:absolute; width:100%; height:100%; object-fit:cover; object-position:top }
.uvod-inner { position:relative; padding-top:50px; height:756px; }

.uvod-detail 		{ height:381px!important; }
.uvod-detail .uvod-inner { height:381px!important; }

.h1 	{ position:relative; float:left; font-size:28px; font-weight:400;  }
.h1 span { font-size:30px;  }
.h1 a { color:#fff; border:0  }
.menu  { position:relative; float:right; margin-top:10px; z-index:10 }
.menu a  { color:#fff; border:0 }
.menu-item  { float:left; margin-left:36px; cursor:pointer; outline: none;  -webkit-tap-highlight-color: transparent }
.claim { position:absolute; bottom:100px; max-width:1033px; font-weight:500; }
.claim-name { line-height:0em }
.year-cont { position:absolute; top:0; width:100%; height:100%; }
.year-inner { position:absolute; width:100%; font-weight:500; bottom:80px; }
.year { float:right; color:#808080; text-transform: uppercase;  }
.when { float:right; margin-top:10px; font-weight: 450; }

.claim-detail { position:absolute; bottom:60px; max-width:1033px; font-weight:600; }

.about-project 		{ display:flex; gap:0 40px; padding-top:160px }
.about-project-flex { flex:1 }
.about-project-claim { max-width:682px; font-weight:600; }

.info			{  margin-top:80px;  }
.info-outer		{ display:flex; gap:0 40px;  }
.info-flex 		{ flex:1; justify-content: stretch; align-self: stretch;}
.info-flex-table { display:table; }
.info-flex-table-inner { width:calc(100% - 32px); margin-left:32px }
.info-flex img 	{ float:left; width:100%; max-width:828px; }
.date 			{ color:#808080; text-transform: uppercase; margin-bottom:10px; }
.info-text 		{ margin-bottom:32px; }
.info-title 		{ margin-bottom:32px; }
.gray			{ color:#808080 }
.info-ramecek 	{ border:#B3B3B3 1px solid; padding:32px; max-width:633px;}
.info-ramecek-text { letter-spacing:-0.005em; margin-bottom:32px}
.info-flex-table-zazijte { margin-bottom:32px  }

.button 	{ float:left; border:solid 2px #0B1A43; border-radius:80px; padding:14px 22px; cursor:pointer; transition:all 0.3s ease;
			  outline: none;  -webkit-tap-highlight-color: transparent }
.button:hover { border:solid 2px #0B1A43; background-color:#0B1A43; color:#fff;  }
	
.button-blue { border:solid 2px #0B1A43; background-color:#0B1A43; color:#fff;  }			  
			  
.section3 { background-color:#EFEFEF; margin-top:120px; padding:120px 0}
.photos		{ display:flex; gap:0 24px; }
.photos	img	{ aspect-ratio: 1.5; object-fit:cover }
.photo-flex { flex:1 }
.photo-flex img { float:left; width:100%; }

.photos-buttons { text-align:center; padding:40px 0 0 0 } 
.photos-buttons .button { float:none; display:inline-block; } 

.reference		{ display:flex; gap:0 40px; margin-top:80px; }
.reference-flex { flex:1; display:flex; gap:0 80px; }
.reference-text { max-width:559px; }
.reference-name { margin-top:30px; font-weight: 700; }
.reference-name-position { float:left; }


.reference-buttons { text-align:center; padding:60px 0 0 0 } 
.reference-buttons .button { float:none; display:inline-block; } 

.program		{ display:flex; gap:0 40px; padding-top:160px; }
.program-flex 	{ flex:1;  }


.block-cont		{ margin-top:32px; }
.block			{ display:flex; gap:0 40px; background-color:#EFEFEF; margin-top:24px; padding:24px 16px 32px 16px }
.block.active			{ background:#E5F6FF }
.block .button			{ padding:12px 24px; margin-top: 8px; border-width: 1px; display:inline-block; float:none }
.block .button img		{ position:relative; left:2px; top:3px }
.block-mezera   { margin-top:24px; }
.block-flex 	{ flex:1;  }
.block-info 	{ max-width:607px  }
.block-number 	{ color:#808080; text-transform:uppercase; }
.block-title 	{ margin-top:24px; }
.block-text 	{ margin-top:18px; }
.block-names	{ align-self: flex-end; }
.block-border  	{ border:solid 1px #0B1A43; padding:24px 24px 24px 24px }
.block-border-text  	{ display:inline-block;  margin-bottom:16px;margin-right:16px;  }

.program-info 	{ max-width:1250px; margin:auto; margin-top:80px; text-align:center; font-weight: 550; }
.program-change { max-width:548px; margin:auto; margin-top:80px; text-align:center; color:#757575; font-weight: 400; }

.price 		    { text-align:center; padding-top:80px }
.price-text 	{ text-align:center; max-width:822px; margin:auto; margin-top:120px }

.block2			{ display:flex; gap:0 40px; background-color:#EFEFEF; margin-top:24px; padding:24px 16px 32px 16px }
.block2-number 	{ color:#808080; text-transform:uppercase; }
.block2-info 	{ max-width:760px  }
.block2-date 	{ margin-top:24px; letter-spacing:-0.03em;}
.block2-text 	{ margin-top:0px; letter-spacing:-0.04em; font-weight: 550; }
.block2-text2 	{ margin-top:16px; letter-spacing:-0.005em; font-weight: 400; }
.block2-flex 	{ flex:1;  }


.block3			{ display:flex; gap:0 24px; font-weight: 400; }
.block3	.font16		{ line-height: 1.4em;  }
.block3 img 	{ width:100%;  }


.about-project-address { margin-top:60px } 
.about-project-address-link { display:inline;} 
.about-project-address-link a { border:0} 


/* Formulář */
.container-form { position:relative; max-width:538px; margin:auto; color:#1E1E1E;   }
.container-form a { color:#1E1E1E; border-color:#1E1E1E!important   }
.form-title		{ text-align:center; margin-bottom:16px; color:#0B1A43 }
.form-title-text		{ text-align:center; margin:24px auto; font-weight: 400; max-width:404px;}
.form-hide-inner		{ margin:80px 0 30px 0; border:solid 1px #D9D9D9; padding:24px;}
.form 			{ margin-bottom:8px; }

.form-blick 	{ width:100%; margin-bottom:20px }
.form-blick.active 	{ animation: 2s blink ease  }
.floatleft .form-blick 	{ display:inherit; }

.form-item { margin-bottom:20px; font-weight:400; }


.form input,
.form textarea	{ width:100%; padding:14px 14px; font-size:16px; margin-top:4px; border:solid 1px #BFBFBF;
				  -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px;  }
.form textarea	{ height:176px }
.form input:focus,
.form textarea:focus	{ border:solid 1px #717970;  }

input::placeholder {
  color: #777;
}


.form-label.error { color:#BA1A1A }
.form-label-error { display:none; color:#BA1A1A }

.form input[type="checkbox"]  { position:absolute; opacity:0; cursor:pointer; border:0; width:0; height:0; padding:0; outline: none; 
								-webkit-tap-highlight-color: transparent;}
.form input[type="checkbox"] + label 	{ width:23px; height:23px; background:white; padding:0; display:inline-block; color:#000; border:solid 1px #BFBFBF;
										  cursor:pointer; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px;   } 

.form input[type="checkbox"]:checked + label  { border-color:#003917; background: url(../images/checkbox.svg) no-repeat center; background-size:15px; }
.form input[type="checkbox"].error + label			  { background-color:#FCE9E9; border-color:#BA1A1A }
.form .souhlas {  position:relative; top:3px; margin-left:16px; font-weight: 400; width:calc(100% - 45px); float:right }
.form a { border-bottom:solid 1px #0B1A43  }
.form-button-cont { text-align:center; }
.form-button	{ float:none; display:inline-block; margin-top:40px; color:#0B1A43 }


#telefon { color:#777 }
#telefon.active { color:#111f46 }



.form-success	{ /*display:none;*/ position: fixed;  width:calc(100% - 30px); max-width:360px; top:-90px; right: 15px; background-color: #111f46; 
				  padding:20px 20px 16px 20px; color:#fff; transition: all .5s ease-in-out; z-index:1000 }
.form-success img { display:inline-block; }
.form-success.open	{ top: 15px; }
.form-text		{ position:relative; top:-2px; display:inline-block; margin-left:15px; }


 
.souhlas-hide { display:none; position:absolute; margin-top:6px }
.error { color:#C50000 }


.path {
  stroke-dasharray: 400;
  stroke-dashoffset: 400;
  animation: animateDash 5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  display:block!important;
  animation-delay: 0.8s;
}


.path2 {
  stroke-dasharray: 400;
  stroke-dashoffset: 400;
  animation: animateDash 25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  display:block!important;
  animation-delay: 1.3s;
}

@keyframes animateDash {
  to {
    stroke-dashoffset: 0;
  }

}

@keyframes blink {

    from,
    to {
      opacity: 0;
    }

    100% {
      opacity: 1;
    }
  }
  
  
  
.contact { text-align:center; max-width:750px; margin:auto; margin-top:80px }
.contact-title { color:#808080;text-transform: uppercase; }
.contact-link { margin:40px 0 80px 0 }
.contact a:hover { border-bottom:0  }

.contact-perex { margin-bottom:80px }


.footer { float:left; width:100%; margin:32px 0 120px 0; color:#808080; text-align:center; }
.footer a { color:#808080 }
.footer a:hover { border-bottom:0 }
.about-cookies { margin-left:40px; outline: none;  -webkit-tap-highlight-color: transparent }
.about-cookies:hover { border-bottom:0; cursor:pointer }




.uline {
	--uline-thickness: 0.06em;
	
    background-image: linear-gradient(currentColor, currentColor);
	padding-bottom:2px;
	background-size: 0 var(--uline-thickness);
    background-position: 0 calc(100%);
    background-repeat: no-repeat;
    transition: all 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}


.uline:hover {
   background-size: 100% var(--uline-thickness); /* Plná délka podtržení */
}


.uline.active {
   background-size: 100% var(--uline-thickness); /* Plná délka podtržení */
   transition: none;
}

.uline.active:hover {
   background-size: 0 var(--uline-thickness); /* při hoveru se "schová" */
   animation: uline-restart 0.75s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}


/* Klíčové snímky animace */
@keyframes uline-restart {
  0% {
    background-size: 100% var(--uline-thickness); /* začátek – podtržené */
  }
  40% {
    background-size: 0 var(--uline-thickness); /* zmizí */
  }
  100% {
    background-size: 100% var(--uline-thickness); /* znovu se objeví */
  }
}

.o-rocniku			{ display:flex; gap:0 40px; margin-top:150px; margin-bottom:150px; font-weight:600; }
.o-rocniku-flex 	{ flex:1;  }
.minuly-rok { margin-bottom:60px; text-align:center; }


.soucast { max-width:1380px; text-align:center; margin:auto; margin-top:120px }



/* Cookies */


.gdpr				{ position:fixed; bottom: 24px; width:calc(100% - 48px); right:24px;  margin:auto; z-index:101; }
.gdpr-y				{ position:relative; max-height:calc(100vh - 160px); background: rgba(239,239,239,0.95); color:#0B1A43; padding:24px 24px; 
					  text-align: center; overflow:hidden; box-shadow: 0 10px 30px rgba(2,2,3,.18); }
.gdpr-close			{ position:absolute; top:0; right:0; background:url(../images/zavrit.svg); width:30px; height:28px; background-size:30px 28px; cursor:pointer; margin:24px; }
.gdpr-nadpis		{ width:calc(100% - 80px) }
.gdpr-text			{ text-align:left; margin-bottom:20px; padding-right:40px; max-width:902px; }
.gdpr-text a		{ color: #0B1A43; border-bottom:1px solid #0B1A43; }
.gdpr .button 		{ color: #0B1A43; margin-left:12px; cursor:pointer; text-shadow:none;   }
.gdpr .button:hover 		{ color: #fff;  }


.gdpr-button		{ float:right; margin-top:20px!important; cursor:pointer}

.gdpr-nastaveni 	{ float:left; border-bottom:solid 2px #0B1A43; cursor:pointer; margin-top:30px; outline: none;  -webkit-tap-highlight-color: transparent}
.gdpr-odmitnout		{ margin-right:24px; }

.overlay		{ display:none; position:fixed; top:0; width:100%; height:100%; z-index:101 }
.overlay-gdpr 	{ top:0; background:rgba(0,0,0,0.75); }



.gdpr-info			{ position:fixed; top:0; width:100%; max-width:500px; height:100%; right:-500px; background:#efefef;
					  color:#0B1A43; overflow-y:auto; z-index:100000000; }
.gdpr-info-prostor  { position: relative; width: 100%; padding:24px; min-height:calc(100% - 93px); } 

.gdpr-info-close	{ position:absolute; right:24px; margin-left:24px; width:40px; height:40px; cursor:pointer; z-index:10000;
				  	  transform: rotate(0deg); transition: .5s ease-in-out; pointer-events:auto; outline: none;  -webkit-tap-highlight-color: transparent } 
.gdpr-info-close span { position:absolute; display:block; height:2px; width:100%; background:#414940; opacity:1; left:0;  
				  	 	transition: width 0.25s ease-in-out, height 0.25s ease-in-out, left 0.25s ease-in-out, top 0.25s ease-in-out, transform 0.25s ease-in-out; }

.gdpr-info-close span:nth-child(1) { top: 16px; left: 3px; transform: rotate(45deg);}
.gdpr-info-close span:nth-child(2) { top: 16px; left: 3px; transform: rotate(-45deg);}
.gdpr-info hr		{ background:#0B1A43; margin-top:10px; height:1px }
.gdpr-info-nadpis	{ margin-top:20px;  }

.gdpr-subnadpis		{ margin:30px 0 20px 0 }
.gdpr-info-uvod-text{ margin:24px 0px 30px 0; }
.gdpr-info-polozka	{ background: #efefef; border-bottom:1px solid #0B1A43; border-top:1px solid #0B1A43; margin-bottom:16px }
.gdpr-info-button	{ margin:0 0 30px 0  }
.gdpr-info-checkbox input[type="checkbox"]  { position:absolute; opacity:0; cursor:pointer; border:0; width:0; height:0; padding:0; outline: none; }
.gdpr-info-checkbox input[type="checkbox"] + label	{ float:right; cursor:pointer; width:48px; height:24px; margin-top:20px; margin-right:20px; background:url(../images/checkbox-cookie.svg?rand=1); 
													  background-size:96px 24px; outline: none; -webkit-tap-highlight-color: transparent;  } 
.gdpr-info-checkbox input[type="checkbox"]:checked + label  { background-position: -48px  }
.gdpr-info-click	{ float:left; width:calc(100% - 135px); cursor:pointer; margin-bottom:18px;outline: none;  -webkit-tap-highlight-color: transparent }
.gdpr-info-click-aktivni	{ width:calc(100% - 150px); }
.gdpr-info-minus	{ display:none; float:left; background:url(../images/arrow-cookie.svg); background-size:18px 18px; width:18px; height:18px; margin-left:12px; transform: rotate(-180deg); margin-top:20px }
.gdpr-info-plus		{ float:left; background:url(../images/arrow-cookie.svg); background-size:18px 18px; width:18px; height:18px; margin-left:12px; margin-top:20px; }
.gdpr-info-cookies	{ float:left; width:calc(100% - 70px); margin:20px 0 0 20px; }

.gdpr-info-vyp-zap	{ float:right; margin:24px 8px 0 0 }
.gdpr-info-zap		{ display:none;  }

.gdpr-info-aktivni	{ float:right; margin-top:24px; margin-right:20px; color: #0B1A43;}
.gdpr-info-text		{ display:none; margin:10px 0 30px 0; padding:12px }
.gdpr-info-text.font18		{ line-height:1.35em }
.gdpr-info hr		{ margin-bottom:16px }
.gdpr-info-potvrdit { float:none; margin:50px auto 30px auto; width:180px; text-align:center;}

.gdpr-souhlas-desktop	{ position: sticky; width:100%; height: 93px; bottom:0px; padding: 24px 0; background:#efefef; text-align:center; }

.gdpr-prijmout2	{ background:#0B1A43; border:solid 1px #0B1A43; color:#0B1A43; margin-left:12px;}
.gdpr-potvrdit	{ float:none; display:inline-block;  }



.zasady { max-width:800px; }
.zasady h2 { font-weight: 600; margin-top:80px; margin-bottom:80px; text-align:center; }
.zasady h3 { font-weight: 600; margin-top:40px; margin-bottom:18px }
.zasady ul { margin-top:12px }
.zasady li { margin-left:17px }

.photoswipe a { border:0 }