/* general css ----------------------------------- */
html {
	scroll-behavior:smooth;
	overflow-x: hidden;
	font-size: 16px;
}
body {
	overflow: hidden;
	font-size: 1rem;
	font-weight: 400;
	font-family: "Poppins", sans-serif;
	font-optical-sizing: auto;
	background: #fff;
	color: #000;
}
body::-webkit-scrollbar {width: 6px;}
body::-webkit-scrollbar-track {background: #fff;}
body::-webkit-scrollbar-thumb {
   background-color: #e50004;
   border: 1px solid #e50004;
}
div {
	scrollbar-width: thin;
	scrollbar-color: #E8DDCF #e50004;
}
div::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
div::-webkit-scrollbar-track {background-color: #fff;}
div::-webkit-scrollbar-thumb {background-color: #e50004;}
div::-webkit-scrollbar-track, div::-webkit-scrollbar-thumb {border-radius: 12px;}
img {max-width:100%;}
a, button, img, header, footer, span, strong, ::before, ::after {
	transition: all 0.3s ease-in-out;
	outline: none;
}
section, .container {position: relative;}



h3 {
	font-size: 2.125rem;
	font-weight: 700;
	margin: 0 0 30px 0;
	position: relative;
	color: #e50004;
	padding-bottom: 10px;
}
h3::before {
	content: "";
	position: absolute;
	border-bottom: solid 2px #e50004;
	width: 40%;
	bottom: 0;
	left: 0;
}
h4 {
	font-size: 1.75rem;
	font-weight: 500;
	margin: 0 0 20px 0;
	position: relative;
	color: #e50004;
}


.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;}
.landscape, .mobile {display: none !important;}
.sitebar {
	position: fixed;
	top: 0;
	left: 0;
	background: #e50004;
	height: 2px;
	z-index: 1000;
}
.parallax-item, .parallax-img, .sitebar {
  will-change: transform;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
}
	@keyframes hovermenu { 
		0% {width: 0;}
		100% {width: 100%;}
	}
.blur-active {
	filter: blur(5px); 
	transition: filter 0.3s ease;
	pointer-events: none;
}


/* forms --------------------------- *
.form-control {
	background: none;
	border: none;
	border-bottom: solid 1px #E8DDCF;
	font-size: 19pt;
	font-weight: 400;
	color: #000;
	border-radius: 0;
	height: 50px;
	margin-bottom: 40px;
	padding-left: 0;
}
.form-control::placeholder {
	color: #E8DDCF;
	font-size: 12pt;
	font-weight: 400;
}
.form-control:focus {
    background: none;
    border-color: #000;
    box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .15);
	color: #000;
}
textarea.form-control {
	height: auto;
	min-height: 100px;
}
form p {font-size: 10pt;}
form p a {
	color: #000;
	font-weight: 700;
}
form p a:hover {text-decoration: none;}

/* navigace ----------------------------------- */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 500;
	padding: 15px 0;
	background: linear-gradient(rgba(0,0,0,.8), rgba(0,0,0,0));
}
.logo {
	position: absolute;
	width: 130px;
	left: 0;
	top: 50%;
	z-index: 2;
	transform: translate(0,-50%);
}
header .navbar-toggler, header .navbar-toggler:focus {
	border: none;
	box-shadow: none;
}
header .navbar-nav .nav-item {
	padding: 3px 20px;
	position: relative;
}
header .navbar-nav .nav-link {
	font-weight: 500;
	color: #fff;
	padding-right: 0 !important;
	padding-left: 0 !important;
	position: relative;
}
header .navbar-nav .nav-link:hover::before {
	background: #e50004;
	width: 100%;
	height: 2px;
	bottom: 5px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
.hema {
	position: absolute;
	background: #e50004;
	width: 80px;
	min-height: 80px;
	right: 0;
	top: 0;
}
.hema > a {
	position: relative;
	display: block;
	padding: 15px 10px 10px 10px;
	cursor: pointer;
}
.hema > a::before {
	position: absolute;
	border-bottom: solid 3px #fff;
	border-left: solid 3px #fff;
	width: 10px;
	height: 10px;
	content: "";
	left: 50%;
	bottom: 0;
	transform: translate(-50%,2px) rotate(-45deg);
}
.hema > a:hover::before {transform: translate(-50%,5px) rotate(-45deg);}
.custom-collapse {
	transition: all 0.3s ease-in-out;
	opacity: 0;
	display: block;
}
.custom-collapse.is-open {opacity: 1;}
.collapse-inner {padding: 10px 10px 0 10px;}
.custom-collapse .collapse-inner a {
	display: block;
	margin:  0;
	height: 0;
}
.custom-collapse.is-open .collapse-inner a {
	display: block;
	margin: 15px 0;
	height: auto;
}
.custom-collapse.is-open .collapse-inner a:hover {transform: scale(1.1);}

.site-header.header-hidden {transform: translateY(-101%);}
body.scrolled .site-header {
	box-shadow:0 5px 15px rgba(0,0,0,0.15);
	background:#000;
	padding: 0;
	min-height: 80px;
}
body.scrolled .site-header .navbar {padding-top: 18px;}
body.scrolled .logo {width: 110px;}
.hamburger {
	width: 30px;
	height: 30px;
	position: absolute;
	transition: .5s ease-in-out;
	cursor: pointer;
	right: 90px;
	top: 30px;
	z-index: 2;
}
.nav-item:last-child {min-width: 100px;}
.nav-item:last-child .navbar-toggler {display: block;}
.nav-item .hamburger {
	right: 0;
	top: 14px;
}
.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 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;}

/* home page ------------------------- */
.content01 {
	height: 65vh;
	overflow: hidden;
	color: #fff;
}
.content01 img.parallax-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 110%;
    object-fit: cover;
    z-index: -1;
    transform: translateY(0px);
    transition: transform 0.1s linear;
}
.content02 {
	padding: 60px 0 100px 0;
	background: #000;
	color: #fff;
}
.content02 h1 {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 20px;
}
.content02 .col-9 p {margin-bottom: 40px;}
.content02 .col-sm-4 div {
	color: #6e6e6e;
	padding: 0 30px;
	border-left: solid 2px #e50004;
}
.content02 .col-sm-4 div img {
	width: 60%;
	margin-bottom: 50px;
}
.content02 .col-sm-4 div h2 {
	color: #e50004;
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 30px 0;
}
.content02 .col-sm-4 div > a {
	color: #525252;
	border: solid 1px #525252;
	display: inline-block;
	text-decoration: none;
	padding: 8px 18px;
	background: #fff;
	margin: 30px 0 5px 0;
}
.content02 .col-sm-4 div > a:hover {
	color: #fff;
	background: #e50004;
}
.content03 {
	padding: 100px 0;
	background: #525252;
	color: #fff;
}
.content03 p {
	margin-bottom: 60px;
	line-height: 180%;
}
.content03 .col-sm-4 > div {
	position: relative;
	height: calc(100% + 200px) ;
	width: 50vw;
	margin-top: -100px;
}
.content03 .col-sm-4 > div > img {
	position: absolute;
	left: 0;
	top: 0;
	max-width: none;
	height: 101%;
	 object-fit: cover;
	 width: 100%;
}
.content04 {
	padding: 100px 0;
	background: #000;
	color: #fff;
}
.content04 .col-sm-4 > div {
	display: flex;
    justify-content: flex-end;
    width: 100%;
	height: 100%;
    position: relative;
}
.content04 .col-sm-4 > div > img {
    flex-shrink: 0;
    max-width: none;
	height: 101%;
	 object-fit: cover;
	 width: 176%;
}
.content04 ul {
	padding:  0;
	margin: 0;
	list-style-type: none;
}
.content04 ul li {
	position: relative;
	padding: 0 0 10px 20px;
	line-height: 180%;
}
.content04 ul li::before {
	position: absolute;
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 100%;
	background: #e50004;
	left: 0;
	top: 7px;
}
.content04 p {
	margin-bottom: 40px;
	line-height: 180%;
}
.content05 {
	padding: 100px 0;
	background: #525252;
	color: #fff;
}
.content05 .col-sm-8 {padding-bottom: 30px;}
.content05 .col-sm-4 div {
	padding: 40px 30px 100px 30px;
	background: #c8c8c8;
	color: #000;
	text-align: center;
	height: 100%;
	position: relative;
}
.content05 .col-sm-4 div > a {
	color: #525252;
	border: solid 1px #525252;
	display: inline-block;
	text-decoration: none;
	padding: 8px 18px;
	background: #fff;
	margin: 30px 0 5px 0;
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translate(-50%,0);
}
.content05 .col-sm-4 div > a:hover {
	color: #fff;
	background: #e50004;
}
.content06 {
	padding: 100px 0 40px 0;
	background: #000;
	color: #fff;
}
.content06 .col-md-8 {padding-bottom: 30px;}
.content06 .col-sm-4 div {
	padding: 0 30px;
	border-left: solid 2px #e50004;
}
.content06 .col-sm-4 div img {
	width: 80px;
	margin-bottom: 10px;
}
.content06 .col-sm-4 div strong {
	display: block;
	font-weight: 600;
}
.content06 .col-sm-4 div > a {
	color: #e50004;
	text-decoration: none;
	position: relative;
	display: inline-block;
}
.content06 .col-sm-4 div > a:hover::before {
	background: #e50004;
	width: 100%;
	height: 1px;
	bottom: 2px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
.content06 iframe {
	height: 300px;
	width: 63vw;
	border: none;
	margin-bottom: 60px;
}
footer {
	background: #e50004;
	padding: 40px 0;
	color: #fff;
}
footer hr {
    margin: 40px 0;
    border-top: solid 1px #fff;
    opacity: 1;
}
footer ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	text-align: end;
}
footer ul li {
	display: inline-block;
	padding: 0 10px;
}
footer ul li:last-child {padding-right: 0;}
footer ul li a {
	color: #fff;
	text-decoration: none;
	position: relative;
	display: inline-block;
}
footer ul li a:hover::before {
	background: #fff;
	width: 100%;
	height: 1px;
	bottom: 2px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
footer .col-md-2 img {width: 104px;}
footer .col-md-7 img {width: 74px;}
footer .col-md-7 a {
	display: inline-block;
	margin-right: 20px;
}
footer .col-md-7 a:hover img {transform: scale(1.08);}
footer .col-md-5 {
	align-self: flex-end;
	text-align: end;
}
footer .col-md-5 a {
	color: #fff;
	text-decoration: none;
	position: relative;
	display: inline-block;
}
footer .col-md-5 a:hover::before {
	background: #fff;
	width: 100%;
	height: 1px;
	bottom: 2px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}

/* tom 2026 ---------------------------- */