/* ==========================================================================
*
* Basic CSS Stylesheet for Bootstrap
*
** ========================================================================== */
body {
	font-family: 'Montserrat', sans-serif;
	background-color: #ffffff;
	margin: 0;
	overflow-x: hidden;
}

/*---  TOP HEADER ---*/
.wrap-header {
	background-color: #ffffff;
	margin: 0px;
	padding:0px;
	width: 100%;	
}
.wrap-header.util {
	border-bottom:6px solid #00a79d;
}

.top-header {
	background-color: #ffffff;
	padding: 16px 0px 12px 0px;
	position: relative;
	/*overflow: hidden;*/ 
}

.site-logo {
	width: 286px;
	display: block;
	padding: 0px;
	background-color: #ffffff;
	max-height: 86px;
	max-width:292px;
}

.site-logo a.brand-logo img.logo-img {
	width:212px;
	display: block;
}		

.brand-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	position: relative;
	z-index: 5;
}

.logo-waves {
	display: flex;
	margin-bottom: -5px;
	margin-left: 5px;
}

.logo-text {
	font-size: 28px;
	font-weight: 900;
	color: #213f9a;
	letter-spacing: 1px;
	line-height: 1;
}

.top-utility-nav {
	display: flex;
	align-items: center;
	gap: 2px;
	position: relative;
	z-index: 5;
	min-width: 540px;
}

.utility-item {
	display: flex;
	align-items: center;
	width: 142px;
	max-width: 148px;
	gap: 2px;
	transition: opacity 0.2s, color 0.2s;
	text-decoration: none;
}

.utility-item span {
	text-align: left;
	color: #213f9a;
	text-decoration: none;
	font-weight:bold;
	font-size: 16px;
	padding: 0px 0px 0px 6px;
	display: block;
	text-transform: uppercase;
}		

.utility-item:hover, .utility-item:focus {
	opacity: 1;
}

.utility-item img {
	display: block;
	max-width:60px;
	max-height:42px;
}		

/* dropdown languages */
.lang-dropdown-menu {
	border: 2px solid #213f9a;
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.lang-dropdown-menu .dropdown-item {
	color: #213f9a;
	font-weight: 700;
	font-size: 13px;
	padding: 6px 16px;
}

.lang-dropdown-menu .dropdown-item:hover {
	background-color: #f0f4fc;
	color: #00a79d;
}

/* Occupancy */
.occupancy {
	width:166px;
	height:72px;
	padding:0px;
	margin:0px;
}	

.occupancy-box {
	width:138px;
	height:72px;
	background-color:#1a3b9e;
	color: #ffffff;
	border-radius: 18px;
	padding:0px;
	text-align: center;
	position: relative;
	z-index: 5;
}

.occupancy-label {
	font-size: 14px;
	text-transform: uppercase;
	font-weight: 800;
	letter-spacing: 0.5px;
	opacity: 0.9;
	margin-bottom: 2px;
	padding: 2px 0px 2px 0px;
	height:32px;
	background-color: #0d2777;
	border-top-left-radius: 18px;
	border-top-right-radius: 18px;
}

.occupancy-value {
	font-size: 38px;
	font-weight: 700;
	line-height: 1;
}

/* background text */
.bg-watermark-text {
	position: absolute;
	right: 0px;
	top:-10px;
	/*top: 50%;
	transform: translateY(-50%);*/
	font-size: 52px;
	font-weight: 900;
	color: #c1e9e6;
	text-transform: uppercase;
	line-height: 0.95;
	text-align: right;
	pointer-events: none;
	user-select: none;
	letter-spacing: 1px;
	z-index: 1;
	/*overflow: hidden;*/
}

.bg-watermark-pic {
	width: 134px;
	height: 134px;
	display: block;
	position: absolute;
	/*right: 20px;*/
	z-index: 10;
	top: 32px;
}

.bg-watermark-pic img {
	width:100%;
	display: block;
}


/* --- 2. SPODNÍ ČÁST (Menu a rozhraní) --- */
.main-navigation-wrapper {
	position: relative;
	background-color: #ffffff;
}

/* Hlavní dělicí tyrkysová linka */
.nav-divider-wave {
	position: relative;
	top: 12px;
	width: 166px;
	z-index: 100;
}	

.wave-path {
	fill: none;
	stroke: #00a79d;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.navbar-main {
	padding: 15px 0;
}

.navbar-nav .nav-link {
	color: #213f9a !important;
	font-weight: 800;
	font-size: 18px;
	text-transform: uppercase;
	padding: 6px 0px !important;
	margin: 0 14px;
	position: relative;
	letter-spacing: 0.5px;
	transition: color 0.2s;
}

.navbar-nav .nav-link:hover {
	color: #00a79d !important;
}

.navbar-nav .nav-item:first-child .nav-link {
	margin-left: 0;
}

/* Podtržení aktivní položky (Home) tlustou tyrkysovou čarou */
.navbar-nav .nav-link.active::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #00a79d;
}
.navbar-nav li.nav-item a.nav-link:hover::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #00a79d;
}

/* Ikony sociálních sítí */
.social-links {
	display: flex;
	align-items: center;
	gap: 15px;
}

.social-icon {
	color: #213f9a;
	font-size: 24px;
	transition: color 0.2s, transform 0.2s;
	display: inline-flex;
}

.social-icon:hover {
	color: #00a79d;
	transform: scale(1.08);
}

.social-icon img {
	height:32px;
}

.navbar-nav .dropdown-toggle::after,
.navbar-nav .nav-link.dropdown-toggle::after,
.nav-item.dropdown .dropdown-toggle::after {
	display: none !important;
	content: none !important;
	border: none !important;
}


@media (min-width: 992px) {
	.navbar-nav .nav-item.dropdown {
		position: relative;
	}

	.navbar-nav .nav-item.dropdown:hover .main-dropdown-menu {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateY(0) !important;
	}

	.navbar-nav .nav-item.dropdown .main-dropdown-menu {
		display: none;
		position: absolute;
		left: 14px; /* Zarovnáno přesně pod text "BLOG" */
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
		transform: translateY(10px);
	}

	.navbar-nav .nav-item.dropdown .main-dropdown-menu::before {
		content: '';
		position: absolute;
		top: -16px;
		left: 0;
		width: 100%;
		height: 16px;
		background: transparent;
	}
}

.main-dropdown-menu {
	background-color: #08a79d !important; /* Zelené pozadí #08a79d */
	border: none !important;
	border-radius: 8px !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15) !important;
	padding: 6px 0 !important;
	margin-top: 0px !important; /* Vizuální odskok o 0px níže */
	min-width: 160px;
	z-index: 2000 !important;
}


.main-dropdown-menu .dropdown-item {
	color: #ffffff !important; /* Základní barva textu: Bílá */
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 10px 20px !important;
	background-color: transparent !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}


.main-dropdown-menu .dropdown-item:hover,
.main-dropdown-menu .dropdown-item:focus {
	background-color: #1d439c !important; 
	color: #ffffff !important; 
}

/* mobiles, tablets */
@media (max-width: 1199.98px) {
	.bg-watermark-text {
		font-size: 38px;
		opacity: 0.08;
	}
}

@media (max-width: 991.98px) {
	.bg-watermark-text {
		display: none;
	}
	.top-utility-nav {
		margin-top: 15px;
		flex-wrap: wrap;
		justify-content: center;
		gap: 15px;
	}
	.navbar-nav .nav-link {
		margin: 8px 0;
		display: inline-block;
	}
	.navbar-nav .nav-link.active::after {
		display: none;
	}
	.social-links {
		margin-top: 20px;
		justify-content: center;
	}
	.wave-decoration {
		display: none;
	}
	/* Mobilní roztažení podmenu pod sebou */
	.main-dropdown-menu {
		display: block !important;
		position: static !important;
		margin-top: 8px !important;
		box-shadow: none !important;
	}
}

@media (min-width: 1400px) {
	.top-header .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, section .container {
	max-width: 1284px;
	}
}

/* Slider section */
#mainCarousel .carousel-item {
  height: 90vh;
  max-height: 452px;
  max-width:1284px;
  background: no-repeat center center scroll;
  background-size: cover;
  position: relative;
  /*min-height: 70vh;*/
  background-position: center;
  overflow: hidden;
  margin:0px auto 0px auto;	
}

#mainCarousel .carousel-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*background: rgba(0, 0, 0, 0.5);*/
  display: flex;
  /*align-items: center;*/
  justify-content: center;
  text-align: center;
  color: white;
/*  background: -webkit-linear-gradient(left, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.5) 30%, rgba(224, 220, 220, 0) 100%);
  background: -o-linear-gradient(left, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.5) 30%, rgba(224, 220, 220, 0) 100%);
  background: linear-gradient(to right, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.5) 30%, rgba(224, 220, 220, 0) 100%);*/
  background: -webkit-linear-gradient(left, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.2) 45%, rgba(224, 220, 220, 0) 100%);
  background: -o-linear-gradient(left, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.2) 45%, rgba(224, 220, 220, 0) 100%);
  background: linear-gradient(to right, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.2) 45%, rgba(224, 220, 220, 0) 100%);	
}
#mainCarousel .carousel-control-prev-icon {
  background-image: url("slider_arrow.svg?r=");
}
#mainCarousel .carousel-control-next-icon {
  background-image: url("slider_arrow.svg?r=");
  transform: rotate(180deg);
}

#mainCarousel .carousel-indicators {
  margin-bottom: 1rem !important;
}
#mainCarousel .carousel-inner {
  width: 1284px;
  max-width: 1284px;
  margin: 0px auto;	
}

#mainCarousel.custom-carousel-wrapper .carousel-inner .carousel-item img.w-custom {
	/*width: 100% !important;*/
}

#mainCarousel .hero-content {
	margin:16px 0px 0px 0px;
}

#mainCarousel .hero-content h1 {
  /*font-size: 4rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	text-shadow: 2px 2px 10px rgba(0,0,0,0.5);*/
  display: block;
  /*max-height: 64px;*/
  /*width: 520px;*/
  width: fit-content;
  /*max-width: 60%;*/
  color: #ffffff;
  padding: 6px 0px;
  margin: 0px 0px 0px 24px;
  font-size: 3.6em;
  line-height: 1.0em;
  font-weight: bold;
  text-transform: uppercase;
  text-align: left;
}

#mainCarousel .hero-content h1 strong span {
  color:#08a79d;
}

#mainCarousel .hero-content h1 a {
  background-image: url("i_slider_link.svg?");
  /*background-color: #f00;*/
  background-repeat: no-repeat;
  background-position: center;
  width: 46px;
  height: 46px;
  display: inline-block;
  border: 3px solid #df1a21;
  border-radius: 23px;
  /*fill: #0f0;*/
  transform: rotate(90deg);
  margin: 0px 2px 0px 8px;
  /*padding: 6px 2px 0px 12px;*/
  background-size: 26px;
  vertical-align: center;
  text-align: center;
  cursor: pointer;
}
#mainCarousel .hero-content span.subtitle {
  display: block;
  color: #ffffff;
  height: auto;
  /*max-height: 32px;*/
  width: fit-content;
  max-width: 20%;
  padding:4px 0px 0px 0px;
  margin: 1px 0px 0px 24px;
  font-size: 1.1em;
  line-height: 1.1em;
  font-weight: normal;
  /*text-transform: uppercase;*/
  text-align: left;
}
#mainCarousel .hero-content p {
  font-size: 1.4rem;
  opacity: 0.9;
  max-width: 800px;
  margin: 0 auto;
}

#mainCarousel .box-benefits {
  width: 22vW;
  max-height: 12vH;
  overflow: hidden;
  margin: 12px 0px 0px 24px;	
}

#mainCarousel .benefit-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0px 2px;
}

#mainCarousel .benefit-list li {
  position: relative;
  padding-left: 26px;
  list-style: none;
  font-size: 1.2em;
  text-align: left;
}

#mainCarousel .benefit-list li::before {
  /*content: "\F26E"; *//* bootstrap icon check-circle */
  /*font-family: "bootstrap-icons";
  position: absolute;
  left: 0;
  top: 2px;
  color: #28a745;*/
}

#mainCarousel .benefit-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 2px;
  color:#08a79d;
  border:2px solid #08a79d;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 12px;
  text-align: center;
  line-height: 18px;
}

#mainCarousel .cta-bar {
  /*padding:0px 0px 0px 24px;*/
  margin: 12px 0px 0px 24px;
}

/* společné */
#mainCarousel .cta-bar .btn {
  border-radius: 14px;
  padding: 10px 22px;
  font-size: 18px;
  transition: all 0.25s ease;
  position: relative;
}

/*  PRIMARY */
#mainCarousel .btn-custom-primary {
  background: #08a79d;
  color: #fff;
  border: none;
  cursor: pointer;
}

#mainCarousel .btn-custom-primary:hover {
  background: #16a085;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* OUTLINE */
#mainCarousel .btn-custom-outline {
  border: 2px solid #fff;
  color: #fff;
  background: transparent;
 cursor: pointer;
}

#mainCarousel .btn-custom-outline:hover {
  background: #08a79d;
  color:#fff ;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

#mainCarousel svg .arrow {
	padding-left:16px;
}

/*  animace šipky */
#mainCarousel .arrow {
  transition: transform 0.25s ease;
}

#mainCarousel .btn:hover .arrow {
  transform: translateX(4px);
}


/* obrázková ikona */
#mainCarousel .icon-img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  transition: transform 0.25s ease;
}

/* hover animace i pro img */
#mainCarousel .btn:hover .icon-img {
  transform: scale(1.2);
}

/* Indicators style */
#mainCarousel .carousel-indicators [data-bs-target] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 0 5px;
  background-color: #fff;
}
#mainCarousel .no-space {
  margin: 0 !important;
  padding: 0 !important;
}

/* ======================
   CTA CARD SECTION
====================== */
/*---- cta card ---- */
.cta-card{
    display:flex;
    align-items:center;
    justify-content:space-between;

    width:100%;
    height:100%;

    padding:10px 20px 10px 20px;
    border-radius:32px;

    text-decoration:none;
    transition:.25s ease;

    position:relative;
}

.cta-card:hover{
    transform:translateY(-8px) scale(1.02);
}

/*---- cta icon ---- */
.cta-icon{
    width:90px;
    height:90px;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;
}
.cta-icon img {
	width:70%;
}	
	
/*---- cta text ---- */
.cta-text{
    flex:1;
    padding:0 30px;
}

.cta-text h2{
    font-size:1.8em;
    font-weight:700;
    margin: 0px 0px 10px 0px;
	text-transform: uppercase;
}

.cta-text p{
	margin: 0;
	font-size: 1.0em;
	line-height: 1.2;
	font-weight: lighter;
}

/*---- arrow ---- */
.cta-arrow{
    transition:.25s ease;
	width:14px;
}
.cta-arrow img {
	width:100%;
}	

.cta-card:hover .cta-arrow{
    transform:translateX(10px);
}

/*---- responsivnes ---- */
@media(max-width:991px){

    .cta-card{
        flex-direction:column;
        text-align:center;
        gap:20px;
    }

    .cta-text{
        padding:0;
    }

}

/* ======================
   CTA PICTURE SECTION
====================== */
.cta-pic-section .image-tile {
	position: relative;
	border-radius: 32px;
	overflow: hidden;
	height: 260px;
	background-size: cover;
	background-position: center;
}

.cta-pic-section .tile-overlay {
	position: absolute;
	bottom: 0;
	width: 100%;
	color: #fff;
	text-decoration: none;
	display: block;
}

.cta-pic-section .overlay-inner {
	background: linear-gradient(
		to top,
		rgba(255, 0, 150, 0.75),
		rgba(255, 0, 150, 0.45)
	);
	padding:10px 20px;
	transition: all 0.3s ease;
}

.cta-pic-section .tile-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cta-pic-section .tile-left {
	display: flex;
	align-items: center;
	gap: 10px;
}

.cta-pic-section .tile-icon {
	opacity: 1.0;
	height: 80px;
	width: 80px;
}

.cta-pic-section .tile-icon img {
	width:100%;
}	

.cta-pic-section .tile-text h2 {
	margin: 0;
	font-size: 1.5em;
	font-weight: 700;
	letter-spacing: 1px;
	color: #ffffff;
}

.cta-pic-section .tile-text p {
	margin: 0;
	font-size: 1.1em;
	opacity: 0.85;
	line-height: 1.0em;
	color: #ffffff;
}

.cta-pic-section .tile-arrow {
	opacity: 0.8;
	transition: 0.3s;
	width: 15px;
}

.cta-pic-section .tile-arrow img {
	width:100%;
}

.cta-pic-section .tile-overlay:hover .overlay-inner {
	/*background: linear-gradient(
		to top,
		rgba(255, 0, 150, 0.95),
		rgba(255, 0, 150, 0.7)
	);*/
	transform: translateY(-3px);
}

.cta-pic-section .tile-overlay:hover .tile-arrow {
	transform: translateX(6px);
}

/* ======================
   CTA SMALL IMG SECTION
====================== */
.cta-small-img-section .image-tile {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	height: 178px;
	background-size: cover;
	background-position: center;
}

.cta-small-img-section .tile-overlay {
	position: absolute;
	bottom: 0;
	width: 100%;
	color: #fff;
	text-decoration: none;
	display: block;
}

.cta-small-img-section .overlay-inner {
	background: linear-gradient(
		to top,
		rgba(255, 0, 150, 0.75),
		rgba(255, 0, 150, 0.45)
	);
	padding:6px 18px 6px 8px;
	transition: all 0.3s ease;
}

.cta-small-img-section .tile-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cta-small-img-section .tile-left {
	display: flex;
	align-items: center;
	gap: 10px;
}

.cta-small-img-section .tile-icon {
	opacity: 1.0;
	height: 42px;
    width: 60px;
}

.cta-small-img-section .tile-icon img {
	width:100%;
}	

.cta-small-img-section .tile-text h2 {
	margin: 0;
	font-size: 1.5em;
	font-weight: 700;
	letter-spacing: 1px;
	color: #ffffff;
}

.cta-small-img-section .tile-text p {
	margin: 0;
	font-size: 1.1em;
	opacity: 0.85;
	line-height: 1.0em;
	color: #ffffff;
}

.cta-small-img-section .tile-arrow {
	opacity: 0.8;
	transition: 0.3s;
	width: 12px;
}

.cta-small-img-section .tile-arrow img {
	width:100%;
}

.cta-small-img-section .tile-overlay:hover .overlay-inner {
	/*background: linear-gradient(
		to top,
		rgba(255, 0, 150, 0.95),
		rgba(255, 0, 150, 0.7)
	);*/
	transform: translateY(-3px);
}

.cta-small-img-section .tile-overlay:hover .tile-arrow {
	transform: translateX(6px);
}

/* ======================
   WAVE PICTURE SECTION
====================== */
.wave-section {
    width: 100%;
}

.wave-section .container {
    max-width: 1284px;
    margin: 0 auto;
    background: -webkit-linear-gradient(bottom, rgba(111, 196, 191, 0.75) 8%, rgba(255, 255, 255, 1) 86%);
    background: -o-linear-gradient(bottom, rgba(111, 196, 191, 0.75) 8%, rgba(255, 255, 255, 1) 86%);
    background: linear-gradient(to top, rgba(111, 196, 191, 0.75) 8%, rgba(255, 255, 255, 1) 86%);
    overflow: hidden;
}

.wave-section .icon-left {
    position: relative;
    display: flex;
    padding: 0px;
    /*align-items: flex-end;*/
    overflow: hidden;
}

.wave-section .icon-left img.bgpic {
    max-height: 274px;
    width: auto;
    z-index: 2;
    padding-left: 24px;
    padding-top: 10px;
}

.wave-section .mask-left {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1284px;
    z-index: 3;
    pointer-events: none;
}

.wave-section .icon-right {
    position: relative;
    padding: 0px;
    overflow: hidden;
}

.wave-section .mask-right {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 1284px;
    z-index: 2;
    pointer-events: none;
}

.wave-section .icon-list {
    position: relative;
    z-index: 4;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding: 32px 0px 0px 0px;
}
.wave-section .icon-item {
    text-align: center;
    position: relative;
    padding: 10px 20px;
}
.wave-section .icon-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -10px;
    top: 5%;
    width: 1px;
    height: 50%;
    background: rgba(0,0,0,0.2);
}

.wave-section .icon-box {
    width: 80px;
    height: 80px;
    /*border: 0px solid #0a8f88;*/
    margin: 0 auto 2px;
    transition: 0.3s;
}

.wave-section .icon-box img {
    width: 65%;
}

.wave-section .icon-item p {
    margin: 0;
    color: #0a8f88;
    font-weight: 600;
	opacity: 0.8;
	font-size:1.0em;
	line-height: 1.1;
}
.wave-section .icon-item:hover .icon-box {
    transform: scale(1.15);
}

/* responsivnes */
@media (max-width: 992px) {
	.wave-section .wave-section .icon-left {
		justify-content: center;
		min-height: 220px;
	}
	.icon-left img.bgpic {
		max-height: 200px;
	}
	.wave-section .mask-right {
		right: 0;
	}
	.wave-section .icon-right {
		padding: 40px 15px 70px;
	}
	.wave-section .icon-item:not(:last-child)::after {
		display: none;
	}
}

/* ======================
   FOOTER SECTION
====================== */
footer {
  *background-color: #fffffff;
  background: #a4a4a5;
  color: #ffffff;
  padding: 0px;
  /*border-top: 0px solid #ffffff;*/
}

.footer-logo  {
	/*align-content: center;
	text-align: center;*/
}
.footer-logo a {
	/*padding: 26px 0px 0px 18px;*/
	display: flex;
}

.footer-logo img.logo-img {
  margin: 26px auto;
  max-height: 66px;
}

footer h3.footer-title {
  color: #ffffff;
  font-size: 1.0em;
  font-weight: 700;
  margin-bottom: 10px;
  text-transform: uppercase;
  /*border-bottom: 2px solid #ffffff;*/
  padding: 24px 0px 0px 0px;
}
footer .footer-info {
  font-size: 0.8em;
  color: #ffffff;
  font-weight: normal;
  /*text-transform: uppercase;*/
  margin-bottom: 4px;
  border-bottom: 0px;
  display: inline-block;
}
footer p.firm-info {
  font-size: 1.0em;
  color: #ffffff;
  font-weight: normal;
  /*text-transform: uppercase;*/
}
footer img.footer-icon {
  vertical-align: middle;
  width: 22px;
  display: inline-block;
  padding: 0px 4px 0px 0px;
}

footer a {
  color: #ffffff;
  text-decoration: none;
  /*text-transform: uppercase;*/
  transition: color 0.2s;
}
footer a:hover {
  /*color: #28a745;*/
  color: #00a79e;
}
footer ul.footer-menu {
  padding-left: 0;
  list-style: none;
  margin-top: 6px;
  columns: 2;
  column-gap: 20px;
}
footer ul.footer-menu li {
  margin: 1px 0px 0px 0px;
  /*border-bottom: 2px solid #df1a21;*/
}
footer ul.footer-menu.list-unstyled li a {
  color: #ffffff;
  font-size: 1.0em;
  font-weight: lighter;
  /*text-transform: uppercase;*/
}
/*footer ul.footer-menu.list-unstyled li a::before {
  content: "";
  color: #ffffff;
  padding: 0px 8px 0px 0px;
}*/
footer ul.footer-menu.list-unstyled li a:hover {
  /*color: #ffffff;*/
  font-weight: bold;
  transition: all 0.4s ease;
}
footer a.navbar-brand.link img.logo-img {
  max-height: 74px;
  display: block;
  margin: 0px auto 0px auto;
}
footer ul.list-social {
  padding-left: 0;
  list-style: none;
  display: block ruby;
  margin: 12px auto 0px auto;
  text-align: center;
}
footer ul.list-social li {
  margin: 0px 6px 0px 0px;
}
footer ul.list-social li a img.footer-img {
  width: 48px;
  height: 48px;
}
footer a#top-link {
  text-align: right;
  display: block;
}
/* Copyright  */
.copyright-bar {
  /*background-color: #28a745;*/
  background-color: #00a79e;
  color: #df1a21;
  padding: 16px 0;
  margin-top: 0px;
  font-weight: bold;
  /*text-transform: uppercase;*/
}
.copyright-bar img.top-img {
  width: 28px;
  text-align: end;
}
/* Titles section  */
.title-section {
  /*background-color: #ffffff;*/
  padding: 0px 0px 0px 0px;
  /*border-bottom: 1px solid #eee;*/
}
.title-section .display-title {
  margin-bottom: 0;
  font-size: 2.5rem;
  color: #213f9a;
}
/* --- STYL 1: Podtržení s akcentem (Střed) --- */
.title-section .title-underline {
  position: relative;
  padding-bottom: 24px;
  font-weight: 800;
  /*text-transform: uppercase;*/
}

.title-section .title-underline::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 108px;
  background-image: url('i_wave.svg');
  height: 24px;
  background-repeat: no-repeat;
  transform: translateX(-50%);	
}

.title-section.text-center .title-underline::after {
  left: 50%;
}

.title-section.text-left .title-underline::after {
  left: 54px;
}

.title-section.text-end .title-underline::after {
  right: -54px;
}


/* --- STYL 2a: Vertikální linka (Vlevo) --- */
.title-section .off-title-accent-left {
  /*border-left: 6px solid #df1a22;*/
  border-left: 6px solid #00a79e;
  padding-left: 20px;
  font-weight: 700;
}

/* --- STYL 2b: Vertikální vlnka (Vlevo) --- */
.title-section .title-accent-left {
	/*padding-left: 20px;*/	
	font-weight: 800;
}

.title-section .title-accent-left::before {
  content: "";
  display: inline-block;
  width: 10px;      
  height: 40px;
  background: url("i_wave_thick.svg") no-repeat center;
  background-size: contain;	
  margin: 0px 8px -4px 0px;
}

/* --- STYL 3: Barevný přechod (Gradient) --- */
.title-section .title-gradient {
  font-weight: 900;
  background: -webkit-linear-gradient(bottom left, #213f9a, #00a79d);
  background: -o-linear-gradient(bottom left, #213f9a, #00a79d);
  background: linear-gradient(to top right, #213f9a, #00a79d);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
/* --- STYL 4: Závorky (Industriální vzhled) --- */
.title-section .title-bracket {
  display: inline-block;
  position: relative;
  padding: 0 25px;
  font-weight: 700;
}
.title-section .title-bracket::before, .title-bracket::after {
  content: "";
  position: absolute;
  top: 10%;
  height: 80%;
  width: 4px;
}
.title-section .title-bracket::before {
  left: 0;
  border-left: 3px solid #00a79e;
}
.title-section .title-bracket::after {
  right: 0;
  border-right: 3px solid #00a79e;
}
/* --- STYL 5: Stín (Hloubka) --- */
.title-section .title-shadow {
  font-weight: 800;
  color: #2c3e50;
  text-shadow: 4px 4px 0px rgba(0, 123, 255, 0.1);
}
/* --- STYL 6: Minimalistický s tečkou --- */
.title-section .title-dot {
  font-weight: 700;
}
.title-section .title-dot::after {
  content: ".";
  color: #00a79e;
}
.title-section .title-label {
  font-size: 0.8rem;
  color: #aaa;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}

/* ======================
   NEWS SECTION
====================== */
.news-section {
	/*background-color: #ffffff;*/
	padding: 8px 0px 8px 0px;
}
.news-section .img-zoom-container {
	position: relative;
	cursor: pointer;
	overflow: hidden;
	border-radius: 4px;
	background: #000; /* Pozadí pod lupu */
}
.news-section .news-img {
	width: 100%;
	height: auto;
	display: block;
	transition: all 0.4s ease;
	object-fit: cover;
}
.news-section .img-zoom-container:hover .news-img {
	transform: scale(1.05);
	opacity: 0.8;
}
.news-section .img-zoom-container::after {
	/*content: "\f473";  Bootstrap icon 'zoom-in' */
	content: "\f219";
	font-family: "bootstrap-icons";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 2.5rem;
	color: white;
	opacity: 0;
	transition: opacity 0.3s ease;
	text-shadow: 0 0 15px rgba(0,0,0,0.5);
}
.news-section .img-zoom-container:hover::after {
	opacity: 1;
}
.news-section .news-meta {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	/*color: var(--accent-color);*/
	color:#00a79d;
	font-weight: 800;
	margin-bottom: 0.8rem;
	display: block;
}
.news-section .pic-news-info {
	/*color: var(--text-dark);*/
	color:#00a79e;
	font-weight: 800;
	font-size: 1.15rem;
	line-height: 1.25;
	margin:10px 0px 1rem 0px;
	transition: color 0.2s ease;
	text-transform: none; 
}
.news-section .pic-news-info:hover {
	/*color: var(--accent-color);*/
	color:#00a79d;
	cursor: pointer;
}
.news-section .news-title {
	/*color: var(--text-dark);*/
	color:#111111;
	font-weight: 800;
	line-height: 1.25;
	margin-bottom: 1rem;
	transition: color 0.2s ease;
	text-transform: none; 
}
.news-section .news-title:hover {
	/*color: var(--accent-color);*/
	color:#111133;
	cursor: pointer;
}
.news-section .border-divider-right {
	/*border-right: 1px solid var(--border-color);*/
	border-right: 1px solid #cccccc;
	padding-right: 40px;
}
.news-section .col-border {
	padding: 0 30px;
}
@media (min-width: 768px) {
	.news-section .col-border:not(:last-child) {
		/*border-right: 1px solid var(--border-color);*/
		border-right: 1px solid #cccccc;
	}
}
/* Mobilní fixy */
@media (max-width: 767px) {
	.news-section .border-divider-right, .col-border {
		border-right: none !important;
		/*border-bottom: 1px solid var(--border-color);*/
		border-bottom: 1px solid #cccccc;
		padding: 0 0 30px 0;
		margin-bottom: 30px;
	}
	.news-section .col-border:last-child {
		border-bottom: none;
		margin-bottom: 0;
	}
}
.news-section .read-more {
	font-size: 0.85rem;
	font-weight: 700;
	/*color: var(--text-dark);*/
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}
.news-section .read-more:hover {
	/*color: var(--accent-color);*/
}
.news-section .title-shadow {
	font-weight: 800;
	color: #2c3e50;
	text-shadow: 4px 4px 0px rgba(0, 123, 255, 0.1);
}
.news-section .link-section {
  background-color: #ffffff;
  padding: 8px 0px 8px 0px;
}
.news-section .link-section .css-link {
  text-align: right;
}
.news-section .link-section .css-link a.custom-link {
  background-color: #E06D51;
  color: #FFFFFF;
  padding: 12px 12px 12px 12px;
  border-bottom-right-radius: 18px;
  border-bottom-left-radius: 18px;
  text-decoration: none;
  font-size: 1.2em;
  font-weight: bold;
}
.news-section .link-section .css-link a.custom-link:hover {
  color: #111111;
}

/* news section cfg */
.news-section-cfg {
	padding: 8px 0px 8px 0px;
	/*background-color: #ffffff;*/
}

.news-section-cfg .section-title {
	font-weight: 800;
	margin-bottom: 1rem;
	position: relative;
	padding-bottom: 8px;
}

.news-section-cfg .section-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 3px;
	background-color: #00a79d;
}

.news-section-cfg .news-card {
	/*background: #fff;*/
	border: 1px solid #cccccc;
	border-radius: 8px;
	overflow: hidden;
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-section-cfg .news-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.news-section-cfg .img-container:hover {
	cursor:pointer;
}

.news-section-cfg .img-container .news-img {
	width: 100%;
	/*max-height: 220px;*/
	/*object-fit: cover;*/
}

.news-section-cfg  .img-container:hover .news-img {
	transform: scale(1.05);
	opacity: 0.8;
}

.news-section-cfg .img-container::after {
	/*content: "\f473";*/
	content: "\f219";
	font-family: "bootstrap-icons";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 2rem;
	color: white;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.news-section-cfg .img-container:hover::after { opacity: 1; }

.news-section-cfg .news-body {
	padding: 0px 25px;
}

.news-section-cfg .news-tag {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #00a79d;
	margin-bottom: 10px;
	display: inline-block;
}

.news-section-cfg .news-title {
	font-weight: 700;
	font-size: 1.25rem;
	margin-bottom: 12px;
	padding-top: 25px;
}

.news-section-cfg .news-text {
	color: #6c757d;
	font-size: 0.95rem;
	line-height: 1.6;
}

.news-section-cfg .news-info a:hover {
	background-color: #cccccc;
}

/* ======================
   TEXT CONTENT SECTION
====================== */
.content-section {
	/*background-color: #ffffff;*/
	padding: 8px 0px 8px 0px;
}

.content-section h2 {
	font-weight: 800;
/*	margin-top: 2rem;
	margin-bottom: 1.2rem;*/
	position: relative;	
}

.content-section h3 {
	font-weight: 800;
/*	margin-top: 2rem;
	margin-bottom: 1.2rem;*/
	position: relative;
}

.content-section .container h2  {
  position: relative;
  font-weight: 800;
}

.content-section .container .justify-content-center h2  {
  text-align:center;
}
.content-section .container .justify-content-start h2  {
  text-align:left;
}
.content-section .container .justify-content-end h2  {
  text-align:right;
}

.content-section .container h2.title-underline {
	padding-bottom: 6px;
}

.content-section .container h2.title-underline::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0px;
  width: 100%;
  height: 3px;
  background-color: #00a79d;		
	
}

.content-section .container  h2.title-underwave {
  padding: 0px 0px 24px 0px;
}

.content-section .container .justify-content-center h2.title-underwave::after {
  left: 50%;
  content: "";
  position: absolute;
  bottom: 0;
  width: 108px;
  background-image: url('i_wave.svg');
  height: 24px;
  background-repeat: no-repeat;
  transform: translateX(-50%);		
}

.content-section .container .justify-content-start h2.title-underwave::after {
  position: absolute;
  content: "";
  bottom: 0;
  left:0;
  width: 108px;
  background-image: url('i_wave.svg');
  height: 24px;
  background-repeat: no-repeat;
  /*transform: translateX(-50%);*/	
}

.content-section .container .justify-content-end h2.title-underwave::after {
  position: absolute;
  content: "";
  bottom: 0;
  right:0;
  width: 108px;
  background-image: url('i_wave.svg');
  height: 24px;
  background-repeat: no-repeat;
  /*transform: translateX(-50%);*/	
}


.content-section .container .justify-content-start h2.title-accent-left::before, 
.content-section .container .justify-content-center h2.title-accent-left::before,
.content-section .container .justify-content-end h2.title-accent-left::before{
  content: "";
  display: inline-block;
  width: 10px;      
  height: 40px;
  background: url("i_wave_thick.svg") no-repeat center;
  background-size: contain;	
  margin: 0px 8px -4px 0px;
}


.content-section .container .text-cols-4  {
  column-count: 4;
  column-gap: 30px;
}
.content-section .container .text-cols-3  {
  column-count: 3;
  column-gap: 30px;
}
.content-section .container .text-cols-2  {
  column-count: 2;
  column-gap: 30px;
}

.content-section .container .col-rule-solid {
  column-rule: 1px solid #00A79D;	
}

.content-section .container .col-rule-dashed {
  column-rule: 1px dashed #00A79D;	
}

.content-section .container .col-rule-dotted {
  column-rule: 1px dotted #00A79D;	
}

.content-section .container .col-rule-thick {
  column-rule: 3px solid #00A79D;	
}

.content-section .container .col-rule-dotted {
  column-rule: 0px;	
}

.content-section .container .content-highlight {
  margin:12px 0px 0px 0px;
  padding: 6px 0px 6px 0px;
}


.content-section .container .content-highlight.hi-line {
  border-left: 6px solid #00a79e;
  padding-left: 20px;
  font-weight: 700;
}
.content-section .container .content-highlight.hi-wave::before {
  content: "";
  display: inline-block;
  width: 40px;      
  background: url("i_wave_hi.svg") repeat-y center;
  background-size: contain;	
  margin: 0px 10px 10px 0px;	
}

.content-section .container .content-highlight a, .content-section .container a {
	/*color:#00A79D;*/
	color:#00A79D;
	text-decoration-color: #ff6666;
}



/* ======================
   PHOTO MEDIA SECTION
====================== */
.photo-section-cfg {
	/*background-color: #ffffff;*/
	padding: 8px 0px 8px 0px;
}

.photo-section-cfg .photo-item {
	/*flex: 1 1 0;  Zajišťuje automatické roztažení (2 nebo 3 v řadě) */
	flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;	
	min-width: 250px;
	border-style: solid;
  	padding: 0px !important;
	overflow: hidden;
	height:100%;	
}

.photo-section-cfg .photo-item h3.photo-title a {
	/*background-color: inherit;*/
}


.photo-section-cfg .photo-container {
	position: relative;
	cursor: pointer;
	overflow: hidden;
	background: #000;
	border-radius: 4px;
}

.photo-section-cfg .photo-img {
	width: 100%;
	/* Fixní poměr stran pro různé výšky fotek z administrace */
	aspect-ratio: 16 / 10; 
	object-fit: cover;
	display: block;
	transition: all 0.4s ease;
}

.photo-section-cfg .photo-container:hover .photo-img {
	transform: scale(1.05);
	opacity: 0.8;
}

.photo-section-cfg .photo-container::after {
	/*content: "\f473";*/
	content: "\f219";
	font-family: "bootstrap-icons";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 2rem;
	color: white;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.photo-section-cfg .photo-container:hover::after { opacity: 1; }

/* Texty u fotek */
.photo-section-cfg .photo-title {
	font-weight: 700; 
	font-size: 1.2em; 
	/*margin-top: 8px 0px 4px 0px;*/
	padding: 12px 4px 0px 12px;
}

.photo-section-cfg .photo-item a {
	text-decoration: none;
}

.photo-section-cfg span.photo-text {
	font-size: 0.95rem;
	color: #6c757d; 
	font-weight: 500;
}

/* --- VARIANTA 1: Linky uprostřed --- */
.photo-section-cfg .grid-lined {
	display: flex;
	flex-wrap: wrap;
	gap: 12px; 
}

.photo-section-cfg .grid-gap {
	display: flex;
	flex-wrap: wrap;
	gap: 12px; /* Fixní mezera 4px */
}

.photo-section-cfg .photo-item .photo-body {
	padding: 0px 12px;
}

.photo-section-cfg .photo-item .photo-body .photo-bottom-title {
	font-weight: 700;
	font-size: 1.2em;
	margin-bottom: 4px;
	padding-top: 12px;
}

.photo-section-cfg .photo-item {
	/*flex: 1 1 0;  Zajišťuje automatické roztažení (2 nebo 3 v řadě) */
	flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;	
	min-width: 250px;
	border-style: solid;
  	padding: 0px !important;
	overflow: hidden;
}

.photo-section-cfg .line-col {
	padding: 0 8px 0px 8px;
}

@media (min-width: 768px) {
	.photo-section-cfg .grid-lined .line-col:not(:last-child) {
		/*border-right: 1px solid var(--border-color);*/
		border-right: 1px solid #cccccc;
	}
}

/* Responzivita pro obě varianty */
@media (max-width: 767px) {
	/*.photo-section-cfg .line-col { border-right: none !important; border-bottom: 1px solid var(--border-color); padding: 20px 0; }*/
	.photo-section-cfg .grid-gap .line-col { border-right: none !important; border-bottom: 1px solid #cccccc; padding: 20px 0; }
	.photo-section-cfg .grid-gap .line-col:last-child { border-bottom: none; }
}

/* ======================
   UTIL SECTION
====================== */
.util-section-cfg {
	/*background-color: #ffffff;*/
	padding: 8px 0px 8px 0px;
}

.util-section-cfg .util-item {
	/*flex: 1 1 0;  Zajišťuje automatické roztažení (2 nebo 3 v řadě) */
	flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;	
	min-width: 250px;
	border-style: solid;
  	padding: 0px !important;
	overflow: hidden;
	height:100%;	
}

.util-section-cfg .util-item h3.util-title a, .util-section-cfg .util-item h2.util-title a {

	/*background-color: inherit;*/
}

.util-section-cfg .container h2.title-underwave {
  position: relative;
  padding-bottom: 16px;
  font-weight: 800;
}

.util-section-cfg .util-item.text-center h2.title-underwave::after {
  left: 50%;
  content: "";
  position: absolute;
  bottom: 0;
  width: 72px;
  background-image: url('i_wave.svg');
  height: 16px;
  background-repeat: no-repeat;
  transform: translateX(-50%);		
}

.util-section-cfg .util-container {
	position: relative;
	cursor: pointer;
	overflow: hidden;
	/*background: #000;*/
}

.util-section-cfg .util-img {
	width: 20%;
	aspect-ratio: 1 / 1; 
	object-fit: cover;
	display: block;
	transition: all 0.4s ease;
	margin: 0 auto;
    padding: 8px;
	border-radius: 20%;
  	border: 3px solid #213F9A;

}

.util-section-cfg .util-container:hover .util-img {
	transform: scale(1.05);
	opacity: 0.8;
}

.util-section-cfg .util-container::after {
	/*content: "\f473";*/
	/*content: "\f219";
	font-family: "bootstrap-icons";*/
	/*position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 2rem;
	color: white;
	opacity: 0;
	transition: opacity 0.3s ease;*/
}

.util-section-cfg .util-container:hover::after { 
	/*opacity: 1;*/
}

/* Texty u fotek */
.util-section-cfg .util-title {
	font-weight: 700; 
	font-size: 1.2em; 
	/*margin-top: 8px 0px 4px 0px;*/
	padding: 12px 4px 0px 12px;
}

.util-section-cfg .util-item a {
	text-decoration: none;
}

.util-section-cfg span.util-text {
	font-size: 0.95rem;
	color: #6c757d; 
	font-weight: 500;
}

/* --- VARIANTA 1: Linky uprostřed --- */
.util-section-cfg .grid-lined {
	display: flex;
	flex-wrap: wrap;
	gap: 12px; 
}

.util-section-cfg .grid-gap {
	display: flex;
	flex-wrap: wrap;
	gap: 12px; /* Fixní mezera 4px */
}

.util-section-cfg .util-item .util-body {
	padding: 12px 12px 0px 0px;
}

.util-body span.util-text {
	line-height: 1.2;
}

.util-section-cfg .util-item .util-body .util-bottom-title {
	font-weight: 700;
	font-size: 1.2em;
	margin-bottom: 4px;
	padding-top: 12px;
}

.util-section-cfg .util-item .util-body span.util-text ol {	
	list-style: none;
	line-height: 1.2;
	
}

.util-section-cfg .util-item .util-body span.util-text ul {	
	/*list-style: none;*/
	line-height: 1.2;
}

.util-section-cfg .util-item {
	/*flex: 1 1 0;  Zajišťuje automatické roztažení (2 nebo 3 v řadě) */
	flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;	
	min-width: 250px;
	border-style: solid;
  	padding: 0px !important;
	overflow: hidden;
}

.util-section-cfg .line-col {
	padding: 0 8px 0px 8px;
}

@media (min-width: 768px) {
	.util-section-cfg .grid-lined .line-col:not(:last-child) {
		/*border-right: 1px solid var(--border-color);*/
		border-right: 1px solid #cccccc;
	}
}

/* Responzivita pro obě varianty */
@media (max-width: 767px) {
	/*.util-section-cfg .line-col { border-right: none !important; border-bottom: 1px solid var(--border-color); padding: 20px 0; }*/
	.util-section-cfg .grid-gap .line-col { border-right: none !important; border-bottom: 1px solid #cccccc; padding: 20px 0; }
	.util-section-cfg .grid-gap .line-col:last-child { border-bottom: none; }
}


/* ==============================
   TABLE CONTENT TEXT SECTION 
============================== */

.table-content-section {
	/*background-color: #ffffff;*/
	padding: 8px 0px 8px 0px;
}

.table-content-section h2 {
	font-weight: 800;
/*	margin-top: 2rem;
	margin-bottom: 1.2rem;*/
	position: relative;	
}

.table-content-section h3 {
	font-weight: 800;
	margin-top: 2rem;
	margin-bottom: 1.2rem;
	position: relative;
}

.table-content-section span {
	/*margin-bottom: 1.5rem;
	font-size: 1.1rem;*/
}
.table-content-section span.content-addition {
	margin:6px 0px 6px 0px;
	font-size: 1.0rem;
}


.table-content-section .custom-table-container {
	margin: 0px;
	border-radius: 4px;
	/* overflow: hidden; -- Volitelné, pokud chcete kulaté rohy i u tabulky */
}

.table-content-section .table-custom {
	width: 100%;
	border-collapse: collapse;
	vertical-align: middle;
}

.table-content-section .table-custom thead th {
	background-color: #f8f9fa;
	border-bottom: 2px solid #00b095;
	padding: 10px 15px;
	font-weight: 800;
	/*text-transform: uppercase*/;
	/*font-size: 0.85rem;*/
	letter-spacing: 1px;
	color: #555;
}

.table-content-section .table-custom td {
	padding: 8px 10px;
	border-bottom: 1px solid #cccccc;
	vertical-align: top;
}

.table-content-section .table-custom tbody tr:nth-child(even) {
	background-color: #fafafa;
}


.table-content-section .table-custom tbody tr:hover {
	background-color: rgba(0, 123, 255, 0.03);
	transition: background-color 0.2s ease;
}

/* První sloupec zvýrazněný */
.table-content-section .table-custom td:first-child {
	font-weight: 700;
	/*color: #00b095;*/
	color: #213F9A;
}

.table-content-section .content-highlight ul {
	margin:0;
}

/* Responzivita pro malé displeje - tabulka bude mít scrollbar */
.table-content-section .table-responsive-custom {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* content-section override */

.table-content-section .container h2  {
  position: relative;
  font-weight: 800;
}

.table-content-section .container  h2.title-underwave {
  padding: 0px 0px 24px 0px;
}

.table-content-section .container  h2.title-underline {
  padding: 0px 0px 4px 0px;
}

.table-content-section .container .justify-content-center h2  {
  text-align:center;
}
.table-content-section .container .justify-content-start h2  {
  text-align:left;
}
.table-content-section .container .justify-content-end h2  {
  text-align:right;
}

.table-content-section .container h2.title-underline {
	
}

.table-content-section .container .justify-content-start h2.title-underline::after,
.table-content-section .container .justify-content-center h2.title-underline::after,
.table-content-section .container .justify-content-end h2.title-underline::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0px;
  width: 100%;
  height: 4px;
  background-color: #00a79d;	
}

.table-content-section .container .justify-content-center h2.title-underwave::after {
  left: 50%;
  content: "";
  position: absolute;
  bottom: 0;
  width: 108px;
  background-image: url('i_wave.svg');
  height: 24px;
  background-repeat: no-repeat;
  transform: translateX(-50%);		
}

.table-content-section .container .justify-content-start h2.title-underwave::after {
  position: absolute;
  content: "";
  bottom: 0;
  left:0;
  width: 108px;
  background-image: url('i_wave.svg');
  height: 24px;
  background-repeat: no-repeat;
  /*transform: translateX(-50%);*/	
}

.table-content-section .container .justify-content-end h2.title-underwave::after {
  position: absolute;
  content: "";
  bottom: 0;
  right:0;
  width: 108px;
  background-image: url('i_wave.svg');
  height: 24px;
  background-repeat: no-repeat;
  /*transform: translateX(-50%);*/	
}


.table-content-section .container .justify-content-start h2.title-accent-left::before, 
.table-content-section .container .justify-content-center h2.title-accent-left::before,
.table-content-section .container .justify-content-end h2.title-accent-left::before{
  content: "";
  display: inline-block;
  width: 10px;      
  height: 40px;
  background: url("i_wave_thick.svg") no-repeat center;
  background-size: contain;	
  margin: 0px 8px -4px 0px;
}


.table-content-section .container .text-cols-4  {
  column-count: 4;
  column-gap: 30px;
}
.table-content-section .container .text-cols-3  {
  column-count: 3;
  column-gap: 30px;
}
.table-content-section .container .text-cols-2  {
  column-count: 2;
  column-gap: 30px;
}

.table-content-section .container .col-rule-solid {
  column-rule: 1px solid #00A79D;	
}

.table-content-section .container .col-rule-dashed {
  column-rule: 1px dashed #00A79D;	
}

.table-content-section .container .col-rule-dotted {
  column-rule: 1px dotted #00A79D;	
}

.table-content-section .container .col-rule-thick {
  column-rule: 3px solid #00A79D;	
}

.table-content-section .container .col-rule-dotted {
  column-rule: 0px;	
}

.table-content-section .container .content-highlight {
  margin:12px 0px 0px 0px;
  padding: 6px 0px 6px 0px;
}

.table-content-section .container .content-highlight.hi-line {
  border-left: 6px solid #00a79e;
  padding-left: 2px;
  font-weight: 700;
}
.table-content-section .container .content-highlight.hi-wave::before {
  content: "";
  display: inline-block;
  width: 40px;      
  background: url("i_wave_hi.svg") repeat-y center;
  background-size: contain;	
  margin: 0px 10px 10px 0px;	
}

/* ======================
   YOUTUBE SECTION
====================== */
.youtube-section {
	background-color: #ffffff;
	padding: 8px 0px 8px 0px;
}

.youtube-section .container {
	border-radius: 40px;
}

.youtube-wrapper {
	max-width: 100%;
	margin: 0 auto;
	box-shadow: 0 15px 35px rgba(0,0,0,0.1);

}

.youtube-section .youtube-wrapper .ratio {
	border-radius: 32px;
	overflow: hidden;	
}

video {
	display: block;
	width: 100%;
	height: auto;
}
/* ======================
   VIDEO SECTION
====================== */
.video-section {
	background-color: #ffffff;
	padding: 8px 0px 8px 0px;
}
.video-section .container {
	border-radius: 40px;
}

.video-section .video-wrapper {
	/*max-width: 900px;*/ 
	max-width: 100%;
	margin: 0 auto;
	box-shadow: 0 15px 35px rgba(0,0,0,0.1);
	border-radius: 32px;
	overflow: hidden;
	/*background-color: #000;*/
}

/* Vlastní styly pro lokální video přehrávač */
.video-section video {
	display: block;
	width: 100%;
	height: auto;
}

/* ======================
   DOWNLOAD SECTION
====================== */

:root {
	/* Barvy pro typy souborů */
	--color-pdf: #dc3545;
	--color-xls: #198754;
	--color-doc: #0d6efd;
	--color-jpg: #6c757d;
}

.download-section {
	background-color: #ffffff;
	padding: 0px 0px 8px 0px;
}

.download-section .download-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.download-section .download-item {
	flex: 1 1 calc(33.333% - 20px); 
	min-width: 280px;
	background: #fff;
	/*padding: 12px 20px;*/
	padding: 6px 10px;
	border-radius: 8px;
	border: 1px solid #cccccc;
	display: flex;
	align-items: center;
	transition: all 0.3s ease;
	text-decoration: none; 
	color: inherit;
}

.download-section .download-item:hover {
	border-color: var(--accent-color);
	box-shadow: 0 10px 20px rgba(0,0,0,0.05);
	transform: translateY(-3px);
}

.download-section .file-icon-wrapper {
	width: 50px;
	height: 50px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	color: #fff;
	margin-right: 10px;
	flex-shrink: 0;
}

.download-section .file-pdf { background-color: var(--color-pdf); }
.download-section .file-xls { background-color: var(--color-xls); }
.download-section .file-doc { background-color: var(--color-doc); }
.download-section .file-jpg { background-color: var(--color-jpg); }


.download-section .file-info {
	flex-grow: 1;
}

.download-section .file-name {
	font-weight: 700;
	margin: 0;
	font-size: 1rem;
	line-height: 1.2;
	text-transform: none; /* Zachování malých/velkých písmen */
}

.download-section .file-meta {
	font-size: 0.8rem;
	color: #6c757d;
	margin-top: 4px;
	display: block;
}

.download-section .download-arrow {
	font-size: 1.2rem;
	color: #ced4da;
	transition: color 0.2s;
}

.download-section .download-item:hover .download-arrow {
	color: var(--accent-color);
}

/* Responzivita */
@media (max-width: 767px) {
	.download-section .download-item {
		flex: 1 1 100%; /* Na mobilu pod sebou */
	}
}

/* ======================
   NOTICE SECTION
====================== */

.notice-section {
	/*background-color: #ffffff;*/
	padding: 0px 0px 0px 0px;

	/* pro pozicování dekorací absolutně na okraje této sekce */
	position: relative; 
	overflow: hidden; /* Schová dekorace na malém zobrazení */
}
.notice-section .container {
}
/* --- boční prvky --- */
.notice-section .notice-decor {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;  /* Šířka dekoračního SVG */
	height: 40px; /* Výška dekoračního SVG */
	opacity: 0.3; /* Jemná průhlednost, aby nerušily text */
	pointer-events: none; /* Myš skrz ně projde, neblokují klikání */
}

/* Levá dekorace (přišpendlená k levému okraji obrazovky) */
.notice-section .decor-left {
	left: 20px;
	/*background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23dc3545'%3E%3Cpath d='M12 0l3 9 9 3-9 3-3 9-3-9-9-3 9-3z'/%3E%3C/svg%3E");*/
	background-size: contain;
	background-repeat: no-repeat;
}

/* Pravá dekorace (přišpendlená k pravému okraji obrazovky) */
.notice-section .decor-right {
	right: 20px;
	/*background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc3545' stroke-width='2'%3E%3Cpath d='M0 12 Q6 6, 12 12 T24 12'/%3E%3C/svg%3E");*/
	background-size: contain;
	background-repeat: no-repeat;
}

.notice-section .notice-title {
	font-weight: 800;
	font-size: 1.1rem;
	letter-spacing: 1px;
	margin-bottom: 20px;
	display: inline-block;
	position: relative;
	padding-bottom: 8px;
}

.notice-section .notice-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 40px;
	height: 3px;
	background-color: #ff0000;
}

.notice-section .title-left .notice-title::after { left: 0; }
.notice-section .title-center .notice-title::after { left: 50%; transform: translateX(-50%); }
.notice-section .title-right .notice-title::after { right: 0; }

.notice-section .notice-custom-icon {
	width: 24px;       /* Nastavitelná šířka ikony */
	height: 24px;      /* Nastavitelná výška ikony */
	object-fit: contain;
	vertical-align: text-bottom;
	margin-right: 8px;
}

.notice-section .notice-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
}

.notice-section .notice-col-text {
	flex: 2 1 0;
	min-width: 280px;
	font-size: 1.1rem;
	font-weight: 500;
}

.notice-section .notice-col-btn {
	flex: 1 1 0;
	min-width: 200px;
}

.notice-section .btn-notice {
	font-weight: 700;
	padding: 10px 12px;
	transition: all 0.2s ease;
	text-decoration: none;
	display: inline-block;
}

.notice-section .btn-notice:hover {

}

/* Na mobilech schováme boční dekorace, aby nezavazely textu */
@media (max-width: 767px) {
	.notice-section .notice-decor {
		display: none;
	}
}


/* ======================
   MAP SECTION
====================== */
.map-section {
	/*background-color: #ffffff;*/
	padding: 8px 0px 8px 0px;
}

.map-section .container {
	border-radius: 40px;
}

.map-section .map-wrapper {
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0,0,0,0.08);
	border-radius: 32px;
}

.map-section .map-image-link {
	position: relative;
	display: block;
	cursor: pointer;
	text-decoration: none;
}

.map-section .map-image-link img {
	width: 100%;
	/*height: 450px;*/
	max-height: 648px;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.map-section .map-overlay {
	position: absolute;
	top: 0; left: 0; width: 100%; height: 100%;
	background: rgba(0, 123, 255, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: all 0.3s ease;
}

.map-section .map-image-link:hover .map-overlay {
	opacity: 1;
	background: rgba(0, 123, 255, 0.3);
}

.map-section .map-image-link:hover img {
	transform: scale(1.02);
}

.map-section .btn-map {
	background: white;
	color: #222222;
	padding: 12px 25px;
	border-radius: 50px;
	font-weight: 700;
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

/* ======================
   VIRTUAL TOUR
====================== */
.min-820 {
  min-height: 820px !important;
}
#virtual-map {
  min-height: 820px !important;
}

/* ======================
   FAQ SECTION
====================== */
.faq-section {
/*	padding: 80px 0;*/
}

.faq-section .container {
	
}

.faq-section .faq-title {
	font-weight: 800;
	font-size: 2rem;
	margin-bottom: 25px;
	display: inline-block;
	position: relative;
	padding-bottom: 12px;
}

.faq-section .text-center .faq-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 3px;
	background-color: var(--accent-color);
}

.faq-section .faq-custom-icon {
	width: 32px;
	height: 32px;
	object-fit: contain;
	vertical-align: text-bottom;
	margin-right: 10px;
}

.faq-section .custom-accordion {
	border-top: 1px solid #cccccc;
	margin-bottom: 30px; 
}

.faq-section .accordion-item-custom {
	border-bottom: 1px solid #cccccc;
	background: transparent;
}

.faq-section .accordion-trigger {
	width: 100%;
	padding: 22px 0;
	background: none;
	border: none;
	text-align: left;
	font-weight: 700;
	font-size: 1.2rem;
	color: #213F9A;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: color 0.2s ease;
}

.faq-section .accordion-trigger:hover {
	color: #00A79D;
}

.faq-section .accordion-icon-state {
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1;
	margin-left: 20px;
	transition: transform 0.3s ease;
}

.faq-section .accordion-panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out, padding 0.3s ease;
	padding-right: 40px;
}

.faq-section .accordion-panel-inner {
	padding-bottom: 22px;
	color: #6c757d;
	line-height: 1.7;
	font-size: 1.05rem;
}

.faq-section .accordion-item-custom.active .accordion-trigger {
	color: #00A79D;
}

.faq-section .accordion-item-custom.active .accordion-icon-state {
	transform: rotate(45deg);
}

.faq-section .faq-form-card {
	border: 1px solid #eee;
	border-radius: 12px;
	padding: 40px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.03);
	background: #fff;
}

.faq-section .form-label {
	font-weight: 700;
	font-size: 0.9rem;
	margin-bottom: 8px;
	color: #444;
}

.faq-section .form-control {
	padding: 12px 15px;
	border-radius: 8px;
	border: 1px solid #ddd;
}

.faq-section .form-control:focus {
	border-color: #00A79D;
	box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.1);
}

.faq-section .visually-hidden-spam {
	position: absolute !important;
	height: 1px; width: 1px; 
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

/* ======================
   CHIP SECTION
====================== */
.chip-section {
/*	padding: 80px 0;*/
}

.chip-section .container {
	
}

.chip-section .container .contact_form .form-control {
	
}

.chip-section .container .contact_form label {
  color: #00A79D;
  font-size: 10px;
  text-transform: uppercase;
  position: relative;
  top: 6px;
  left: 16px;
  cursor: text;
  -webkit-transition: all .25s ease;
  -moz-transition: all .25s ease;
  transition: all .25s ease;
  font-weight: 700;
}

.chip-section .container .contactForm .contact_form .btn.btn-fullcolor {
  border-radius: 14px;
  padding: 10px 8px;	
  font-size: 15px;
  transition: all 0.25s ease;
  position: relative;
  background: #FF6666;
  color: #fff;
  border: none;
  cursor: pointer;
  font-weight:600;
}

/* ======================
   PARTNERS SECTION
====================== */

.partners-section {
	/*padding: 80px 0;*/
	background-color: #ffffff;
	overflow: hidden;
}

.partners-section .container {
	/*padding:0;*/
}


.partners-section .partner-hover-name {
	font-size: 0.75rem;
	font-weight: 800;
	color: #000001;
	margin-top: 8px;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-align: center;
	opacity: 0;
	transform: translateY(5px);
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	white-space: nowrap;
}

.partners-section .marquee-wrapper {
	display: flex;
	width: 100%;
	position: relative;
	mask-image: linear-gradient(to right, transparent, #000 15%, #000 85%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, #000 15%, #000 85%, transparent);
}

.partners-section .marquee-track {
	display: flex;
	width: max-content;
	animation: scrollMarquee 30s linear infinite;
	gap: 50px;
	padding: 20px 0;
}

.partners-section .marquee-wrapper:hover .marquee-track {
	animation-play-state: paused;
}

.partners-section .marquee-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 90px; 
	width: 140px;  
	text-decoration: none;
	transition: transform 0.3s ease;
}

.partners-section .marquee-item img {
	max-height: 40px;
	max-width: 100%;
	object-fit: contain;
	filter: grayscale(100%) opacity(0.4);
	transition: all 0.3s ease;
}

.partners-section .marquee-item:hover img {
	filter: grayscale(0%) opacity(1);
	transform: scale(1.05);
}

.partners-section .marquee-item:hover .partner-hover-name {
	opacity: 1;
	transform: translateY(0);
}

@keyframes scrollMarquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.partners-section .partner-badge-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	/*height: 110px; */
	/*padding: 15px;*/
	padding: 8px;
	background: #f8f9fa;
	border: 1px solid #000003;
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.partners-section .partner-badge-link img {
	/*max-height: 35px;*/
	max-height: 5vH;
	max-width: 100%;
	object-fit: contain;
	filter: grayscale(100%) opacity(0.5);
	transition: all 0.3s ease;
	transform: translateY(8px); 
}

.partners-section .partner-badge-link:hover {
	background: #ffffff;
	border-color: #000002;
	box-shadow: 0 10px 25px rgba(0,0,0,0.06);
	transform: translateY(-4px);
}

.partners-section .partner-badge-link:hover img {
	filter: grayscale(0%) opacity(1);
	transform: translateY(0px); 
}

.partners-section .partner-badge-link:hover .partner-hover-name {
	opacity: 1;
	transform: translateY(0);
}


/* ======================
   FLUID SLIDER SECTION
====================== */

#fluidCarousel.custom-carousel-wrapper {
	max-width: 1440px; /* 1284px obrázek + cca 2x 78px na šipky */
	margin: 0 auto;
	background-color: #ffffff;
	position: relative;
}

#fluidCarousel.custom-carousel-wrapper .carousel-inner {
	width: 1284px;
	max-width: 1284px;
	margin: 0 auto;
}

#fluidCarousel.custom-carousel-wrapper .carousel-control-prev,
#fluidCarousel.custom-carousel-wrapper .carousel-control-next {
	width: 78px; /* Šířka bílého prostoru pro šipku */
	opacity: 0.7;
}

#fluidCarousel.custom-carousel-wrapper .carousel-control-prev:hover,
#fluidCarousel.custom-carousel-wrapper .carousel-control-next:hover {
	opacity: 1;
}

/*#fluidCarousel .custom-carousel-wrapper .carousel-control-prev-icon,
#fluidCarousel .custom-carousel-wrapper .carousel-control-next-icon {
	filter: invert(30%) sepia(80%) saturate(500%) hue-rotate(140deg); 
	width: 2.5rem;
	height: 2.5rem;
}*/


#fluidCarousel.custom-carousel-wrapper .carousel-control-prev-icon {
  background-image: url("slider_arrow_gray.svg?r=");
}
#fluidCarousel.custom-carousel-wrapper .carousel-control-next-icon {
  background-image: url("slider_arrow_gray.svg?r=");
  transform: rotate(180deg);
}

/* Stylování indikátorů (teček)  */
#fluidCarousel.custom-carousel-wrapper .carousel-indicators {
	bottom: -20px;
	/*margin-bottom: 1rem !important;*/
}

#fluidCarousel.custom-carousel-wrapper .carousel-indicators [data-bs-target] {
	background-color: #000;
/*	width: 12px;
	height: 12px;
	border-radius: 50%;
	margin: 0 5px;
	background-color: #fff;*/
}

/*----------------*/
#fluidCarousel.custom-carousel-wrapper .carousel-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*background: rgba(0, 0, 0, 0.5);*/
  display: flex;
  /*align-items: center;*/
  justify-content: center;
  text-align: center;
  color: white;
/*  background: -webkit-linear-gradient(left, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.5) 30%, rgba(224, 220, 220, 0) 100%);
  background: -o-linear-gradient(left, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.5) 30%, rgba(224, 220, 220, 0) 100%);
  background: linear-gradient(to right, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.5) 30%, rgba(224, 220, 220, 0) 100%);*/
  background: -webkit-linear-gradient(left, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.2) 45%, rgba(224, 220, 220, 0) 100%);
  background: -o-linear-gradient(left, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.2) 45%, rgba(224, 220, 220, 0) 100%);
  background: linear-gradient(to right, rgba(0, 25, 51, 0.95) 8%, rgba(224, 220, 220, 0.2) 45%, rgba(224, 220, 220, 0) 100%);	
}

#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item	{
	height: 90vH;
	max-height: 452px;
	max-width: 1284px;
  	min-height: 20vH;
	/*background-size: cover;	
	background-position: center;*/
	overflow: hidden;
	/*margin: 0px auto 0px auto;*/
}		

#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item img.w-custom {
	height: 100%;
}	

#fluidCarousel.custom-carousel-wrapper .hero-content {
	margin:16px 0px 0px 0px;
}

#fluidCarousel.custom-carousel-wrapper .hero-content h1 {
  /*font-size: 4rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	text-shadow: 2px 2px 10px rgba(0,0,0,0.5);*/
  display: block;
  /*max-height: 64px;*/
  /*width: 520px;*/
  width: fit-content;
  /*max-width: 60%;*/
  color: #ffffff;
  padding: 6px 0px;
  margin: 0px 0px 0px 24px;
  font-size: 3.6em;
  line-height: 1.0em;
  font-weight: bold;
  text-transform: uppercase;
  text-align: left;
}

#fluidCarousel.custom-carousel-wrapper .hero-content h1 strong span {
  color:#08a79d;
}

#fluidCarousel.custom-carousel-wrapper .hero-content h1 a {
  background-image: url("i_slider_link.svg?");
  /*background-color: #f00;*/
  background-repeat: no-repeat;
  background-position: center;
  width: 46px;
  height: 46px;
  display: inline-block;
  border: 3px solid #df1a21;
  border-radius: 23px;
  /*fill: #0f0;*/
  transform: rotate(90deg);
  margin: 0px 2px 0px 8px;
  /*padding: 6px 2px 0px 12px;*/
  background-size: 26px;
  vertical-align: center;
  text-align: center;
  cursor: pointer;
}

#fluidCarousel.custom-carousel-wrapper .hero-content span.subtitle {
  display: block;
  color: #ffffff;
  height: auto;
  /*max-height: 32px;*/
  width: fit-content;
  max-width: 20%;
  padding:4px 0px 0px 0px;
  margin: 1px 0px 0px 24px;
  font-size: 1.1em;
  line-height: 1.1em;
  font-weight: normal;
  /*text-transform: uppercase;*/
  text-align: left;
}
#fluidCarousel.custom-carousel-wrapper .hero-content p {
  font-size: 1.4rem;
  opacity: 0.9;
  max-width: 800px;
  margin: 0 auto;
}

#fluidCarousel.custom-carousel-wrapper .box-benefits {
  width: 22vW;
  max-height: 12vH;
  overflow: hidden;
  margin: 12px 0px 0px 24px;	
}

#fluidCarousel.custom-carousel-wrapper .benefit-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0px 2px;
}

#fluidCarousel.custom-carousel-wrapper .benefit-list li {
  position: relative;
  padding-left: 26px;
  list-style: none;
  font-size: 1.2em;
  text-align: left;
}

#fluidCarousel.custom-carousel-wrapper .benefit-list li::before {
  /*content: "\F26E"; *//* bootstrap icon check-circle */
  /*font-family: "bootstrap-icons";
  position: absolute;
  left: 0;
  top: 2px;
  color: #28a745;*/
}

/*#fluidCarousel.custom-carousel-wrapper .benefit-list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 2px;
  color:#08a79d;
  border:2px solid #08a79d;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 12px;
  text-align: center;
  line-height: 18px;
}*/

#fluidCarousel.custom-carousel-wrapper .benefit-list li::before {
  content: url("/assets/icon/i_ok.svg");
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  text-align: center;
}

#fluidCarousel.custom-carousel-wrapper .cta-bar {
  /*padding:0px 0px 0px 24px;*/
  margin: 12px 0px 0px 24px;
}

#fluidCarousel.custom-carousel-wrapper .cta-bar .btn {
  border-radius: 14px;
  padding: 10px 22px;
  font-size: 18px;
  transition: all 0.25s ease;
  position: relative;
}

/*  PRIMARY */
#fluidCarousel.custom-carousel-wrapper .btn-custom-primary {
  background: #08a79d;
  color: #fff;
  border: none;
  cursor: pointer;
}

#fluidCarousel.custom-carousel-wrapper .btn-custom-primary:hover {
  background: #16a085;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* OUTLINE */
#fluidCarousel.custom-carousel-wrapper .btn-custom-outline {
  border: 2px solid #fff;
  color: #fff;
  background: transparent;
 cursor: pointer;
}

#fluidCarousel.custom-carousel-wrapper .btn-custom-outline:hover {
  background: #08a79d;
  color:#fff ;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

#fluidCarousel.custom-carousel-wrapper svg .arrow {
	padding-left:16px;
}

/*  animace šipky */
#fluidCarousel.custom-carousel-wrapper .arrow {
  transition: transform 0.25s ease;
}

#fluidCarousel.custom-carousel-wrapper .btn:hover .arrow {
  transform: translateX(4px);
}

/* obrázková ikona */
#fluidCarousel.custom-carousel-wrapper .icon-img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  transition: transform 0.25s ease;
}

/* hover animace i pro img */
#fluidCarousel.custom-carousel-wrapper .btn:hover .icon-img {
  transform: scale(1.2);
}

#fluidCarousel.custom-carousel-wrapper .no-space {
  margin: 0 !important;
  padding: 0 !important;
}

/* ======================
   WIDE SLIDER SECTION
====================== */
#mainCarouselWide .carousel-item {
  height: 90vh;
  max-height: 498px;
  background: no-repeat center center scroll;
  background-size: cover;
  position: relative;
  /*min-height: 70vh;*/
  background-position: center;
  overflow: hidden
}
#mainCarouselWide .carousel-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*background: rgba(0, 0, 0, 0.5);*/
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
}
#mainCarouselWide .carousel-control-prev-icon {
  background-image: url("slider_arrow.svg?r=");
}
#mainCarouselWide .carousel-control-next-icon {
  background-image: url("slider_arrow.svg?r=");
  transform: rotate(180deg);
}

#mainCarouselWide .carousel-indicators {
  margin-bottom: 3rem !important;
}
#mainCarouselWide .hero-content h1 {
  /*font-size: 4rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	text-shadow: 2px 2px 10px rgba(0,0,0,0.5);*/
  display: block;
  background-color: #ecbb00;
  /*max-height: 64px;*/
  /*width: 520px;*/
  width: fit-content;
  /*max-width: 60%;*/
  color: #df1a21;
  padding: 6px 8px;
  margin: 0px 0px 0px 12px;
  border: 3px solid #00a79e;
  border-radius: 32px;
  font-size: 2.2rem;
  font-weight: normal;
  /*text-transform: uppercase;*/
  text-align: left;
  opacity: 0.95;
}

#mainCarouselWide .hero-content h1 a {
  background-image: url("i_slider_link.svg?");
  /*background-color: #f00;*/
  background-repeat: no-repeat;
  background-position: center;
  width: 46px;
  height: 46px;
  display: inline-block;
  border: 3px solid #df1a21;
  border-radius: 23px;
  /*fill: #0f0;*/
  transform: rotate(90deg);
  margin: 0px 2px 0px 8px;
  /*padding: 6px 2px 0px 12px;*/
  background-size: 26px;
  vertical-align: center;
  text-align: center;
  cursor: pointer;
}
#mainCarouselWide .hero-content span.subtitle {
  display: block;
  color: #ffffff;
  background-color: #00a79e;
  height: auto;
  /*max-height: 32px;*/
  width: fit-content;
  max-width: 94%;
  padding: 4px 14px;
  margin: 1px 0px 0px 46px;
  font-size: 1.4rem;
  font-weight: normal;
  /*text-transform: uppercase;*/
  text-align: left;
  opacity: 0.95;
  border-radius: 24px;
}
#mainCarouselWide .hero-content p {
  font-size: 1.4rem;
  opacity: 0.9;
  max-width: 800px;
  margin: 0 auto;
}
/* Indicators style */
#mainCarouselWide .carousel-indicators [data-bs-target] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 0 5px;
  background-color: #fff;
}
#mainCarouselWide .no-space {
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 300px) and (max-width: 480px) {

  #mainCarouselWide .hero-content h1 {
    max-height: 76px;
    width: fit-content;
    max-width: 80%;
    padding: 4px 6px 4px 6px;
    font-size: 1.8em;
  }
  #mainCarouselWide .hero-content h1 a {
    width: 24px;
    height: 24px;
  }
#mainCarouselWide .hero-content.container {
    margin-left: 28px !important;
  }
  #mainCarouselWide .hero-content span.subtitle {
    max-height: 128px;
    width: fit-content;
    max-width: 85%;
    padding: 4px 12px 4px 8px;
    margin: 0px 0px 0px 12px;
    font-size: 1.6em;
    line-height: 1.2em;
  }
 
}


/* Telefony */
@media (max-width: 575.98px) {

	.top-header {
	  padding: 12px 0px 0px 0px;
	}	
	
	.top-header #logo.site-logo	{
		width: 65%;
    	max-height: 56px;
    	max-width: 100%;		
	}	
	
	.top-header #logo.site-logo a.brand-logo {
		display: block;
		align-items: left;
		text-align: left;
		padding-left: 12px;
	}	
	
	.top-header #logo.site-logo a.brand-logo img.logo-img	{
		max-width: 164px;
    	max-height: 54px;
	}
	
	.top-header .top-utility-nav {
		max-width: 100%;
		background-color: #eeeeee;
		padding: 10px 0px;
		margin: 0;
		min-width: 100%;
	}	
	
	.top-header .top-utility-nav a.utility-item	{
		max-width: 104px;
   		width: 94px;
	}
	
	.top-header .top-utility-nav a.utility-item img {
		max-width: 42px;
		max-height: 36px;
	}	
	.top-header .top-utility-nav a.utility-item span {
		display: none;
		visibility: hidden;
	}	
	
	.top-header .col-12 {
		max-width:100%;
		padding: 0px;
	}
	
	.top-header .occupancy {
		width: 128px;
		height:44px;
		position: absolute;
		right: 10px;
		top: 0;
	}	
	
	.top-header .occupancy .occupancy-box {
		width: 128px;
		border-radius: 12px;
		height: auto;
		padding: 2px;
	}	
	.top-header .occupancy .occupancy-box .occupancy-label {
		display: none;
		visibility: hidden;		
	}	
	
	.top-header .occupancy .occupancy-box #visits-buble {
		font-size:24px;
	}
	
	.top-header .occupancy .nav-divider-wave {
		display: none;
		visibility: hidden;
	}
	
/* carousel on small dev */	
	.container-fluid {
		max-resolution: 0px;
		padding: 0px;
	}

	#mainCarousel .carousel .hero-content,
	#fluidCarousel.custom-carousel-wrapper .hero-content {
	  margin: 4px 0px 0px 0px !important;
	}	

	#mainCarousel .carousel .hero-content h1,
	#fluidCarousel.custom-carousel-wrapper .hero-content h1	
	{
	  max-height: 108px !important;
	  width: 100% !important;
	  max-width: 100% !important;
	  padding: 3px 0px !important;
	  margin: 4px 0px 0px 12px !important;
	  font-size: 2.2em !important;
	  line-height: 1.0em !important;
	}	

	#mainCarousel .carousel .hero-content span.subtitle,
	#fluidCarousel.custom-carousel-wrapper .hero-content span.subtitle {
	  max-width: 100% !important;
	  padding: 4px 0px 0px 0px !important;
	  margin: 1px 0px 0px 12px !important;
	  font-size: 1.0em !important;
	  line-height: 1.0em !important;
	}

	#mainCarousel .carousel.slide .carousel-inner,
	#fluidCarousel.custom-carousel-wrapper .carousel-inner{
		width: 100% !important;
		max-width: 100% !important;
		margin: 0px auto;
	}

	#mainCarousel .carousel .carousel-inner .carousel-item	{
		height: 40vh !important;
		max-height: 40vH !important;
		max-width: 100%!important;
		min-height: 20vH;
	}	

	#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item	{
		height: 26vh !important;
		max-height: 26vH !important;
		max-width: 100%!important;
		min-height: 20vH;
	}		

	#fluidCarousel.custom-carousel-wrapper .carousel-control-prev, #fluidCarousel.custom-carousel-wrapper .carousel-control-next {
	  width: 18px;
	  opacity: 0.9;
	}
	#fluidCarousel.custom-carousel-wrapper .carousel-control-next-icon, #fluidCarousel.custom-carousel-wrapper .carousel-control-prev-icon {
	  width: 1rem;
	  height: 1rem;
	}	

	#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item img.w-custom {
		height:26vH;
	}	

	#mainCarousel .carousel .carousel-inner .carousel-item .carousel-overlay .hero-content,
	#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item .carousel-overlay .hero-content {
	  margin: 12px 0px 0px 0px;
	  padding: 0px;
	}	

	#mainCarousel .carousel .carousel-inner .carousel-item .carousel-overlay .box-benefits,
	#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item .carousel-overlay .box-benefits {
		display: none;
		visibility: hidden;
	}

	#mainCarousel .carousel .carousel-inner .carousel-item .carousel-overlay .cta-bar,
	#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item .carousel-overlay .cta-bar	{
		max-width:100% !important;
		align-items: flex-start !important;
		margin: 12px 0px 0px 12px !important;
	}	

	#mainCarousel .carousel .carousel-inner .carousel-item .carousel-overlay .cta-bar .btn.btn-custom-primary,
	#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item .carousel-overlay .cta-bar .btn.btn-custom-primary 	{
	  max-width: 50% !important;		
	  border-radius: 10px !important;
	  padding: 5px 10px !important;
	  font-size: 0.9em !important;
	}

	#mainCarousel .carousel .carousel-inner .carousel-item .carousel-overlay .cta-bar .btn.btn-custom-outline,
	#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item .carousel-overlay .cta-bar .btn.btn-custom-outline	{
	  max-width: 50% !important;
	  border-radius: 10px !important;
	  padding: 5px 10px !important;
	  font-size: 0.9em !important;
	}
	#mainCarousel .carousel-overlay,
	#fluidCarousel.custom-carousel-wrapper .carousel-overlay	{
		width:100% !important;
	}
	#mainCarousel .cta-section .cta-card,
	#fluidCarousel.custom-carousel-wrapper .cta-section .cta-card	{
		flex-direction: row;
		gap: 18px;
	}	
	#mainCarousel .cta-section .cta-card .cta-text,
	#fluidCarousel.custom-carousel-wrapper .cta-section .cta-card .cta-text	{
		text-align: left;
	}

/* eof carousel on small dev */	
	
	#pic-icons.wave-section .container {
		background: #ffffff;
	}	
	#pic-icons.wave-section .container .icon-left	{
		order:2;
	}
	#pic-icons.wave-section .container .icon-right	{
		order:1;
		padding: 0px;
	}	
	#pic-icons.wave-section .container .icon-right  img.mask-right	{
		display: none;
		visibility: hidden;
	}	
	
	#pic-icons.wave-section .icon-list {
	  justify-content: center !important;
	  gap: 20px;
	  padding: 12px 0px 0px 0px;
	}	
	
	#pic-icons.wave-section .icon-list .icon-item {
  		padding: 6px 20px;
	}
	
	#pic-icons.wave-section .icon-list .icon-item .icon-box img {
	  width: 75%;
	}	
	
	#pic-icons.wave-section .icon-list .icon-item .icon-box {
	  width: 80px;
	  height: 72px;
	}	
	
	.cta-small-img-section .image-tile	{
		max-height: 230px;
    	height: 230px;
		/*height: 260px;*/
	}
	
	.cta-small-img-section .overlay-inner {
		padding: 16px 18px 16px 8px;
	}	
	
	footer h3.footer-title {
	  text-align: center;
	}	
	
	footer .footer-info {
	  text-align: center;
	  width: 100%;
	}	
	
	footer a.footer-link img.map-img {
		display: block;
  		margin: 0 auto;
		width: 90%;
	}
	
	footer ul.footer-menu {
	  list-style: none;
	  margin-top: 6px;
	  columns: 1;
	  text-align: center;
	  font-weight: bold;
	}	
	
	.footer-logo img.logo-img {
	  margin: 26px auto 4px auto;
	  max-height: 66px;
	}
	
	.table-content-section .container .text-cols-4, 
	.table-content-section .container .text-cols-3,
	.table-content-section .container .text-cols-2 {
	  column-count: 1;
	  column-gap: 14px;
	}
	
	.table-content-section .container .content-highlight.hi-line {
	  border-top: 6px solid #00a79e;
	  border-left:none;
	  padding-left: 0px;
	}
	
	.table-content-section .container.py-2  .content-highlight  ul {
		padding-left: 0px;
	}
	
	.content-section .container .text-cols-2,
	.content-section .container .text-cols-3,
	.content-section .container .text-cols-4 {
	  column-count: 1;
	  column-gap: 14px;;
	}
	
	.title-section .container .display-title.title-1 {
		font-size:2.0em !important;
	}	
	.news-section-cfg .container .section-title.title-1.fs-1 {
		font-size:1.6em !important;
	}	
	
	.notice-section .notice-col-text.fs-3,
	.notice-section .notice-col-text.fs-2,
	.notice-section .notice-col-text.fs-1,
	.notice-section .notice-col-text.fs-4 {
		font-size: 1.2em !important;
		line-height: 1.2;
	}	
	
	
}

/* Extra small */
@media (min-width: 419.98px) {
	

}


/* Běžné telefony */
@media (min-width: 320px) and (max-width: 419.98px) {
	.top-header .top-utility-nav a.utility-item {
	  /*max-width: 82px;
	width: 78px;*/
	  max-width: 48px;
	  width: 48px;
	}
	.top-header .top-utility-nav {
	  gap: 24px;
	}
	#mainCarousel .carousel .carousel-inner .carousel-item .carousel-overlay .cta-bar	{
		flex-direction: row;
		gap: .5rem !important;
	}	
}

/* Tablety */
@media (min-width: 576px) and (max-width: 767.98px) {

}

/* Menší notebooky */
@media (min-width: 768px) and (max-width: 991.98px) {

}

/* Notebooky */
@media (min-width: 992px) and (max-width: 1199.98px) {
	
	.top-header .col-12{
		/*flex: 0 0 auto;*/
		width: 50%;
  	}

	.top-header .bg-watermark-text {
		display: none;
		visibility: hidden;
	}	
	
	#fluidCarousel.custom-carousel-wrapper .carousel-inner .carousel-item {
	  max-height: 412px;
	  max-width: 120vH;
	}
	
	#fluidCarousel.custom-carousel-wrapper .hero-content h1 {
	  margin: 0px 0px 0px 0px;
	  font-size: 3.0em;
	}	
	
	#fluidCarousel.custom-carousel-wrapper .hero-content span.subtitle {
	  max-width: 40%;
	  margin: 1px 0px 0px 0px;
	}	
	
	#fluidCarousel.custom-carousel-wrapper .box-benefits {
	  width: 42vW;
	  margin: 12px 0px 0px 0px;
	}	
	
	#fluidCarousel.custom-carousel-wrapper .cta-bar {
	  margin: 12px 0px 0px 0px;
	}	

}

/* Desktop */
@media (min-width: 1200px) and (max-width: 1399.98px) {
	.top-header .col-12 {
		max-width:600px;
	}
	.top-header .top-utility-nav {
	  min-width: 340px;
	}
	.top-header .utility-item {
	  width: 96px;
	  max-width: 104px;
	}	
	.top-header .utility-item span {
		display: none;
		visibility: hidden;
	}

	
}

/* Velké monitory */
@media (min-width: 1400px) {

}

