#menu2  {
  z-index: 2;
  position:relative;
}
.reset  {
	clear:both;
}
#menu-bar {
  width: 45px;
  margin: 0;
  cursor: pointer;
  position:relative;
  right:0;
  top:12px;
  display:none;
}
.mytablecontainer {
	max-width:100vw;
	overflow:auto;
	width:100%;
}
.mytable
{
	width:100%;
}
.mytable tr
{
	padding:0;
	margin:0;
}
.mytable td {
	padding:7px;
}
.oddtr
{
	background-color:#EFF1F1;
}
.eventr
{
	background-color:#F8F8F8;
}
.trover
{
	background-color:#dbe7f0;
}
.trclick
{
	background-color:#dbe7f0;
}
#cookiesinfo a {
	color:#000;
}
#reservovatbutton {
	text-align:center;
}
#reservovatbutton i {
	margin-right:10px;
}
#reservovatbutton a {
	background-color:#84C7D0;
	color:#000000;
	font-weight:bold;
	padding:15px;
	margin-top:27px;
	padding-left:65px;
	padding-right:65px;
	display:inline-block;
	text-decoration:none;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	font-size:18px;
}
#reservovatbutton a:hover {
	background-color:#9297C4;
}
.bar {
  height: 5px;
  width: 100%;
  background-color: #fff;
  display: block;
  border-radius: 5px;
  transition: 0.3s ease;
}
#user img {
	max-width:150px;
	-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
#bar1 {
  transform: translateY(-4px);
}

#bar3 {
  transform: translateY(4px);
}

/*cookies*/
#youtubex {
	max-width:1100px;
	display:flex;
	align-items:center;
	margin:auto auto;
}
.video-container {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
}
.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.video-placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #4a2d1b;
	color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 10px;
}
.video-placeholder p {
	margin-bottom: 1rem;
	font-size: 16px;
}
.video-placeholder button {
	background: white;
	color: #4a2d1b;
	border: none;
	padding: 0.5rem 1rem;
	font-size: 14px;
	border-radius: 4px;
	cursor: pointer;
}
.video-placeholder button:hover {
	background-color:#7bc74d;
	color:#fff;
}
.video-placeholder a {
	color:#fff;
	text-decoration:underline;
}
.video-box {
	width: 100%;
	height: 85vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #000;
	overflow: hidden;
}
.video-box video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: top center;
	max-width: 1080px;
	max-height: 1920px;
}
.video-box-landscape {
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: 100vh;
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.video-box-landscape video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.map-container {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
}
.map-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.map-placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #4a2d1b;
	color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 10px;
	font-size: 16px;
}
.map-placeholder button {
	background: white;
	color: #4a2d1b;
	border: none;
	padding: 0.5rem 1rem;
	font-size: 14px;
	border-radius: 4px;
	cursor: pointer;
}
.map-placeholder button:hover {
	background-color: #7bc74d;
	color: #fff;
}
.overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	background: rgba(0, 0, 0, 0.4);
	z-index: 100;
	display: flex;
	justify-content: center;
	align-items: center;
}
#cookie-set {
	color:#4a2d1b;
	font-size:22px;
	font-weight:bold;
}
.cookie-popup {
	background: white;
	padding: 2rem;
	border-radius: 10px;
	max-width: 600px;
	width: 96%;
	position: relative;
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
	font-size:14px;
}
.cookie-popup strong {
	color:#4a2d1b;
	font-size:16px;
	font-weight:normal;
}
.cookie-popup button#saveCookieSettings {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	cursor:pointer;
	font-size:14px;
	transition: all 0.9s ease;
	background-color: #7bc74d;
	padding-bottom: 10px;
	padding-right: 15px;
	padding-left: 15px;
	padding-top: 10px;
	color: #fff;
	border:0;
}
.cookie-popup button#saveCookieSettings:hover {
	background-color:#4a2d1b;
}
.close-btn {
	position: absolute;
	top: 8px;
	right: 12px;
	background: transparent;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: #fff;
	background-color:#4a2d1b;
	padding: 4px 8px;
	border-radius:4px;
	line-height:1;
}
#cookie-banner {
	position: fixed;
	bottom: 0;
	width: 100%;
	background-color: #4a2d1b;
	color: white;
	padding: 1rem;
	text-align: center;
	opacity: 0;
	transform: translateY(100%);
	transition: opacity 0.5s ease, transform 0.5s ease;
	z-index: 9999;
	font-size:14px;
}
#cookie-banner p {
	padding-left:100px;
	padding-right:100px;
}
#cookie-banner a, #cookie-banner span {
	color:#fff;
	text-decoration:underline;
}
#cookie-banner a:hover, #cookie-banner span:hover {
	color:#d9b180;
	cursor:pointer;
}
#cookie-reopen:hover {
	cursor:pointer;
	text-decoration:underline;
}
#cookie-banner.show {
	opacity: 1;
	transform: translateY(0);
}
#cookie-banner button {
	background: white;
	color: #4a2d1b;
	border: none;
	padding: 0.5rem 1rem;
	margin-left: 1rem;
	cursor: pointer;
	border-radius: 4px;
	font-size:14px;
	margin-bottom:10px;
}
#cookie-banner button:hover {
	background-color:#d9b180;
	color:#000;
}
.fade-in-circle-mobile {
	display:none;
}
.fade-in-circle img {
	position:absolute;
	left:15px;
	bottom:15px;
	height:45px;
}
.fade-in-circle {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100px;
	height: 100px;
	background: #4a2d1b;
	border-top-right-radius: 140px;
	opacity: 0;
	z-index:10000;
	animation: fadeIn 1s ease-out 1.5s forwards;
	cursor:pointer;
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}
.mytablecontainer {
	max-width:100vw;
	overflow:auto;
	width:100%;
}
.mytable
{
	width:100%;
}
.mytable tr
{
	padding:0;
	margin:0;
}
.mytable td {
	padding:7px;
}
.oddtr
{
	background-color:#EFF1F1;
}
.eventr
{
	background-color:#F8F8F8;
}
.trover
{
	background-color:#dbe7f0;
}
.trclick
{
	background-color:#dbe7f0;
}
/*cookies*/


.menu-bg, #menu {
  top: 0;
  left: 0;
  position: absolute;
  
}

.menu-bg {
  z-index: 1;
  width: 800px;
  height: 600px;
}

.change {
  display: block;
}

.change .bar {
  background-color: white;
}

.change #bar1 {
  transform: translateY(4px) rotateZ(-45deg);
}

.change #bar2 {
  opacity: 0;
}

.change #bar3 {
  transform: translateY(-6px) rotateZ(45deg);
}

.change-bg {
  width: 520px;
  height: 460px;
  transform: translate(-60%,-30%);
  
}
#mobilmenu {
	position:fixed;
	inset:0;
	z-index:10;
	width:100%;
	height:100vh;
	height:100dvh;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	background-color:#4a2d1b;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:translateY(14px);
	transition:opacity .4s ease, transform .4s ease, visibility .4s ease;
}
#mobilmenu.show {
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translateY(0);
}
#mobilmenu div {
	width:100%;
	max-height:100%;
	box-sizing:border-box;
	padding:16px 0;
	overflow-y:auto;
	text-align:center;
}
#mobilmenu div a {
	display:inline-block;
	color:#fff;
	font-size:20px;
	text-decoration:none;
}
#mobilmenu div p { margin:16px 0; }
#mobilmenu div a:hover {
	text-decoration:underline;
}
#mobilmenu .mobile-language-row {
	display:flex;
	justify-content:center;
	align-items:center;
	gap:16px;
	margin-top:28px;
}
#mobilmenu .mobile-language-row a { line-height:0; }
#mobilmenu .mobile-language-row img { display:block; width:38px; height:auto; }
html.mobile-menu-open,
body.mobile-menu-open { overflow:hidden; overscroll-behavior:none; }
#menu-bar[role="button"] { user-select:none; }
#mobilmenu div p strong {
	font-size:35px;
	color:#fff;
	margin-bottom:38px;
	display:block;
	margin-left:10px;
	margin-right:10px;
}




.animated.standby {
  -webkit-animation: none !important;
  -o-animation: none !important;
  animation: none !important;
  visibility: hidden;
}
html {
  scroll-behavior: smooth;
}
* {
	font-family: "Roboto", serif;
}
body {
	margin:0;
	padding:0;
}
/* Reserve the hero's height before the slideshow script initializes. */
.hero-spacer { height:100vh; height:100svh; }
body #slideshow {
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  left:0;
  width:100%;
  height:100vh;
  height:100svh;
}
.obal {
	max-width:1100px;
	margin:auto auto;
	padding-left:20px;
	padding-right:20px;
}
#menu {
	position:fixed;
	width:100%;
	top:0;
	background-color:#160c05;
	padding-top:14px;
	padding-bottom:14px;
	z-index:10;
	padding-top: 25px;
  z-index: 100;
	padding-bottom: 20px;
}
.scroll-target {
  scroll-margin-top: 50px;
}
#menu img {
	height:35px;
	filter: brightness(0) saturate(100%) invert(17%) sepia(24%) saturate(1436%) hue-rotate(344deg) brightness(93%) contrast(91%);
	margin-right:15px;
}
#menu a {
	color:#fff;
	text-decoration:none;
}
#menu a:hover {
	color:#ff6666;
}
#menu div a {
	margin-left:14px;
	margin-right:14px;
}
#home {
	display:flex;
	align-items:center;
}
#home i {
	font-size:30px;
	margin-right:10px;
}
#menu .obal {
	display:flex;
	justify-content:space-between;
}
#menu .obal div.desktopmenu {
	display:flex;
	align-items:center
}
#centrovanietext {
	text-align:center;
	display:flex;
	flex-direction:column;
}
#centrovanietext .standardtext {
	text-align:center;
}
#moreinfo {
	text-align:center;
	background-color:#ff6666;
	max-width:180px;
	margin:auto auto;
	color:#000;
	padding:10px;
	padding-left:25px;
	font-size:17px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
}
#moreinfo a {
	color:#000;
	text-decoration:none;
}
#moreinfo:hover {
	cursor:pointer;
	color:#fff;
	text-decoration:none;
	background-color:#e85b5b;
}
#cover {
	background-image:url(bg.webp?i=20262);
	height:100%;
	display:flex;
	justify-content:center;
	flex-direction:column;
	text-align:center;
	position:absolute;
	top:0;
	width:100%;
	height:100vh;
}
#slogan {
	font-size:67px;
	font-weight:400;
	max-width:860px;
	margin:auto auto;
	margin-bottom:25vh;
	color:#fff;
}
#sloganzacat a {
	color:#000;
	padding:10px;
	padding-left:25px;
	font-size:17px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	padding-right:25px;
	cursor:pointer;
	text-decoration:none;
}





#onas {
	color:#292936;
	padding-bottom:20px;
	padding-top:20px;
}
h1 {
	color:#422716;	
	font-size:58px;
	text-align:center;
	font-weight:500;
	padding-top:20px;
	padding-bottom:35px;
}
#mapa {
	max-width:1200px;
	margin:auto auto;
	position:relative;
}
#fullmap {
	width:100%;
	aspect-ratio: 1500 / 730;
}
#tercik {
	position:absolute;
	width:5%;
	top:48%;
	left:32%;
	z-index:2;
}
.ikona {
	text-align:center;
	margin-top:100px;
}
.ikona img {
	height:60px;
	margin:auto auto;
	filter: brightness(0) saturate(100%) invert(100%) sepia(99%) saturate(16%) hue-rotate(210deg) brightness(105%) contrast(100%);
}
h2 {
	margin:0;
	padding:0;
	color:#4a2d1b;
	font-size:58px;
	text-align:center;
	font-weight:500;
	padding-top:40px;
}
h2 span {
	color:#ffb400;
}
#vybavenie {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
#vybavenie div {
  flex: 1;
  background: #f2f4f6;
  padding: 20px;
  box-sizing: border-box;
}


#referencieodkaz {
	text-align:center;
	margin-top:75px;
}
#referencieodkaz a {
	background-color:#ffb400;
	color:#fff;
	padding:25px;
	display:inline-block;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	text-decoration:none;
}
#referencieodkaz a:hover {
	background-color:#0d0d0d;
}
.referencia {
	margin:0;
	padding:0;
	color:#ffb400;
	font-size:25px;
	text-transform:uppercase;
	text-align:center;
	padding-top:75px;
}
.subtitle {
	margin:0;
	padding:0;
	color:#999999;
	font-size:19px;
	text-align:center;
	text-transform:uppercase;
	margin-top:10px;
	margin-bottom:47px;
}
.standardtext {
	max-width:860px;
	text-align:justify;
	margin:auto auto;
	line-height:30px;
	font-weight:400;
  font-size: clamp(20px, 1.2vw, 26px);
	margin-bottom:25px;
}
#h2onas {
	font-size:45px;
	margin-bottom:17px;
}
#kontakt a {
	color:#4a2d1b;
	text-decoration:none;
}
#kontakt a:hover {
	color:#ffb400;
}
.ikonky {
	display:flex;
	align-items:center;
	margin-bottom:10px;
	margin-top:10px;
}
.ikonky i {
	font-size:38px;
	color:#b99573;
}
.ikonky span {
	width:57px;
}
#mapaiframe {
	border:0;
	width:100%;
	display:block;
	margin-top:50px;
}
.polozka {
	flex: 1 1 calc(50% - 20px);
	aspect-ratio: 1;
	text-align:center;
	display:flex;
	flex-direction:row;
	align-items:center;
	transition: transform 0.3s ease;
	box-sizing: border-box;
	padding:20px;
	background-color:#151515;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	height:100%;
}
.polozka:hover {
	background-color:#0d0d0d;
}
.polozka h3 {
	color:#ffb400;
	font-weight:400;
	font-size:19px;
}
.polozka p {
	font-weight:300;
}
#polozky {
	display: flex;
	flex-wrap: wrap;
	gap:20px;
}
footer {
	background-color:#160c05;
}
footer p {
	color:#fff8f6;
	margin:0;
	padding-top:27px;
	padding-bottom:27px;
	font-weight:300;
	text-align:center;
	font-size:13px;
}
.back-to-top {
	position:fixed;
	bottom:2em;
	z-index:15;
	right:0;
	text-decoration:none;
	color:#fff;
	font-weight:bold;
	background-color:#4a2d1b;
	padding:1em;
	display:none;
}
.back-to-top:hover {	
	background-color:rgba(135, 135, 135);
	color:#000000;
}



.grid-container {
display: flex;
  flex-wrap: wrap; /* Allow wrapping to multiple rows */
  justify-content: center; /* Center items in the row */
  gap: 20px; /* Add spacing between items */
  padding: 20px;
}


.grid-container .item {
  flex: 1 1 calc((100% - 80px) / 3); /* Calculate width for up to 5 items */
  max-width: calc((100% - 80px) / 3); /* Ensure no more than 5 items */
  aspect-ratio: 4 / 3;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease-in-out;
}


.grid-container img {
aspect-ratio: 4 / 3;
object-fit: cover;
}
.grid-container img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease-in-out;
}

.grid-container img:hover {
  transform: scale(1.05);
}

/* Responsive photo gallery */
.gallery-grid {
  width:min(1080px, calc(100% - 40px));
  margin:0 auto 55px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap:16px;
}
.gallery-card {
  position:relative;
  display:block;
  aspect-ratio:4 / 3;
  overflow:hidden;
  border-radius:12px;
  background:#eee8e3;
  box-shadow:0 5px 18px rgba(44,30,20,.14);
}
.gallery-card img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease, filter .45s ease;
}
.gallery-card__overlay {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:42px;
  font-weight:300;
  background:rgba(35,24,17,0);
  opacity:0;
  transition:opacity .25s ease, background .25s ease;
}
.gallery-card:hover img,
.gallery-card:focus-visible img { transform:scale(1.06); filter:brightness(.78); }
.gallery-card:hover .gallery-card__overlay,
.gallery-card:focus-visible .gallery-card__overlay { opacity:1; background:rgba(35,24,17,.12); }
.gallery-card:focus-visible { outline:3px solid #a65a31; outline-offset:3px; }
@media (max-width:640px) {
  .gallery-grid { width:calc(100% - 32px); grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
}
@media (min-width:641px) and (max-width:760px) {
  .gallery-grid { width:calc(100% - 32px); }
}
.centrovanie {
	margin-top:70px;
	text-align:center;
}
.referencie {
	background-color:#2c2c2c;
	margin:auto auto;
	padding:17px;
}
.referencie div {
	display:flex;
	align-items:center;
	text-align:center;
}
.referencie div strong {
	color:#ffb400;
	font-size:19px;
}





.container {
            display: flex;
            flex-direction: column;
            max-width: 2200px;
            margin: 20px auto;
            gap: 50px;
        }
        .row {
		
            display: flex;
            width: 100%;
            height: 600px;
        }
        .row:nth-child(even) {
            flex-direction: row-reverse; /* Striedanie poradia */
        }
        .image, .text {
            width: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
			background-color: #fff8f6;
			

        }
		.image {
			background-color:#323232;
		}
		.text p strong {
			display:block;
			margin-bottom:17px;
			font-size:23px;
			font-weight:500;
			color:#4a2d1b;
		}
        .image img {
		width:100%;
        height: 100%;
		object-fit: cover;
        }
        .text div {
            
            text-align: center;
            font-size: 18px;
			padding:25px;
		webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display:block;
	color:#666666;
        }
.circle {
            width: 100px;
            height: 100px;
            background-color: #ff6666;
            color: #000;
            font-size: 18px;
            font-weight: bold;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
            text-align: center;
			float:right;
            transform-style: preserve-3d;
            animation: flipAnimation 3.7s infinite;
        }

        @keyframes flipAnimation {
            0%, 90% { transform: rotateY(0deg); }
            95% { transform: rotateY(180deg); } /* R?chle otocenie */
            100% { transform: rotateY(0deg); }
        }



.circle2 {
            width: 100px;
            height: 100px;
            background-color: #ff6666;
            color: #000;
            font-size: 18px;
            font-weight: bold;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
            text-align: center;
			float:right;
            transform-style: preserve-3d;
            animation: flipAnimation 2.5s infinite;
        }

        @keyframes flipAnimation {
            0%, 90% { transform: rotateY(0deg); }
            95% { transform: rotateY(180deg); } /* R?chle otocenie */
            100% { transform: rotateY(0deg); }
        }
		
		
.circle3 {
            width: 100px;
            height: 100px;
            background-color: #ff6666;
            color: #000;
            font-size: 18px;
            font-weight: bold;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
            text-align: center;
			float:right;
            transform-style: preserve-3d;
            animation: flipAnimation 4.7s infinite;
        }

        @keyframes flipAnimation {
            0%, 90% { transform: rotateY(0deg); }
            95% { transform: rotateY(180deg); } /* R?chle otocenie */
            100% { transform: rotateY(0deg); }
        }


@media screen and (max-width:1024px) 
{

#slogan {
	font-size:38px;
	padding-left:10px;
	padding-right:10px;
}
h2 {
	font-size:38px;
}
.polozka {
	flex: 0 0 auto;
	width:100%;
}

.grid-container .item {
  flex: 1 1 calc((100% - 40px) / 3); /* Calculate width for up to 5 items */
  max-width: calc((100% - 40px) / 3); /* Ensure no more than 5 items */
  aspect-ratio: 4 / 3;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease-in-out;
}


}

@media screen and (max-width:768px) 
{
.cover-jazyky {
	display:none;
}
#cookie-banner {
	left: 50%;
	width: calc(100% - 20px);
	transform: translate(-50%, 100%);
}
#cookie-banner.show {
	transform: translate(-50%, 0);
}
#cookie-banner p {
	padding-left:10px;
	padding-right:10px;
}
#menu {
  padding-top: 10px;
  padding-bottom: 10px;
}
.grid-container {
	padding:0;
}
h1 {
	font-size:38px;
}
#vybavenie {
	display:block;
}
#vybavenie div {
	 padding: 10px;
	 margin-bottom:20px;
}
#menu-bar {
	display:block;
}
#menu .obal div.desktopmenu {
	display:none;
}
#menu .obal a {
	float:left;

}
#menu .obal div#menu-bar {
	float:right;
}

#menu .obal {
	display:block;
	text-align:center;
}
#home img {

}
.grid-container .item {
  flex: 1 1 calc((100% - 40px) / 3); /* Calculate width for up to 5 items */
  max-width: calc((100% - 40px) / 3); /* Ensure no more than 5 items */
 aspect-ratio: 4 / 3;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease-in-out;
}

}

@media screen and (max-width:640px) 
{


.ikonky i {
	display:block;
	margin-bottom:10px;
}
.ikonky {
	display:block;
	margin-bottom:40px;
}
#menu div a {
	padding-left:0;
}
#menu #sloganzacat a {
	color:#000;
	padding:10px;
	padding-left:10px;
	font-size:12px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	padding-right:10px;
	cursor:pointer;
	text-decoration:none;
}

.container {
            display: block;
            flex-direction: column;
            max-width: 2200px;
            margin: 20px auto;
            gap: 0px;
        }
        .row {
		
            display: block;
            width: 100%;
            height: auto;
			position:relative;
			
        }
        .row:nth-child(even) {
            flex-direction: row-reverse; /* Striedanie poradia */
        }
        .image, .text {
            width: 100%;
            display: block;
            align-items: center;
            justify-content: center;
			background-color: #f0f0f0;
			

        }
		.text {
			padding-bottom:40px;
		}
        .image img {
		width:100%;
          height: auto;
		  display:block;
			object-fit: cover;
        }
        .text div {
            text-align: center;
            font-size: 16px;
			padding:25px;
		webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	display:block;
        }
.text div.circle, .text div.circle2, .text div.circle3 {
	margin-bottom:0px;
	position:absolute;
	top:5px;
	right:5px;
	text-align:center;
	width:50px;
	height:50px;
	font-size:10px;
	padding:0;
	padding-top:20px;
}
#centrovanietext {
	display:block;
	clear:both;
	margin-top:80px;
}

	
		
		
.grid-container .item {
  flex: 1 1 calc((100% - 40px) / 2); /* Calculate width for up to 5 items */
  max-width: calc((100% - 40px) / 2); /* Ensure no more than 5 items */
  aspect-ratio: 4 / 3;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease-in-out;
}

}
/* Menu palette and call-to-action placement */
#menu a { color:#fff; font-size: 20px; }
#menu a:hover { color:#fff; opacity:.72; }
#menu img { filter: brightness(0) saturate(100%) invert(17%) sepia(24%) saturate(1436%) hue-rotate(344deg) brightness(93%) contrast(91%); }
#menu .obal #sloganzacat { margin:0 0 0 auto; order:3; }
#menu .obal .desktopmenu { order:2; }
#menu #sloganzacat a { background-color:#4a2d1b; color:#fff; font-size: 16px; }
#menu #sloganzacat a {
  position:relative;
  display:inline-block;
  overflow:hidden;
  isolation:isolate;
  transition:color .35s ease;
}
#menu #sloganzacat a::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-80% -15%;
  background:#d9b180;
  transform:translateX(-115%) skewX(-45deg);
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
}
#menu #sloganzacat a:hover::before,
#menu #sloganzacat a:focus-visible::before { transform:translateX(0) skewX(-45deg); }
#menu #sloganzacat a:hover,
#menu #sloganzacat a:focus-visible { background-color:#4a2d1b; color:#fff; opacity:1; }
#mobilmenu { background-color:#4a2d1b; }
#menu .bar { background-color:#ffffff; }
@media screen and (max-width:768px) {
  #menu .obal { display:flex; align-items:center; text-align:left; }
  #menu .obal #sloganzacat { margin-left:auto; }
}
#menu .obal #sloganzacat { align-self:center; }
#cover { align-items:flex-start; justify-content:center; }
#slogan-panel {
  box-sizing:border-box;
  width:50vw;
  max-width:760px;
  padding:34px clamp(24px, 5vw, 76px);
  margin:0;
  text-align:left;
  background:rgba(255,255,255,.3);
  border-radius:0 18px 18px 0;
  backdrop-filter:blur(3px);
  animation:slogan-panel-enter 1.15s cubic-bezier(.2,.8,.2,1) both;
}
#slogan-panel img {
	width: 100%;
}
#slogan {
  min-height:1.2em;
  margin:0;
  color:#fff;
  font-size:clamp(30px, 5vw, 67px);
  line-height:1.16;
  font-weight:500;
  text-align:left;
  text-shadow:0 2px 12px rgba(0,0,0,.22);
}
#slogan::after {
  content:"";
  display:inline-block;
  height:.9em;
  margin-left:5px;
  border-right:2px solid currentColor;
  vertical-align:-.08em;
  animation:typewriter-caret .8s steps(1,end) infinite;
}
@keyframes slogan-panel-enter {
  from { opacity:0; transform:translateX(-100%); }
  to { opacity:1; transform:translateX(0); }
}
@keyframes typewriter-caret { 50% { opacity:0; } }
@media (max-width:768px) {
  #slogan-panel { width:90vw; padding:25px 24px; }
  #slogan { font-size:clamp(30px, 8vw, 48px); }
}
@media (prefers-reduced-motion:reduce) {
  #slogan-panel { animation:none; }
  #slogan::after { animation:none; }
}#slogan-panel { display:flex; align-items:center; }
@media (max-width:768px) { #slogan-panel { height:190px; } }#slogan { text-transform:uppercase; font-weight:800; }
#slogan-subtitle {
  margin:16px 0 0;
  color:#fff;
  font-size:clamp(16px, 1.65vw, 22px);
  line-height:1.55;
  font-weight:400;
  font-style:italic;
  text-align:left;
  text-shadow:0 2px 10px rgba(0,0,0,.2);
  opacity:0;
  animation:slogan-subtitle-fade 1.2s ease-out 2.7s forwards;
}
@keyframes slogan-subtitle-fade {
  from { opacity:0; }
  to { opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
  #slogan-subtitle { opacity:1; animation:none; }
}
#slogan-panel { flex-direction:column; align-items:flex-start; justify-content:center; }

#slogan-panel { justify-content:flex-end; }

#cover { box-sizing:border-box; padding-top:63px; justify-content:flex-end; }
#slogan-panel { margin-bottom:10vh; }
#slogan-subtitle { animation:none; }
#slogan-subtitle.is-visible { animation:slogan-subtitle-fade 1.2s ease-out forwards; }
#slogan { display:grid; }
#slogan::before { content:attr(data-text); visibility:hidden; grid-area:1 / 1; }
#slogan .typewriter-text { grid-area:1 / 1; }
#slogan::after { content:none; }
#slogan .typewriter-text::after { content:""; display:inline-block; height:.9em; margin-left:5px; border-right:2px solid currentColor; vertical-align:-.08em; animation:typewriter-caret .8s steps(1,end) infinite; }
@media (prefers-reduced-motion:reduce) { #slogan .typewriter-text::after { animation:none; } }#slogan-subtitle {
  display:block;
  margin:16px 0 0;
  padding:0;
  color:#fff;
  font-family:Roboto, serif;
  font-size:clamp(16px, 1.65vw, 22px);
  line-height:1.55;
  font-weight:400;
  font-style:italic;
  text-align:left;
  text-shadow:0 2px 10px rgba(0,0,0,.2);
  opacity:0;
  animation:none;
}
#slogan-subtitle.is-visible { animation:slogan-subtitle-fade 1.2s ease-out forwards; }
#slogan-support {
  margin:10px 0 0;
  color:#fff;
  font-size:clamp(16px, 1.65vw, 22px);
  line-height:1.55;
  font-style:italic;
  text-align:left;
  text-shadow:0 2px 10px rgba(0,0,0,.2);
}
h2.section-heading {
  margin:0;
  padding:64px 0 48px;
  color:#422716;
  font-family:Roboto, serif;
  font-size:clamp(42px, 5.5vw, 68px);
  text-align:center;
  font-weight:500;
}
.scroll-target { scroll-margin-top:85px; }
@media screen and (max-width:1024px) { h2.section-heading { font-size:clamp(40px, 5.5vw, 58px); } }#slogan-support { opacity:0; transition:opacity 1.2s ease-out; }
#slogan-support.is-visible { opacity:1; }
@media (prefers-reduced-motion:reduce) {
  #slogan-subtitle, #slogan-support { opacity:1; animation:none; transition:none; }
}h2.section-heading { font-size:clamp(40px, 5.5vw, 68px); }
.scroll-target { scroll-margin-top:100px; }
html { scroll-padding-top:100px; }
html, body { overflow-x: clip; }

/* Reveal product rows smoothly without moving them. */
@media (min-width: 641px) and (prefers-reduced-motion: no-preference) {
  .container .row {
    opacity: var(--row-opacity, 0);
    transition: opacity 180ms linear;
  }
}
@media (max-width: 640px) and (prefers-reduced-motion: no-preference) {
  .container .row {
    opacity: var(--row-opacity, 0);
    transition: opacity 180ms linear;
  }
}

/* Contact panels */
#kontakt .kontakt-panely {
  width: min(1080px, calc(100% - 40px));
  margin: 36px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}
#kontakt .kontakt-panel {
  min-width: 0;
  box-sizing: border-box;
  border-radius: 0;
  overflow: hidden;
}
#kontakt .kontakt-panel--kontakt img {
	display: block;
	width: 100%;
	max-width: 240px;
	height: auto;
	object-fit: contain;
	margin: 0 auto;
}
#kontakt .kontakt-panel--kontakt {
  padding: 38px 36px;
  border-left: 4px solid #b99573;
  background: #fbfbfb;
  box-shadow: 0 8px 28px rgba(40, 25, 14, .07);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#kontakt .kontakt-panel h3 {
  margin: 4px 0 24px;
  color: #3c281b;
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 500;
}
#kontakt .kontakt-uvod {
  margin: 0;
  color: #a57853;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#kontakt .kontakt-panel .ikonky.standardtext {
  width: 100%;
  max-width: none;
  margin: 0 0 18px;
  text-align: left;
  align-items: center;
  gap: 14px;
  font-size: 16px;
  line-height: 1.6;
}
#kontakt .kontakt-panel .ikonky > span:first-child { flex: 0 0 32px; width: 32px; }
#kontakt .kontakt-panel .ikonky i { font-size: 25px; }
#kontakt .kontakt-hodnota { flex: 1; }
#kontakt .kontakt-panel--predajna {
  background: #f5f1ec;
  display: flex;
  flex-direction: column;
}
#kontakt .predajna-fotka {
  position: relative;
  height: 225px;
  flex: 0 0 225px;
  overflow: hidden;
  background: #e9e1d8;
}
#kontakt .predajna-galeria,
#kontakt .predajna-slide { position: absolute; inset: 0; }
#kontakt .predajna-slide {
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity .45s ease, visibility .45s ease;
}
#kontakt .predajna-slide.is-active { opacity: 1; visibility: visible; }
#kontakt .predajna-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
#kontakt .predajna-foto-otvorit {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  padding: 8px 11px;
  border-radius: 3px;
  color: #fff;
  background: rgba(35, 24, 17, .72);
  font-size: 13px;
  pointer-events: none;
}
#kontakt .predajna-info { padding: 26px 30px 30px; }
#kontakt .predajna-info h3 { margin-bottom: 12px; }
#kontakt .predajna-info > p:not(.kontakt-uvod) { margin: 0 0 18px; color: #65584f; line-height: 1.7; }
#kontakt .kontakt-mapa-odkaz { color: #754d31 !important; font-weight: 600; }
#kontakt .kontakt-mapa-odkaz i { margin-left: 6px; }
#kontakt .kontakt-formular {
  box-sizing:border-box;
  width:min(1080px, calc(100% - 40px));
  margin:28px auto 0;
  padding:30px 34px 32px;
  border-left:4px solid #b99573;
  background:#f5f1ec;
}
#kontakt .kontakt-formular h3 {
  margin:0 0 22px;
  color:#3c281b;
  font-size:clamp(23px, 2.5vw, 30px);
  font-weight:500;
}
#kontakt .kontakt-formular h3.typewriter-heading { display:grid; }
#kontakt .kontakt-formular h3.typewriter-heading::before {
  content:attr(data-text);
  visibility:hidden;
  grid-area:1 / 1;
}
#kontakt .typewriter-heading__text { grid-area:1 / 1; }
#kontakt .typewriter-heading__text::after {
  content:"";
  display:inline-block;
  height:.9em;
  margin-left:4px;
  border-right:2px solid currentColor;
  vertical-align:-.08em;
  animation:typewriter-caret .8s steps(1, end) infinite;
}
@media (prefers-reduced-motion:reduce) {
  #kontakt .typewriter-heading__text::after { animation:none; }
}
#kontakt .kontakt-formular__polia {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
#kontakt .kontakt-formular__pole {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:7px;
  color:#5d4635;
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
}
#kontakt .kontakt-formular__pole--ziadost { grid-column:1 / -1; }
#kontakt .kontakt-formular__honeypot {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}
#kontakt .kontakt-formular__honeypot input { min-height:0 !important; }
#kontakt .kontakt-formular input,
#kontakt .kontakt-formular textarea {
  box-sizing:border-box;
  width:100%;
  border:1px solid #d6c9bc;
  border-radius:0;
  padding:12px 14px;
  background:#fff;
  color:#34271e;
  font:400 15px/1.5 Roboto, sans-serif;
  letter-spacing:normal;
}
#kontakt .kontakt-formular input { min-height:46px; }
#kontakt .kontakt-formular textarea { min-height:130px; resize:vertical; }
#kontakt .kontakt-formular input::placeholder,
#kontakt .kontakt-formular textarea::placeholder { color:#95877c; opacity:1; }
#kontakt .kontakt-formular input:focus,
#kontakt .kontakt-formular textarea:focus { outline:2px solid #b99573; outline-offset:1px; }
#kontakt .kontakt-formular__odoslat {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:20px;
  padding:13px 22px;
  border:0;
  border-radius:0;
  background:#4a2d1b;
  color:#fff;
  font:600 15px Roboto, sans-serif;
  cursor:pointer;
  transition:background-color .2s ease, color .2s ease;
}
#kontakt .kontakt-formular__odoslat:hover,
#kontakt .kontakt-formular__odoslat:focus-visible { background:#d9b180; color:#34271e; }
#kontakt .kontakt-formular__odoslat i { font-size:15px; }
#kontakt .kontakt-formular__odoslat[hidden],
#kontakt .kontakt-formular__odosielanie[hidden] { display:none !important; }
#kontakt .kontakt-formular__odosielanie { display:inline-flex; align-items:center; gap:10px; margin-top:20px; padding:13px 22px; color:#4a2d1b; font:600 15px Roboto,sans-serif; }
#kontakt .kontakt-formular__odosielanie i { font-size:17px; }
#kontakt .kontakt-formular__status { margin:0 0 18px; padding:14px 16px; border-radius:8px; line-height:1.5; }
#kontakt .kontakt-formular__status--success { color:#245b36; background:#eaf5ed; border:1px solid #b9dcc2; }
#kontakt .kontakt-formular__status--error,
#kontakt .kontakt-formular__status--invalid { color:#7b2e27; background:#fff0ed; border:1px solid #e8beb7; }
#kontakt .kontakt-partneri {
  width: min(1080px, calc(100% - 40px));
  margin: 32px auto 0;
  text-align: center;
}
#kontakt .kontakt-partneri h3 {
  margin: 0 0 18px;
  color: #75583f;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
#kontakt .kontakt-partneri__loga {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 16px 24px;
}
#kontakt .kontakt-partneri__logo {
  display: flex;
  min-width: 0;
  height: 72px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  box-sizing: border-box;
  background: #fff;
}
#kontakt .kontakt-partneri__logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
#kontakt .kontakt-partneri__logo--text {
  color: #26445a;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: .04em;
}
#kontakt #mapaiframe {
  display: block;
  width: 100%;
  height: 330px;
  margin: 28px 0 0;
  border: 0;
  border-radius: 0;
}
@media (max-width: 760px) {
  #kontakt .kontakt-panely { width: calc(100% - 32px); grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
  #kontakt .kontakt-panel--kontakt { padding: 30px 24px; }
  #kontakt .predajna-fotka { height: 210px; flex-basis: 210px; }
  #kontakt .predajna-info { padding: 24px; }
  #kontakt .kontakt-formular { width:calc(100% - 32px); padding:24px 20px; }
  #kontakt .kontakt-formular__polia { grid-template-columns:1fr; gap:14px; }
  #kontakt .kontakt-formular__pole--ziadost { grid-column:auto; }
  #kontakt .kontakt-partneri { width: calc(100% - 32px); margin-top: 24px; }
  #kontakt .kontakt-partneri__loga { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #kontakt .kontakt-partneri__logo { height: 64px; padding: 8px 12px; }
  #kontakt .kontakt-partneri__logo--text { font-size: 20px; }
  #kontakt #mapaiframe { width: 100%; height: 280px; margin-top: 18px; }
}

:root {
  --about-text-light: #e1e1e1;
  --about-text-dark: #1c1b1b;
  /* Scroll effect: a higher start position begins earlier; a shorter length changes color faster. */
  --about-color-start-position: 0.45;
  --about-color-scroll-length: 0.55;
}
#menu .desktopmenu > a,
#mobilmenu > div > p > a {
  position:relative;
  display:inline-block;
  padding-bottom:10px;
  text-decoration:none;
}
#menu .desktopmenu > a::after,
#mobilmenu > div > p > a::after {
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:4px;
  background:#d9b180;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
#menu .desktopmenu > a:hover,
#menu .desktopmenu > a:focus-visible { opacity:1; }
#menu .desktopmenu > a:hover::after,
#menu .desktopmenu > a:focus-visible::after,
#mobilmenu > div > p > a:hover::after,
#mobilmenu > div > p > a:focus-visible::after { transform:scaleX(1); }
#mobilmenu > div > p > a:hover { text-decoration:none; }
@media (prefers-reduced-motion:reduce) {
  #menu .desktopmenu > a::after,
  #mobilmenu > div > p > a::after { transition:none; }
}
#o-nas .about-scroll-word,
#produkty-a-sluzby .about-scroll-word { transition:color .12s linear; }

#cover .cover-jazyky {
  position:absolute;
  z-index:8;
  top:160px;
  right:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
#cover .cover-jazyky a { display:block; line-height:0; transition:transform .2s ease, opacity .2s ease; }
#cover .cover-jazyky a:hover,
#cover .cover-jazyky a:focus-visible { transform:translateX(-3px); opacity:.82; }
#cover .cover-jazyky img { display:block; width:36px; height:auto; }
@media (max-width:768px) {
  #cover .cover-jazyky { display:none; }
  #menu .obal #sloganzacat { display:block; order:1; align-self:center; margin:0 auto 0 0; padding:0; }
  #menu .obal #sloganzacat a { display:inline-flex; align-items:center; gap:7px; margin:0; padding:8px 10px; font-size:14px; white-space:nowrap; }
  #menu .obal #menu-bar { order:3; top:0; align-self:center; margin-left:0; }
}
