/* 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 {
	font-size: 16px;
	font-weight: 400;
	font-family: "Poppins", sans-serif;
	font-optical-sizing: auto;
	background: #fff;
	color: #504f53;
	overflow-x: hidden;
}
body::-webkit-scrollbar, div::-webkit-scrollbar {width: 6px;}
body::-webkit-scrollbar-track, div::-webkit-scrollbar-track {background: #fff;}
body::-webkit-scrollbar-thumb, div::-webkit-scrollbar-thumb {
   background-color: #e50004;
   border: 1px solid #e50004;
}
.shadow main, .shadow footer, .modal-open section, .modal-open footer, .modal-open header  {
	filter: blur(4px);
	transform: scale(1.02);
}
section, .container {position: relative;}
.landscape {display: none !important;}
.sitebar {
	position: fixed;
	top: 0;
	left: 0;
	background: #e50004;
	height: 3px;
	z-index: 30;
}
img {max-width:100%;}
a, button, img, header, footer, span, strong, ::before, ::after, input, td, tr {
	transition: all 0.3s ease-in-out;
	outline: none;
}
a {color: #e7331a;}
a:hover {
	color: #e7331a;
	text-decoration: none;
}
h1 {
	font-size: 58px;
	font-weight: 300;
	margin: 0 0 15px 0;
	text-shadow: 1px 1px 5px #000;
	color: #fff;
}
h2 {
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 15px 0;
	color: #e7331a;
}
h3 {
	font-size: 34px;
	font-weight: 700;
	margin: 0 0 45px 0;
	color: #e7331a;
	position: relative;
}
h3::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -34px;
	width: 80%;
	height: 30px;
	background: url("../images/ico02.svg") no-repeat top left;
	background-size: 100% auto;
}
h4 {
	font-size: 24px;
	font-weight: 600;
	margin: 0 0 20px 0;
	color: #e7331a;
}
h5 {
	font-size: 20px;
	font-weight: 700;
	margin: 15px 0 5px 0;
	color: #e7331a;
}

/* navigace ----------------------------------- */
header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 20;
	padding: 20px 0 0 0;
	background: linear-gradient(rgba(0,0,0,.8), rgba(0,0,0,0) 30%, rgba(0,0,0,0));
}
.logo img {width: 140px;}
header .nav-item {padding: 0 10px;}
header .nav-item:last-child {padding: 0 0 0 20px;}
header .nav-link {
	color: #fff;
	font-weight: 500;
	position: relative;
}
header .nav-link::before {
	content: "";
	position: absolute;
	left: 9px;
	bottom: 0;
	width: 0;
	height: 0;
	background: url("../images/ico01.svg") no-repeat top left;
	background-size: 100% auto;
}
header .nav-link:hover, header .nav-link:focus  {color: #fff;}
header .nav-link:hover::before {
	bottom: -17px;
	width: 100%;
	height: 25px;
}
header .nav-item:last-child a {
	display: inline-block;
	width: 26px;
	margin: 6px;
}
header .nav-item:last-child a:last-child {margin-right: 0;}
header .nav-item:last-child a:hover {transform: scale(1.25);}
.navbar-nav {
	position: relative;
	z-index: 2;
	padding: 5px 0;
}
.navbar-toggler, .navbar-toggler:focus, .navbar-toggler:hover {
	outline: none;
	box-shadow: none;
	border: none;
}
.hamburger {
	width: 20px;
	height: 20px;
	position: absolute;
	transition: .5s ease-in-out;
	cursor: pointer;
	right: 20px;
	top: -80px;
	z-index: 2;
	background: #e7331a;
}
.hamburger::before {
	width: 50px;
	height: 50px;
	position: absolute;
	content: "";
	left: -15px;
	top: -15px;
	border-radius: 6px;
	background: #e7331a;
}
.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%;
}
.nav-item .hamburger {
	right: 0;
	top: 12px;
}
.hamburger.open span:nth-child(4) {width: 0;}

/* content01 ----------------------------------- */
.content01 {
	background: url("../images/img01.jpg") no-repeat center;
	background-size: cover;
	padding: 320px 0 60px 0;
}
.strankakurzy.content01 {background-image: url("../images/img03.jpg");}
.strankadotace.content01 {background-image: url("../images/img05.jpg");}

/* content02 ----------------------------------- */
.content02 {padding: 30px 0;}
.content02 .row {
    margin-right: calc(-1.5 * var(--bs-gutter-x));
    margin-left: calc(-1.5 * var(--bs-gutter-x));
}
.content02 .row>* {padding: calc(var(--bs-gutter-x) * 1.5);}
.aktualita {
	border-radius: 15px;
	background: #ebebeb;
	padding: 40px;
	min-height: 100%;
}
.aktualita span {font-size: 12px;}
.aktualita p {
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.aktualita div {
	text-align: center;
	padding: 10px 0;
}
.aktualita a {
	border-radius: 17px;
	background: #fff;
	border: solid 1px #504f53;
	padding: 5px 20px;
	text-decoration: none;
	display: inline-block;
}
.aktualita a:hover {
	background: #e7331a;
	color: #fff;
}
.content02 button {
	background: none;
	border: none;
	padding: 0;
	position: relative;
	color: #e7331a;
	margin: 0 0 30px 0;
}
.content02 button::before {
	content: ">>>";
	position: absolute;
	right: -32px;
}
.content02 button:hover::before {right: -40px;}

/* content03 ----------------------------------- */
.content03 {
	background: #ebebeb;
	padding: 60px 0;
}
.content03 table {width: 100%;}
.content03 table td {padding: 20px;}
.content03 table td:first-child {
	width: 44%;
	padding-left: 0;
}

/* content04 ----------------------------------- */
.content04 {padding: 60px 0;}
.content04 h3::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -34px;
	width: 30%;
	height: 30px;
	background: url("../images/ico02.svg") no-repeat top left;
	background-size: 100% auto;
}
.content04 .row + .row {
    margin-right: calc(-1.5 * var(--bs-gutter-x));
    margin-left: calc(-1.5 * var(--bs-gutter-x));
}
.content04 .row + .row>* {padding: calc(var(--bs-gutter-x) * 1.5);}
.kurzy {
	border-radius: 15px;
	background: #ebebeb;
	padding: 40px 40px 150px 40px;
	min-height: 100%;
	position: relative;
}
.kurzy p {
	padding-right: 6%;
	position: relative;
}
.kurzy a {
	border-radius: 17px;
	background: #fff;
	border: solid 1px #504f53;
	padding: 5px 20px;
	text-decoration: none;
	display: inline-block;
}
.kurzy a:hover {
	background: #e7331a;
	color: #fff;
}

/* content05 ----------------------------------- */
.content05 {
	background: #ebebeb;
	padding: 60px 0;
}
.content05 ol, .content05 ul {
	margin: 0;
	padding: 0 0 20px 0;
	list-style-type: none;
}
.content05 ol li {
	display: inline-block;
	padding-right: 30px;
}
.content05 ol li a {
	display: inline-block;
	background: url("../images/ig.svg") no-repeat center left;
	background-size: 26px auto;
	color: #e7331a;
	text-decoration: none;
	padding-left: 30px;
}
.content05 ol li + li a {
	background: url("../images/fb.svg") no-repeat center left;
	background-size: 24px auto;
}
.content05 ol li a:hover {
	background-position: center left 5px;
	color: #e7331a;
	position: relative;
}

.content05 ol li a:hover::before {
	background: #e7331a;
	width: calc(100% - 30px);
	height: 1px;
	bottom: 1px;
	left: 30px;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
	@keyframes hovermenu { 
		0% {width: 0;}
		100% {width: calc(100% - 30px);}
	}
.content05 ul li {
	position: relative;
	padding-left: 68px;
}
.content05 ul li::before {
	content: "E-mail:";
	position: absolute;
	left: 0;
}
.content05 ul li+li::before {content: "Telefon:";}
.content05 iframe {
	position: absolute;
	border: none;
	height: 100%;
	width: 55%;
	left: 45%;
	top: 0;
}

/* footer ----------------------------------- */
footer {
	background: #737373;
	padding: 40px 0;
	font-weight: 600;
	position: relative;
}
footer .col-md-2 img {width: 120px;}
footer ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	border-bottom: solid 1px #fff;
}
footer ul li {
	display: inline-block;
	padding: 5px 10px;
}
footer ul li:first-child {padding-left: 0;}
footer ul li a {
	color: #fff;
	text-decoration: none;
}
footer p {
	color: #e7331a;
	text-align: right;
	margin: 10px 0 0 0;
}
footer p a {
	color: #e7331a;
	text-decoration: none;
}


/* content06 ----------------------------------- */
.content06 {
	background: #ebebeb;
	padding: 60px 0;
}
.content06 a {text-decoration: none;}
.content06 a:hover {text-decoration: underline;}
.content06 h2 {
	font-size: 30px;
	font-weight: 400;
	margin: 0 0 45px 0;
	color: #e7331a;
	position: relative;
}
.content06 h2::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -34px;
	width: 50%;
	height: 30px;
	background: url("../images/ico02.svg") no-repeat top left;
	background-size: 100% auto;
}
.content06 ul {padding: 0 0 0 20px;}
.content06 ul li {padding: 10px 10% 10px 0;}
.content06 .col-md-6 {padding-bottom: 50px;}
.content06 .col-md-6 img {margin: 30px 0;}

/* content07 ----------------------------------- */
.content07 {padding: 60px 0;}
.content07 .table img {width: 200px;}
.content07 .table img.logosmall {width: 150px;}
.content07 .table th {text-align: left;}
.content07 .table td {
	vertical-align: middle;
	padding: 30px 5px;
}
.content07 .table tr:last-child td {font-weight: 700;}
.content07 .table tr td:first-child {width: 30%;}
.content07 .table tr th:last-child, .content07 .table tr td:last-child {text-align: right;}


/* baletky ----------------------------------- */
.fig01 {
	position: absolute;
	right: 2%;
	bottom: 0;
	width: 220px;
}
.fig02 {
	position: absolute;
	left: 2%;
	bottom: 0;
	width: 200px;
}
.fig03 {
	position: absolute;
	right: 5%;
	bottom: 0;
	width: 170px;
}
.fig04 {
	position: absolute;
	right: 5%;
	bottom: 0;
	width: 230px;
}
.fig05 {
	position: absolute;
	right: 5%;
	bottom: 0;
	width: 180px;
}
.fig06 {
	position: absolute;
	right: 5%;
	bottom: 0;
	width: 160px;
}
.fig07 {
	position: absolute;
	right: 1%;
	bottom: 0;
	width: 260px;
}
.fig08 {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 300px;
}
.fig09 {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 180px;
}

/* modal -------------------------------------- */
.modal-dialog {
	max-width: 800px;
	width: 100%;
	position: relative;
}
.modal-dialog .close {
	position: absolute;
	width: 28px;
	height: 28px;
	border: solid 2px #e7331a;
	border-radius: 6px;
	opacity: 1;
	margin: 0;
	right: 20px;
	top: 20px;
	background: none;
	z-index: 5;
	cursor: pointer;
	display: inline-block;
}
.modal-dialog .close span {
	position: absolute;
	left: 2px;
	top: 2px;
	right: 2px;
	bottom: 2px;
}
.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: #000;
	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;
}
.modal-body ol li {
	list-style-type: disc;
}
.modal-body ol li:first-child {
	list-style-type: none;
	margin: 0 0 0 -20px;
	font-weight: 700;
}





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