/* Barvy 
#FF3D00 - červená 
#FFE6DE - růžová
#0B34DE - 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: 'BCEricMachat';
  font-size:36px;
  line-height:1.1em;
  background-color:#F5F5F5;
  color:#FF3D00;
  -webkit-text-size-adjust:100%;
  width:100%;
  height:100%; 
  overscroll-behavior-block: none;
}


html 		{ overflow-x:hidden;  }


h1, h2, h3, h4, h5, h6 { font-weight: normal; }
a           { color:#0B34DE; text-decoration: none; }
a:focus		{ outline: none; -webkit-tap-highlight-color: transparent  }
.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: black; }
.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; padding:10px 2% 10px 2%; margin-top:5px;  font-family: 'BCEricMachat';
				font-size:20px; border:solid 1px #404040; -webkit-appearance: none; -webkit-border-radius:0px;  }
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; }
hr 			{ padding:0; margin:0; background-color:#404040; }



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

img {
  -webkit-user-drag: none; /* Chrome, Safari */
  user-drag: none;         /* (experimentální) */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;       /* zabrání označování */
}

.BCEricMachatScript	{ font-family: 'BCEricMachatScript'; }

.font14 		{ font-size:14px; line-height:1.1em; letter-spacing:0.05em; }
.font16 		{ font-size:16px; line-height:1.1em; letter-spacing:0.05em; }
.font24 		{ font-size:24px; line-height:1.1em }
.font20 		{ font-size:20px; line-height:1.25em; letter-spacing:0.05em; }
.font36 		{ font-size:36px; line-height:1.1em }


.font24 .BCEricMachatScript { font-size:22px; line-height:0.8em }
.font36 .BCEricMachatScript { font-size:34px; line-height:0.8em }

.bg-pink  		{ background-color:#FFE6DE }

.blue	 		{ color:#0B34DE }

.button 		{ color:#0B34DE; border:solid 2px #0B34DE; padding:22px 46px; float:left; cursor:pointer;
		  		  outline: none; -webkit-tap-highlight-color: transparent  }
.button:hover   { background-color:#0B34DE; color:#fff; transition: all 1s cubic-bezier(0.25, 1, 0.5, 1); }

.mobile-only { display:none; }


  .corner {
    position: absolute;
    right: 0; bottom: 0;
    width: 100%;
    height: 100%;
    max-width:1000px; 
    max-height:95vh;
    z-index:10;
  }
  
  .hand {
    position: absolute;
    right: -3%;   /* slight shift so rotation pivot stays hidden */
    bottom: -5%;  /* push down so bottom edge never reveals */
	width: 100%;
	height:100%;
  }
  
  .hand-img1 { position: absolute; max-width: 236px; max-height:360px; bottom:-60px!important; right:auto; left:0  }
  .hand-img2 { position: absolute; max-width: 382px; max-height:484px; bottom:-60px!important; right:auto; left:0; right:0; margin:auto }
  .hand-img3 { position: absolute; max-width: 432px; max-height:513px; top:auto; bottom:-80px!important; right:10px; z-index: 10;  }
  .hand-img4 { position: absolute; max-width: 432px; max-height:513px; top:30%; right:-30px;  }
  .hand-img5 { position: absolute; max-width: 502px; max-height:255px; top:0; right:-30px;  }
   

  .enter {
    transform: translateY(120%);
    opacity: 0;
    will-change: transform, opacity;
  }
  .hand.show .enter {
    animation: enter 900ms cubic-bezier(.25,1,.5,1) forwards;
  }
  @keyframes enter {
    0%   { transform: translateY(120%); opacity: 0; }
    60%  { transform: translateY(-6%);  opacity: 1; }
    100% { transform: translateY(0%);   opacity: 1; }
  }


  .swing {
    transform-origin: 80% 125%; /* was 108% */
    will-change: transform;
  }

  .swing-once {
    animation: swingOnce 1s ease-out forwards;
  }
  @keyframes swingOnce {
    0%   { transform: rotate(0deg) translateY(0%); }
    25%  { transform: rotate(-5deg) translateY(-1.2%); }
    55%  { transform: rotate(calc(-5deg * -0.5)) translateY(-0.6%); }
    80%  { transform: rotate(calc(-5deg * 0.2)) translateY(-0.3%); }
    100% { transform: rotate(0deg) translateY(0%); }
  }




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

}

.menu-item:hover .uline,
.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: underline-swap 1.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

/* Definice animace */
@keyframes underline-swap {
  0% {
    background-size: 100% var(--uline-thickness);
    background-position: 100% 100%;
  }
  49% {
    background-size: 0 var(--uline-thickness);
    background-position: 100% 100%;
  }
  50% {
    background-size: 0 var(--uline-thickness);
    background-position: 0 100%;
  }
  100% {
    background-size: 100% var(--uline-thickness);
    background-position: 0 100%;
  }
}

.uline.dvapix {
  --uline-thickness: 2px;
  background-size: 100% var(--uline-thickness);
}

.uline.dvapix:hover {
   background-size: 0 var(--uline-thickness);
}



.header { position:relative; height:100vh; padding-top:36px; overflow:hidden; z-index:100 }

.logo { position:relative; float:left; z-index:10000 }
.logo img { float:left; width:100% }
.menu { position:absolute;  left:50%; color:#0B34DE; z-index:100}
.menu-item { float:left; cursor:pointer; margin-right:16px; padding:12px 20px; outline: none; -webkit-tap-highlight-color: transparent }
.social { position:absolute; right:30px; z-index:100 }
.social a { float:left; }


.hamburger		{ display:none; position:relative; float:right;  width:40px; height:16px; margin-top:4px; cursor:pointer; z-index:10000;
				  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:#0B34DE; 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; }
.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;}


.hamburger.open span:nth-child(1) { top: -6px; left: 6px; transform: rotate(45deg);}
.hamburger.open span:nth-child(2) { width: 0%; opacity: 0; }
.hamburger.open span:nth-child(3) { top: 22px; left: 6px; transform: rotate(-45deg);}



.header-text { position:absolute; bottom:80px; width: calc(100% - 40px); max-width: 802px; }


.medailonky { position:relative; max-width:994px; margin:auto }

.medailonek { width:calc(100% - 40px); max-width:480px; display:inline-block; cursor:pointer; outline: none; -webkit-tap-highlight-color: transparent;
			perspective:1000px;  }
.medailonek img { width:100%; float:left; box-shadow: 0px 30px 10px -20px rgba(0,0,0,0.2);  }


  :root { --card-w: 360px; --card-r: 12px; --dur: 420ms; }

  .card__inner {
    position:relative; width:100%; aspect-ratio:1;
    transform-style:preserve-3d;
    transition: transform var(--dur) cubic-bezier(.2,.7,.2,1);
    transform: rotateZ(-2deg);
    
  }
  
  .filter { position:absolute; width:100%; height:100%; 
  			background: linear-gradient(225.03deg, rgba(0, 0, 0, 0) 50.07%, rgba(0, 0, 0, 0.4) 100.13%);   }  
  .filter2 { background: linear-gradient(134.78deg, rgba(0, 0, 0, 0) 49.98%, rgba(0, 0, 0, 0.4) 100.19%); }
  
  .face { position:absolute; inset:0; backface-visibility:hidden; }

  .back { background-color: #EAEAE8; color:#363636; transform: rotateY(180deg);  }
  .medailonek.is-open .card__inner { transform: rotateZ(0deg) rotateY(180deg) scale(1.03); }

  @media (prefers-reduced-motion: reduce) { .card__inner { transition-duration:0ms; } }
  
  
.medailonek-bara { position:absolute; top:-10px; left:0; transform:rotate(-6deg); z-index:10 }
.medailonek-hanka { float:right; margin-top:140px; transform:rotate(6deg); }

.medailonek-jmeno { position:absolute; left:20px; bottom:20px; color:#fff; font-size:40px; }
.medailonek-hanka .medailonek-jmeno { left:initial; right:16px; }



.medailonek-plus { position:absolute; bottom:30px; right:30px; width:42px; height:42px; }
.medailonek-plus-line { position:absolute; top:50%; left:0; width:42px; height:2px; background-color:#fff;
					transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1); }
.medailonek-plus-line1 { transform:rotate(90deg); }
.medailonek-plus-hanka { left:30px; right:auto;  }


.medailonek-hide-jmeno { font-size:40px; position:absolute; top:32px; left:32px;  }
.medailonek-hide-text { position:absolute; bottom:32px; left:32px; width:calc(100% - 64px); }
.medailonek-hide-text.font20 { letter-spacing:0; }

.info { position:relative; float:left; width:100%; margin-top:100px;
		outline: none; -webkit-tap-highlight-color: transparent }
.info-left { position:absolute; bottom:0; width:calc(50% - 100px) }
.info-right { position:relative; float:right; width:calc(50% - 30px); min-height:600px; margin-right:30px; }
.info-right-inner { position:absolute; bottom:0; width:100%; padding:32px 0 32px 0; cursor:pointer;
					border-top:dotted 2px #FF3D00; border-bottom:dotted 2px #FF3D00 } 
.info-right ul { float:right; width:calc(100% - 32px); max-width:670px; margin-top:36px; margin-bottom:32px }
.info-right ul li { list-style: none; text-indent: -25px; margin-top:16px}
.info-right ul li:before { content:"·"; font-size:40px; vertical-align:middle; padding-right:16px; }
.info-right-hide { display:none; }


.lisime { max-width:200px }

.info-close { position:absolute; top:50px; right:30px; width:42px; height:42px; }
.info-close-line { position:absolute; top:50%; left:-3px; width:48px; height:2px; background-color:#FF3D00;
					transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1); }
.info-close-line1 { transform:rotate(90deg); }
.info-close.active .info-close-line1 { transform:rotate(45deg); }
.info-close.active .info-close-line2 { transform:rotate(-45deg); }

.footer { padding:300px 0 40px 0; background: linear-gradient(0deg,rgba(255, 230, 222, 1) 0%, rgba(245, 245, 245, 1) 100%); }

.footer a { display:inline-block; margin-top:12px }

.footer-text { text-align:center; max-width:340px; margin:auto }

.social-footer { margin-top:32px}
.social-footer a { border:0}



.footer-img img { width:100%; max-width:200px; margin-top:60px }
.footer-link { float:left; margin-right:24px; cursor:pointer; }


/* Cookies */
.about-cookies-left  { float:left;  }
.about-cookies      { position:absolute; bottom:0; cursor:pointer; }


.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: #12110D; color:#FEF7E7; padding:24px 24px; text-align: center; overflow:hidden; box-shadow: 0 10px 30px rgba(2,2,3,.28); }
.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:40px; padding-right:40px; max-width:902px; }
.gdpr-text a		{ color: #FEF7E7; border-bottom:1px solid #FEF7E7; }
.gdpr .button 		{ color: #FEF7E7; margin-left:12px; cursor:pointer; padding: 0;  text-shadow:none;
					 text-transform:uppercase; font-weight: 600; }


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

.gdpr-nastaveni 	{ float:left; border-bottom:solid 2px #FEF7E7; cursor:pointer; margin-top:30px }
.gdpr-odmitnout		{ margin-right:24px; }

.overlay		{ display:none; position:fixed; width:100%; height:100vh; 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:#12110D;
					  color:#FEF7E7; 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; margin-top:16px; cursor:pointer; z-index:10000;
				  	  transform: rotate(0deg); transition: .5s ease-in-out; pointer-events:auto; } 
.gdpr-info-close span { position:absolute; display:block; height:2px; width:100%; background:#FEF7E7; 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: 0; left: 3px; transform: rotate(45deg);}
.gdpr-info-close span:nth-child(2) { top: 0; left: 3px; transform: rotate(-45deg);}
.gdpr-info hr		{ background:#FEF7E7; margin-top:10px; height:1px }
.gdpr-info-nadpis	{ margin-top:20px;  }

.gdpr-subnadpis		{ margin:30px 0 20px 0 }
.gdpr-info-uvod-text{ margin:24px 70px 30px 0; }
.gdpr-info-polozka	{ background: #12110D; border-bottom:1px solid #FEF7E7; border-top:1px solid #FEF7E7; 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.svg?rand=1); 
													  background-size:96px 24px; outline: none;  } 
.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}
.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: #FEF7E7;}
.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:#12110D; text-align:center; }

.gdpr-info .button {  margin-right:12px; cursor:pointer; padding:0; text-shadow:none; color:#FEF7E7 }

.gdpr-prijmout2	{ background:#FEF7E7; border:solid 1px #FEF7E7; color:#fff; margin-left:12px;}
.gdpr-potvrdit	{ float:none; display:inline-block; font-weight: 600;  }






