/* general css ----------------------------------- */
html {
	scroll-behavior:smooth;
	overflow-x: hidden;
}
.lenis.lenis-smooth {scroll-behavior: auto;}
.lenis.lenis-smooth [data-lenis-prevent] {overscroll-behavior: contain;}
.lenis.lenis-stopped {overflow: hidden;}
.lenis.lenis-scrolling iframe {pointer-events: none;}
body {
	overflow: hidden;
	font-size: 16px;
	font-weight: 400;
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	background: #5E616A;
	color: #fff;
}
body::-webkit-scrollbar {width: 6px;}
body::-webkit-scrollbar-track {background: #fff;}
body::-webkit-scrollbar-thumb {
   background-color: #EB212C;
   border: 1px solid #EB212C;
}
img {max-width:100%;}
a, button, img, header, footer, span, strong, ::before, ::after, input {
	transition: all 0.3s ease-in-out;
	outline: none;
}
a {color: #000;}
a:hover {
	color: #000;
	text-decoration: none;
}


.shadow main, .shadow footer {
	filter: blur(4px);
	transform: scale(1.02);
}
.modal-open section, .modal-open footer, .modal-open header {
	filter: blur(4px);
	transform: scale(1.02);
}
section, .container {position: relative;}
.container {max-width: 1300px;}
.landscape, .mobile {display: none !important;}
	@keyframes hovermenu { 
		0% {width: 0;}
		100% {width: 100%;}
	}
.sitebar {
	position: fixed;
	top: 0;
	left: 0;
	background: #009244;
	height: 3px;
	z-index: 30;
}
.btn01 {
	color: #fff;
	background: #EB212C;
	padding: 13px 30px;
	font-size: 16px;
	font-family: "Poppins", sans-serif;
	display: inline-block;
	text-decoration: none;
	border: none;
	margin: 30px 0;
}
.btn01:hover {
	color: #fff;
	background: #009244;
}

/* navigace ----------------------------------- */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 20;
	padding: 20px 0;
}
.scroll-down header {top: -120px;}
.scroll-up header {background: #5E616A;}
.shadow header {top: 0 !important;}
.navbar-nav {
	position: relative;
	z-index: 2;
}
.logo {
	position: absolute;
	width: 230px;
	left: 15px;
	top: 12px;
	z-index: 2;
	display: block;
	image-rendering: auto;
}
header .nav-item {padding: 0 20px;}
header .nav-item:last-child {padding-right: 0;}
header .nav-link {
	color: #6124AA;
	position: relative;
	padding-left: 0 !important;
	padding-right: 0 !important;
	font-size: 16px;
}
header .nav-link:hover, header .nav-link:focus {color: #6124AA;}
header .nav-item .nav-link:hover::before {
	background: #6124AA;
	width: 100%;
	height: 1px;
	bottom: 8px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
header .nav-item {padding: 0 20px;}
header .nav-item:last-child {padding-right: 0;}
header .nav-link {
	color: #fff;
	position: relative;
	padding-left: 0 !important;
	padding-right: 0 !important;
	font-size: 16px;
}
header .nav-link:hover, header .nav-link:focus {color: #fff;}
header .nav-item .nav-link:hover::before {
	background: #fff;
	width: 100%;
	height: 1px;
	bottom: 2px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
.navbar-toggler, .navbar-toggler:focus, .navbar-toggler:hover {
	outline: none;
	box-shadow: none;
	border: none;
	margin-bottom: 20px;
}
.hamburger {
	width: 30px;
	height: 30px;
	position: absolute;
	transition: .5s ease-in-out;
	cursor: pointer;
	right: 10px;
	top: 14px;
	z-index: 2;
}
.hamburger span {
   display: block;
   position: absolute;
   height: 2px;
   width: 100%;
   border-radius: 9px;
   opacity: 1;
   left: 0;
   transform: rotate(0deg);
   transition: .25s ease-in-out;
}
.hamburger span {background: #fff;}
.hamburger span:nth-child(1) {top: 0px;}
.hamburger span:nth-child(2), .hamburger span:nth-child(3) {top: 7px;}
.hamburger span:nth-child(4) {top: 14px;}
.hamburger.open span {height: 2px !important;}
.hamburger.open span:nth-child(1) {
   top: 11px;
   width: 0%;
   left: 50%;
}
.hamburger.open span:nth-child(2) {transform: rotate(45deg);}
.hamburger.open span:nth-child(3) {transform: rotate(-45deg);}
.hamburger.open span:nth-child(4) {
   top: 11px;
   width: 0%;
   left: 50%;
}
.hamburger {
	right: 0;
	top: 12px;
}
.hamburger span:nth-child(4) {
	width: 50%;
	right: 0;
	left: auto;
}
.hamburger:hover span:nth-child(4) {width: 100%;}
.hamburger.open span:nth-child(4), .hamburger.open:hover span:nth-child(4) {width: 0;}

/* content01 ------------------------- */
.content01 {
	height: 100vh;
	overflow: hidden;
}
.content01 video {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	height: auto;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .5;
}
.content01 .container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	padding-top: 10vh;
}
.content01 .col-md-12 span {
	display: block;
	color: #EB212C;
	font-weight: 600;
	font-size: 20px;
}
.content01 .col-md-12 h1 {
	font-weight: 300;
	font-size: 40px;
	margin: 10px 0;
	width: 70%;
}
.content01 .col-md-12 p {
	font-size: 20px;
	margin: 0 0 60px 0;
	padding-left: 30px;
	background: url("../images/ico01.svg") no-repeat center left;
	background-size: 20px auto;
}
.content01 .col-md-12 a {color: #fff;}
.square {
	position: relative;
	background: #EB212C;
}
.square.brick04 {
	background: #009244 url("../images/logo-kovo.svg") no-repeat  top 30px right 30px;
	background-size: 130px auto;
}
.square::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}
.square > div {
	position: absolute;
	font-size: 14px;
	padding: 25px;
	bottom: 0;
}
.square h2 {
	font-size: 22px;
	font-weight: 500;
	margin: 0 0 18px 0;
}
.square p {
	margin: 0;
	line-height: 24px;
	min-height: calc(24px * 4);
}
.square p a {color: #fff;}
.brick01::before, .brick02::before, .brick03::before, .brick04::before {
	content: "";
	background: url("../images/ico02.svg") no-repeat center;
	background-size: auto auto;
	width: 50px;
	height: 50px;
	position: absolute;
	left: 30px;
	top: 40px;
}
.brick02::before {background-image: url("../images/ico03.svg");}
.brick03::before {background-image: url("../images/ico04.svg");}
.brick04::before {background-image: url("../images/ico05.svg");}

/* content02 ------------------------- */
.content02 {padding: 140px 0 300px 0;}
.content02 .col-md-5 {
	position: relative;
	padding-bottom: 160px;
}
.content02 .col-md-11 {position: relative;}
.content02 h2 {
	font-size: 90px;
	line-height: 90px;
	font-weight: 700;
	margin: 0 0 12px 0;
}
.content02 h3 {
	font-size: 60px;
	line-height: 60px;
	font-weight: 700;
	margin: 0;
	color: rgba(255,255,255,.2);
}
.content02 h4 {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
	font-family: "Poppins", sans-serif;
	position: absolute;
	left: -110px;
	top: 55px;
	transform: rotate(-90deg);
	padding-bottom: 5px;
	border-bottom: solid 2px #fff;
}
.content02 p {
	font-weight: 300;
	margin: 0 0 30px 0;
	font-family: "Poppins", sans-serif;
}
.content02 p a {color: #fff;}
.content02 .col-md-5 img {
	max-width: none;
	position: absolute;
	height: 100%;
	left: 15px;
	top: -80px;
}
.content02 .col-md-11 img {
	position: absolute;
	left: calc(var(--bs-gutter-x)* .5);
	width: 104%;
	top: -110px;
	max-width: none;
}
.year {
	position: absolute;
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	line-height: 16px;
}
.year span {
	font-weight: 700;
	font-size: 18px;
	line-height: 18px;
	display: block;
}
.yr01 {
	top: 160px;
	left: calc(var(--bs-gutter-x)* .5);
}
.yr02 {
	top: -35px;
	left: 20.6%;
	text-align: right;
}
.yr03 {
	top: 88px;
	left: 32.5%;
}
.yr04 {
	top: 28px;
	left: 47.5%;
}
.yr05 {
	top: -130px;
	left: 66.5%;
}
.yr06 {
	top: -165px;
	left: 87.75%;
	min-width: 160px;
}
.redbox {
	background: #EB212C;
	padding: 80px 0;
	margin-top: 350px;
	font-family: "Poppins", sans-serif;
}
.whitebox {
	background: #fff;
	padding: 40px;
	margin-bottom: -150px;
	position: relative;
}
.redbox p {
	padding-right: 15%;
	font-weight: 300;
}
.content02 h5 {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 30px 0;
	padding-bottom: 10px;
	border-bottom: solid 2px #fff;
	display: inline-block;
}
.whitebox > span {
	position: absolute;
	top: 108%;
	left: 2px;
	font-size: 14px;
	font-weight: 300;
}

/* content03 ------------------------- */
.content03 {padding: 60px 0 160px 0;}
.content03 h2 {
	font-size: 60px;
	line-height: 60px;
	font-weight: 700;
	margin: 0 0 15px 0;
}
.content03 h3 {
	font-size: 60px;
	line-height: 60px;
	font-weight: 700;
	margin: 0 0 30px 0;
	color: rgba(255,255,255,.2);
}
.content03 p {
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	margin-bottom: 30px;
}
.content03 .col-md-6 {position: relative;}
.content03 .col-md-6 img {
	position: absolute;
	max-width: none;
	right: 15px;
	height: 140%;
	top: -20%;
}

/* content04 ------------------------- */
.content04 {padding: 100px 0;}
.content04 .col-md-2 {position: relative;}
.content04 h4 {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
	font-family: "Poppins", sans-serif;
	position: absolute;
	left: 15px;
	top: 30px;
	transform: rotate(-90deg);
	padding-bottom: 5px;
	border-bottom: solid 2px #fff;
}
.content04 h5 {
	font-size: 30px;
	font-weight: 700;
	margin: 0 0 30px 0;
	color: #EB212C;
}
.content04 p {
	font-size: 14px;
}
.content04 a {
	color: #fff;
	position: relative;
	display: inline-block;
	text-decoration: none;
}
.content04 a:hover, .content04 a:focus {color: #fff;}
.content04 a:hover::before {
	background: #fff;
	width: 100%;
	height: 1px;
	bottom: 2px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
.content04 span a {
	font-size: 20px;
	padding: 0 0 2px 20px;
	margin-top: 40px;
}
.content04 span a::after {
	content: "";
	background: url("../images/ico06.svg") no-repeat center;
	background-size: auto auto;
	width: 15px;
	height: 20px;
	position: absolute;
	left: 0;
	top: 4px;
}
.content04 .col-md-10 {
	padding-top: 60px;
	font-size: 14px;
}

/* footer ----------------------------------- */
footer {
	background: #EB212C;
	padding: 100px 0 60px 0;
	font-size: 14px;
}
footer img {
	width: 210px;
	margin-bottom: 30px;
}
footer h3 {
	font-size: 14px;
	font-weight: 400;
	margin: 30px 0;
}
footer ul {
	padding: 0 0 20px 20px;
	margin: 0;
}
footer ul li {padding: 2px 0;}
footer .col-md-8, footer .col-md-4 {
	font-size: 10px;
	padding-top: 100px;
}
footer .col-md-4 {text-align: right;}
footer ul li a {
	color: #fff;
	text-decoration: none;
	position: relative;
	display: inline-block;
}
footer ul li a:hover {color: #fff;}
footer ul li a:hover::before {
	background: #fff;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
/* modal -------------------------------------- */
.modal-dialog {
	max-width: 800px;
	width: 100%;
	margin: 30px auto;
	position: relative;
	color: #000;
}
.modal-dialog .close {
	position: absolute;
	width: 28px;
	height: 28px;
	opacity: 1;
	margin: 0;
	right: 20px;
	top: 20px;
	background: none;
	border: none;
	z-index: 5;
	cursor: pointer;
}
.modal-dialog .close span {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}
.modal-dialog .close:hover span {transform: rotate(90deg);}
.modal-dialog .close span::before, .modal-dialog .close span::after {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 2px;
	background: #EB212C;
	content: "";
	transform: rotate(45deg);
}
.modal-dialog .close span::after {transform: rotate(-45deg);}
.modal-header {
	border-bottom: none;
	padding: 0;
}
.modal-content {
	border: none;
	border-radius: 12px;
	padding: 25px;
	background: #fff;
}
.modal-body {
	padding: 20px;
	font-size: 16px;
}
.modalimg {
	position: relative;
	height: 100%;
	overflow: hidden;
}
.modal-body .col-md-5 {padding-top: 40px;}
.modalimg img {
	aspect-ratio: 9 / 16;
	object-fit: cover;
	display: block;
	height: auto;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.modalimg .imgslider img {
	position: relative;
	top: auto;
	left: auto;
}

/* tom 2025 ---------------------------- */