/*pridavne formatovani komponent sablony webu*/
:root {
/*menu*/	
/* breakpoint pro mobilni menu je třeba nastavit všude kde je "mobilbreakpoint" výchozí hodnota je 1050 */ 	
  --menu-max-sirka: 1400px; /*maximalni sirka menu 1600px nebo 100% */	
  --menu-text-font-size: 16px; /*velikost fontu menu*/	
  --menu-font-weight: 500; /*tucnost menu*/		
  --color-menu-text: #000; /*text menu*/
  --color-menu-text-vybrana: #000; /*text položky menu vybrané*/		
  --color-menu-text-mobil: #000; /*text menu a delici linka na mobilu*/		
  --color-hamburger-mobil: #000; /*barva hamburgeru na mobilu*/	
  --color-menu-hover: #ccc;  /*vybrana polozka menu*/
  --color-pozadi-podmenu: #FFF;	/*pozadi podmenu*/
  --color-close-mobil: #000; /*barva hamburgeru na mobilu*/		
  --color-podmenu-text-hover: #000; /*text hover polozky podmenu*/	
  --color-podmenu-text-pozadi-hover: #CCC; /*pozadi hover polozky podmenu*/		
  --color-menu-pozadi: rgba(255, 255, 255, 1); /*pozadi menu*/
  --fade-start: rgba(255, 255, 255, 1);  /*pruhlednost menu start-end*/
  --fade-end: rgba(255, 255, 255, 1); 
  --color-menu-pozadi-pri-rolovani: rgba(255, 255, 255, 1); /*pozadi menu pri rolovani stranky a zafixovani na hornim okraji - fungije, pokud je --color-menu-pozadi: transparent;*/
  --vyska-menu-pozadi-pri-rolovani: 55px; /*vyska pruhledneho menu pri rolovani*/    
  --menu-vyska: 55px; /*vyska menu - kdyz je zakomentovane je automaticka*/
	
/*banner*/	
  --color-text-bootstrap-banner: #fff; /*barva textu na banneru*/
  --sirka-boot-slideru: 1400px; /*sirka slideru a hlavni obsahove plochy 100% nebo 1600px */	
  --zarovnani-bootstrap-banner: left; /*kam bude zarovanan text na banneru*/
  --maximalni-vyska-banneru:900px;	/*maximalni vyska banneru 100dvh je na celou vysku obrazovky*/
  --minimalni-vyska-banneru:700px;	/*minimalni vyska banneru 100dvh je na celou vysku obrazovky*/    
  --podbarveni-textu-banneru: transparent; /*podbarveni textu banneru rgba(0, 0, 0, 0.5)*/	
    
/*rozcestnik*/	
  --color-dlazdice: #000; /*barva pozadi dlazdic rozcestniku*/	
  --color-dlazdice-rozcestnik-background: transparent; /*barva pozadi dlazdic rozcestniku*/	
  --color-dlazdice-rozcestnik-background-hover: #FAFDFF; /*barva pozadi dlazdic rozcestniku hover*/		
  --velikost-fontu-dlazdice-h2: 20px; /*velikost nadpisu h2 na dlazdici*/	
  --velikost-fontu-dlazdice-p: 15px; /*velikost textu na dlazdici*/	
}	
}


/*POPUP OKNO*/
#my-popup {
    width: 100%;
    max-width: 800px;
    top: -100%;
    left: 50%;
    background: #4bab53;
	padding: 10px;
}

/*jarallax*/
.jaralax-text-container a {
	text-decoration: none !important;
	color: #FFF !important;
}
.jaralax-text-container .small {
	font-size: 16px !important;
	max-width: 800px;
}
.jaralax-text-container .btn-outline-light:hover {
	background-color: rgba(5,5,5,0.5);
}
.jarallax {
	margin-top: 50px !important;
	margin-bottom: 50px !important;
}
/*vyska slideru na uvodni strance*/
.intro {
    height: 50vh;
}
/*vyska obsahu slideru na uvodni strance*/
.intro .carousel-item-a {
    height: 50vh ;
}
.intro-single {
	padding-top: 1rem !important; 
}
.carousel {
	max-width:  var(--sirka-boot-slideru);
	margin: auto;
}
/*odsazeni navigacniho menu*/
.navbar-default {
    padding-top: 8px;
    padding-bottom: 8px;
}
/*bxslider bez stinu*/
.bx-wrapper {
    -moz-box-shadow: 0 0 0px #ccc !important;
    -webkit-box-shadow: 0 0 0px #ccc !important;  
    box-shadow: 0 0 0px #ccc !important; 
    border: 0px solid #fff !important;
    background-color: transparent !important; /*pruhledne pozadi bxslider*/
}

 
/*sipka nahoru*/ 
#scroll-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #333;
    color: #fff;
    padding: 10px;
    border-radius: 50%;
    cursor: pointer;
    display: none;
    
}

#scroll-to-top i {
  font-size: 20px;
}


/*overlay menu*/
.overlay {
    background-color: rgb(255 255 255 / 97%);
}
.overlay-content {
    position: relative;
    top: 5%;
    width: 100%;
    text-align: center;
    margin-top: 5px;
}
.overlay-content a {
	font-size: 30px !important;
	font-weight: 500;
	color: var(--color-header);
	font-family: var(--font-family-headers);
}
.overlay-content a:hover {
	color: var(--color-menu-hover);
}
@media (max-width:767px) {
.overlay-content a {
	font-size: 20px !important;
}
}

/* hlavicka webu */
.header {
  width: 100%;
  display: block;
  min-height: 214px;
  padding-top: 0px;
}
.headerwp {
  max-width:  var(--sirka-boot-slideru);
  margin: 0 auto;
  padding: 0px;
}
.posrlt {
  position: relative;
}
.headtoppart {
  display: block;
  width: 100%;
  background-color: #efefef;
  height: 39px;
  margin: 0px auto;
  padding: 0px 0px;
  min-width: 320px;
}
.headertopleft {
  width: 50%;
  float: left;
}
.headertopright {
  width: 50%;
  float: right;
  text-align: right;
}
.headertopright a {
  line-height: 39px;
  color: #5f5f5f;
  font-size: 14px;
  padding: 0px 12px;
  float: right;
}
.headertopright a:first-child {
  font-size: 12px;
}
.headertopright a:hover {
  background-color: #272B37;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.headertopright a.facebookicon:hover {
  background-color: #3b5998;
  color: #fff;
}
.headertopright a.twittericon:hover {
  background-color: #55acee;
  color: #fff;
}
.headertopright a.linkedinicon:hover {
  background-color: #0077b5;
  color: #fff;
}
.headertopright a.googleicon:hover {
  background-color: #dd4b39;
  color: #fff;
}
.address {
  padding: 10px 0px 0px 0px;
  font-size: 12px;
  color: #b6b6b6;
}
.address a {
  color: #747373;
}
.address span {
  margin-right: 9px;
  color: #747373;
}
.address i {
  margin-right: 6px;
  margin-left: 6px;
  color: #5f5f5f;
}
.norlt {
  position: static;
}
.menuwrapper {
  position: relative;
}
.show-grid {
  background-color: #fff;
}
.btn-border {
  border: 2px solid;
  border-radius: 40px;
  display: inline-block;
  font-size: 13px;
  text-transform: uppercase;
  -moz-user-select: none;
  background-image: none;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  color: #fff;
  padding: 15px 40px;
}
.btn-border:hover {
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
}
.btn-border:focus {
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
}
.mobiletext02 {
  display: none;
}
@media only screen and (min-width: 230px) and (max-width:991px) {
  .headtoppart {
    display: none;
  }
  .swichermainbx {
    width: 96%;
    margin: 25% 2%;
    display: block;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 15px 25px;
    border-radius: 14px;
  }
  .swichermainleft {
    width: 98%;
    margin: 1% 1%;
  }
  .swichermainright {
    width: 98%;
    margin: 1% 1%;
  }
  .wscolorcode {
    width: 12.5%;
  }
  .swichertxt {
    display: none;
  }
  .swichertxt02 span {
    display: none;
  }
}
/* hlavicka webu */
.section-title {
  padding: 0px !important;
}
.section-title p {
  text-align: left;
}
/*webslide menu*/
/*vybrana polozka*/
.wsmenu > .wsmenu-list > li > ul.sub-menu > li > ul.sub-menu {
  /*min-width: 350px !important; /*minimalni sirka podmenu na desktopu*/
}
/*nepodtrhavat odkazy v menu*/
.wsmenu>.wsmenu-list>li>ul.sub-menu>li>a {
    text-decoration: none;
}
/*vybrana polozka menu*/
.wsmenu>.wsmenu-list>li>a.active {
    background-color: #003399;
    color: #ffffff;
}
/*posun loga vyse*/
.desktoplogo {
    margin-top: -17px;
}
/*font menu*/
.wsmenu {
    font-family: var(--font-family);
    font-size: 16px;
    width: auto;
    float: right;
}
/*font podmenu*/
.wsmenu>.wsmenu-list>li>ul.sub-menu>li>a {
    font-size: 16px;
}
/*
.wsmenu>.wsmenu-list>li>a.active { /*aktivni vybrana polozka v hlavnim menu* /
    background-color: #3C51BA;
    color: #fff !important;
}
.wsmenu>.wsmenu-list>li>a:hover {
    background-color: #dedede !important; /*hover polozka menu* /
    color: #000;
}
.wsmenu>.wsmenu-list>li>ul.sub-menu>li>a:hover { /*hover polozka submenu 1 urovne* /
    background-color: #dedede !important;
    color: #000;
	text-decoration: none;
}
.wsmenu>.wsmenu-list>li>ul.sub-menu>li>ul.sub-menu>li>a:hover { /*hover polozka submenu 2 urovne* /
    background-color: #E82929 !important;
    color: #fff;
	text-decoration: none;
}
.wsmenu>.wsmenu-list>li>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu>li>a:hover { /*hover polozka submenu 3 urovne* /
    background-color: #35D33E !important;
    color: #FFF;
	text-decoration: none;
}
*/
.wsmobileheader {
  box-shadow: 0 0 0px #FFF; /*linka pod hlavickou menu na mobilu*/
}
/*menu 1 urovne*/
.wsmenu > .wsmenu-list > li > ul.sub-menu {
  box-shadow:
    0 1px 1px hsl(0deg 0% 0% / 0.075), 0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075), 0 8px 8px hsl(0deg 0% 0% / 0.075), 0 16px 16px hsl(0deg 0% 0% / 0.075);
}
/*menu 2 urovne*/
.wsmenu > .wsmenu-list > li > ul.sub-menu > li > ul.sub-menu {
  box-shadow:
    0 1px 1px hsl(0deg 0% 0% / 0.075), 0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075), 0 8px 8px hsl(0deg 0% 0% / 0.075), 0 16px 16px hsl(0deg 0% 0% / 0.075);
}
/*menu 3 urovne*/
.wsmenu > .wsmenu-list > li > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu {
  box-shadow:
    0 1px 1px hsl(0deg 0% 0% / 0.075), 0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075), 0 8px 8px hsl(0deg 0% 0% / 0.075), 0 16px 16px hsl(0deg 0% 0% / 0.075);
}
.wsmenucontainer {
  background-size: cover;
  background-image: none; /*obrazek pozadi v menu?*/
  overflow: hidden;
  background-attachment: fixed;
  background-position: 50% 0;
  background-repeat: no-repeat;
}


/*logo rotator*/
.logo-inner {
	background-color: transparent!important; /*barva pozadi rotatoru loga*/
}
.logo-item img {
  max-height: 50px !important;
  max-width: 100px !important;
  width: 100%;
  object-fit: cover;
  margin: 10px !important;
  display: block;
  /*zapnuti cernobileho provedeni lobrazku*/
  /* filter: grayscale(1);
 -webkit-filter: grayscale(1);*/
  transition: 0.3s all;
  -webkit-transition: 0.3s all;
  cursor: pointer;
}
.logo-item img:hover {
  filter: grayscale(0);
  -webkit-filter: grayscale(0);
}
 
section.logo-section {
  padding: 20px 0; /*odsazeni konteineru pro loga*/
  background-color: #fff !important; /*barva pozadi pro loga*/
  max-width: var(--max-sirka);
  margin: auto;
}
section.logo-section .section-heading {
  text-align: center;
  margin-bottom: 40px;
}
.slick-track * {
  outline: none;
}
.logo-section .slick-prev:before {
  /*content: '\f053' !important;
  font-family: "Font Awesome 5 Free";
  color: #000 !important;*/
  content: url('../ps/web-rotator/vlevo.png'); /*url of image, nelze menit velikost ani odsazeni od textu! */
}
.logo-section .slick-next:before {
  /*content: '\f054' !important;
  font-family: "Font Awesome 5 Free";
  color: #000 !important;*/
  content: url('../ps/web-rotator/vpravo.png'); /*url of image, nelze menit velikost ani odsazeni od textu! */
}
.logo-section .slick-list.draggable {
  margin: 0 30px;
}
.logo-section .slick-next {
  right: 0 !important;
}
.logo-section .slick-prev {
  left: 0 !important;
}
.logo-section .slick-prev, .logo-section .slick-next {
  z-index: 5;
}

 

/*paticka odkazy*/
.list-unstyled a {
	text-decoration: none !important;
}

/*bootstrap tabulky bez pozadi*/
.table>:not(caption)>*>* {
    background-color: transparent!important;
}

/*flexbox rozcestník pro použití na klikání na kategorie*/
.flexbox-rozcestnik-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 20px;
}
.flexbox-rozcestnik-category {
    flex: 1 1 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background-color: var(--color-dlazdice-rozcestnik-background);
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    color: var(--color-dlazdice);
    transition: all 0.3s ease;
}
.flexbox-rozcestnik-category img {  
    max-width: 150px;  /* Omezit maximální šířku obrázku */  
    max-height: 150px; /* Omezit maximální výšku obrázku */  
    border-radius: 50% !important; /* Udělat obrázek kulatým */  
    object-fit: cover;  /* Uloží poměr stran obrázku a ořízne, pokud je to potřeba */  
} 
.flexbox-rozcestnik-category * {
    color: var(--color-dlazdice);
}
.flexbox-rozcestnik-category:hover {
    background-color: var(--color-dlazdice-rozcestnik-background-hover);
    transform: scale(1.02);
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}
.flexbox-rozcestnik-icon {
    font-size: 2em;
    margin-bottom: 10px;
}
.flexbox-rozcestnik-category h2 {
    margin: 0px;
	margin-top: 10px;
    padding: 0px;
    font-size: var(--velikost-fontu-dlazdice-h2) !important;
	font-weight: 700 !important;
}
.flexbox-rozcestnik-container h2 {
   color: var(--color-dlazdice);
   display: flex;
	flex-grow: 1;
}
.flexbox-rozcestnik-container p {
   display: flex;
   margin: 10px;
   font-size: var(--velikost-fontu-dlazdice-p);	
}

@media (max-width: 768px) {
    .flexbox-rozcestnik-category {
        flex-basis: 100%;
    }
}


/*mega responzive menu 2024 */
/*v menu a podmenu zajistuje zavirani menu na mobilu kliknutim a take hranate podmenu*/
.navigation-portrait .nav-menus-wrapper {
    width: 100%;
	max-width: 400px;
}
.nav-menu > li > .nav-dropdown {
     margin-top: -2px;
}
.submenu-indicator-chevron, .nav-dropdown > li > a {
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    border-radius: 0px !important;
    -khtml-border-radius: 0px !important;		
}
/* Fixní pozice pro menu při rolování */  
.megamenu-2024-content {  
    position: fixed; /*menu fixovane na top stranky*/  
    top: 0;  
    left: 0;  
    right: 0;  
    z-index: 1000; /* Zajistí, že menu bude nad ostatním obsahem */  
    transition: background-color 0.3s ease; /* Plynulý přechod barvy pozadí */  
}  
/* Průhledné pozadí pro menu při rolování */  
.megamenu-2024-content.scrolled {  
    background-color: var(--color-menu-pozadi-pri-rolovani); /* x% průhledné pozadí */
	height: var(--vyska-menu-pozadi-pri-rolovani) !important; /*vyska menu na mobilu*/
}
/*podmenu - minimalni sirka*/
.nav-dropdown {
    margin: 2px;
    padding: 0;
    display: none;
    min-width: 220px; /*minimalni sirka podmenu*/
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); /*stin podmenu*/
    overflow: hidden;
}
/*obal menu*/
.navigation {
	max-width:  var(--sirka-boot-slideru);
	margin: auto;
    display: block;
}
.logo-menu-mobil {
	display: none;
}
.megamenu-2024-content {
	padding-left: 0px;
	padding-right: 0px;
	background-color:  var(--color-menu-pozadi);
	position: fixed !important;
	height: var(--menu-vyska); /*menu vyska*/;
	width: 100%;
	z-index: 999;
	border-radius: 0px !important; /*navigacni menu vzdy hranate rohy*/
}
 
.navigation {
	max-width: var(--menu-max-sirka);
    height: var(--menu-vyska); /*menu vyska*/;
    background-color:  var(--color-menu-pozadi); /*pozadi menu*/
    background: linear-gradient(to bottom, var(--fade-start), var(--fade-end)); 	
}
/*vychozi nastaveni barev a fontu menu*/
.nav-menu > li > a {
    height: var(--menu-vyska) !important; /*menu vyska*/;
    font-size: var(--menu-text-font-size);
    color:var(--color-menu-text); /*text menu*/
    -webkit-transition: color 0.3s, background 0.3s;
    transition: color 0.3s, background 0.3s;
	font-weight: var(--menu-font-weight);
}
/*delici linka menu na mobilu*/
.navigation-portrait .nav-menu > li {
    border-top: solid 1px var(--color-menu-text-mobil);
}
/*vypis podmenu*/
.nav-dropdown > li > a {
    width: 100%;
    padding: 16px 20px;
    float: left;
    font-size: var(--menu-text-font-size);
    color: var(--color-menu-text-mobil); /*text menu na mobilu*/
    background-color: var(--color-pozadi-podmenu); /*pozadi podmenu*/
    -webkit-transition: color 0.3s, background 0.3s;
    transition: color 0.3s, background 0.3s;
}
@media (max-width:1050px) {
/*v menu a podmenu zajistuje zavirani menu na mobilu kliknutim a take hranate podmenu*/
.item-close-menu, .submenu-indicator-chevron, .nav-menu li, .nav-dropdown, .item-close-menu, .item-close-menu a, .nav-menus-wrapper * {
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    border-radius: 0px !important;
    -khtml-border-radius: 0px !important;		
}	
.nav-dropdown {
   box-shadow: 0 0px 0px; /*stin podmenu*/
}	
.nav-menu > li > a {
    color:var(--color-menu-text-mobil); /*text menu na mobilu*/
}
}
.navigation-portrait .nav-menus-wrapper {
    background-color: var(--color-pozadi-podmenu) !important; /*pozadi podmenu*/
}

/*barva vybrane hover polozky menu - pri celkovem zvyraznovani vybranych - pri podtrhavani toto zakomentovat*/
.navigation-landscape .nav-menu > li:hover > a, .navigation-landscape .nav-menu > li.active > a, .navigation-landscape .nav-menu > li.focus > a {
  color: #ffffff;
  /*  background-color: var(--color-main) !important;
	font-weight: 700 !important; toto je pro zvyraznovane menu	*/

}
/*barva vybrane podtrezeni pri podtrhavacim menu*/
.navigation-landscape .nav-menu > li:hover > a, .navigation-landscape .nav-menu > li.active > a, .navigation-landscape .nav-menu > li.focus > a {
	border-bottom-color:var(--color-main) !important;
	font-weight: 700 !important;	
}

/*barva vybrane pri velkem hranatem zvyraznovani*/
.nav-menu > li:hover > a, .nav-menu > li.active > a, .nav-menu > li.focus > a {
  /*color: #ffffff;
  background-color: var(--color-main) !important; toto je pro zvyraznovane menu */
  color: var(--color-menu-text-vybrana) !important;
  background-color:  var(--color-menu-pozadi);  
  font-weight: 700 !important;	
}


/*hover polozky v podmenu*/
.nav-dropdown > li:hover > a,
.nav-dropdown > li.focus > a {
  color: var(--color-podmenu-text-hover) !important;
  background-color: var(--color-podmenu-text-pozadi-hover) !important;
  font-weight: 700 !important;	
}
/*velikost a barva telefonu a ikony telefonu v hlavicce menu */
.header-telefon-ico {
/*	float: left;*/
	color:  var(--color-main) !important;
	font-size: 15px !important;
	margin-right: 5px;
/*	margin-top: -7px;*/
}
/*text telfonu v hlavicce*/
.header-telefon-item {
	float: right;
	font-size: 14px !important;
	margin-top: -10px;
}
.header-telefon-item strong {
	font-weight: 900;
}
/*delici carka vlevo u ikon*/
.custom a {
	border-left: solid 1px #dedede !important;
	font-weight: 700 !important;
}
/* nastaveni breakpointu zobrazovani mobilniho menu se provádí v souboru navigation.js*/
@media (max-width: 1050px) {
.custom-header-telefon a {
	border-left: none !important;
    width: 100%;
}
.custom-header-telefon {
	display: none !important; /*na mobilu nezobrazujeme ikonu a telefon z hlavicky destop menu*/	
}

.header-telefon-item {
	font-size: 18px;
}
.logo-menu-mobil {
	display:block;
}	
}
/*haburger na mobilu*/
.nav-toggle:before {
    content: "";
    position: absolute;
    width: 24px;
    height: 2px;
    background-color: var(--color-hamburger-mobil);
    border-radius: 10px;
    box-shadow: 0 0.5em 0 0 var(--color-hamburger-mobil), 0 1em 0 0 var(--color-hamburger-mobil);
}
/*zaviraci tlacitko na mobilu*/
.nav-menus-wrapper-close-button {
    width: 30px;
    height: 40px;
    margin: 10px 7px;
    color: var(--color-close-mobil);
    font-size: 26px;
}
/* animované podtržení menu 2024 */  
.nav-menu > li {  
    position: relative; /* Umožňuje absolutní pozicování pseudo-elementu */  
}  

/* Odkazy v hlavních položkách menu */  
.nav-menu > li > a {  
    text-decoration: none; /* Odstranění výchozího podtržení */  
    display: block; /* Odkazy vyplňují celou plochu položky */  
}  

/* Pseudo-element pro podtržení pouze pro položky bez podmenu */  
.nav-menu > li:not(:has(.nav-dropdown)) > a::after {  
    content: ''; /* Pseudo-element pro podtržení */  
    position: absolute;  
    left: 0;  
    bottom: -3px; /* Odsazení podtržení o 3px dolů */  
    height: 3px; /* Výška podtržení */  
    width: 100%; /* Šířka podtržení */  
    background-color: var(--color-menu-text-vybrana); /* Barva podtržení */  
    transform: scaleX(0); /* Výchozí měřítko (neviditelné) */  
    transition: transform 0.3s; /* Plynulý efekt pro zobrazení */  
}  

/* Animace pro podtržení */  
@keyframes underlineAnimation {  
    0% {  
        transform: scaleX(0); /* Začátek animace - skryté */  
    }  
    100% {  
        transform: scaleX(1); /* Konec animace - viditelné */  
    }  
}  

/* Podtržení na hover pro položky bez podmenu */  
.nav-menu > li:not(:has(.nav-dropdown)) > a:hover::after,  
.nav-menu > li:not(:has(.nav-dropdown)) > a.active::after {  
    animation: underlineAnimation 0.3s forwards; /* Spuštění animace */  
}  

/* Aktivní položka bude mít podtržení viditelné i pro položky s podmenu */  
.nav-menu > li > a.active::after {  
    transform: scaleX(1); /* Aktivní položka bude podtržená stále */  
}  

/* Skrytí podtržení na mobilech */  
/*mobilbreakpoint*/
@media (max-width: 1050px) {  
    .nav-menu > li > a::after {  
        display: none; /* Skrytí pseudo-elementu pro podtržení */  
    }  
}
/*end megamenu 2024*/

/*bootstrap carousel B4/5*/
/* Základní pravidlo pro všechny obrázky v carousel */  
.carousel-inner img {  
    position: absolute;  
    width: 100%;  
    height: 100%;  
    object-fit: cover;  
    object-position: center;  
    top: 50%;  
    left: 50%;  
    transform: translate(-50%, -50%);  
}  

/* Varianta pro širokoúhlé obrázky */  
.carousel-inner img.wide {  
    object-fit: cover;  
    object-position: center center;  
}  

/* Varianta pro vysoké obrázky */  
.carousel-inner img.tall {  
    object-fit: cover;  
    object-position: center center;  
}  

/* Varianta, která zobrazí celý obrázek bez ořezu */  
.carousel-inner img.contain {  
    object-fit: contain;  
}  

/* Pro případy, kdy chceme zaměřit na horní část obrázku */  
.carousel-inner img.top-focus {  
    object-position: center top;  
}  

/* Pro případy, kdy chceme zaměřit na dolní část obrázku */  
.carousel-inner img.bottom-focus {  
    object-position: center bottom;  
} 
/*nastavi maximalni vysku slideru na vysko okna vcetne navigacnich radku*/
.carousel-inner, .carousel-item {
    max-height: var(--maximalni-vyska-banneru);
    min-height: var(--minimalni-vyska-banneru);
}
.carousel-caption h5 {
	font-size: 3rem;
	text-align: var(--zarovnani-bootstrap-banner) !important; 
	color: var(--color-text-bootstrap-banner) !important; 
    font-weight: 700 !important;
}
.carousel-caption p {
	font-size: 2rem;
	color: var(--color-text-bootstrap-banner) !important; 
	text-align: var(--zarovnani-bootstrap-banner) !important; 
}
/*skryt caption pri pouziti .carousel-caption-hide - v kontaktech*/
.carousel-caption-hide .carousel-caption {  
    display: none !important;   
}
/*text na banner centrovany - zapnutim bude text centrovany*/
/*.carousel-caption {  
    position: absolute;  
    left: 50%;  
    top: 50%;  
    transform: translate(-50%, -50%);   
    background-color: var(--podbarveni-textu-banneru); 
} */
/*text na banner vlevo dole*/
.carousel-caption {  
    position: absolute;  
	left: 50px;
	bottom: 50px; 
    /*top: 50%; zapnutim bude text vertikalne vlevo*/
    transform: none;
    background-color: var(--podbarveni-textu-banneru); 
}

@media (max-width: 768px) {  
    .carousel-caption {  
        max-width: 95%;  
    }  
}
@media (max-width: 1500px) {
.carousel-caption h5 {
	font-size: 40px;
}
.carousel-caption p {
	font-size: 25px;
}	
}
@media (max-width: 1120px) {
.carousel-caption h5 {
	font-size: 50px;
}
.carousel-caption p {
	font-size: 30px;
}
.carousel-caption {
    padding-bottom: 50px; /*ODSAZENI OD DOLNIHO OKRAJE*/
}	
}
/*na mobilech je banner vzdy hranaty, aby nebyly rusive oblouky na malem displeji*/
/*mobilbreakpoint*/
@media (max-width: 1050px) {
.carousel-inner, .carousel-inner img {
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    border-radius: 0px !important;
    -khtml-border-radius: 0px !important;	
}
.carousel-caption h5 {
	font-size: 30px;
}
.carousel-caption p {
	font-size: 18px;
}	
/*skryt titulek na mobilu pokud je carousel obalen kontejnerem .carousel-container-podstranka - typicky v podstránkách */	
.carousel-container-podstranka .carousel-caption {  
    display: none !important;   
}  
	
}
/*end carousel B4,B5*/


/*rezervacni tlacitko*/
.btn-rezervace {
	background-color: var(--color-menu-text-vybrana) !important;
}

/*lista ikon pod banner*/
.icon-container {  
    background-color: #00AEEF; /*  pozadí */  
    padding: 20px 0;  
}  

.icon-item {  
    text-align: center;  
    color: white;  
    position: relative;  
    padding: 0 15px;  
}  

.icon-item i {  
    font-size: 2rem;  
    margin-bottom: 10px;  
}  

.icon-item p {  
    margin: 0;  
    font-size: 0.9rem;  
}  

/* Vertikální oddělovač */  
.divider {  
    width: 1px;  
    background-color: rgba(255, 255, 255, 0.2);  
    position: absolute;  
    right: 0;  
    top: 50%;  
    transform: translateY(-50%);  
    height: 40px;  
}  

/* Responzivní úpravy */  
@media (max-width: 768px) {  
    .icon-item {  
        margin-bottom: 20px;  
    }  
    .divider {  
        display: none;  
    }  
} 

/*formulare*/
.form-control {
    background-color: #f9f9f9; /*barva pozadi inputu*/
}

/*flexbox panely služeb*/
.card-body {
    padding: 20px;
}
.text-primary {
    color: rgb(219 164 0) !important;
    text-align: center;
}
.text-primary {  
    position: relative;  
    width: calc(1em * 2 + 40px);  /* 2x velikost ikony (fa-2x) + 2x padding */  
    height: calc(1em * 2 + 40px); /* 2x velikost ikony (fa-2x) + 2x padding */  
    display: flex;  
    align-items: center;  
    justify-content: center;  
}  

.text-primary::before {  
    content: '';  
    position: absolute;  
    width: 100%;  
    height: 100%;  
    border: 7px dashed black;  
    border-radius: 50%;  
    animation: rotate 8s linear infinite;  
    padding: 20px;  
    box-sizing: border-box;  
}  

@keyframes rotate {  
    from {  
        transform: rotate(0deg);  
    }  
    to {  
        transform: rotate(360deg);  
    }  
}  

.text-primary i {  
    position: relative;  
    z-index: 1;  
}  
/*tlačítka*/
.btn-success {  
    background: linear-gradient(90deg, #B45A87 0%, #FF6B57 100%);  
    border: none;  
    padding: 12px 24px;  
    color: white;  
    transition: opacity 0.3s ease;  
}  

.btn-success:hover {  
    background: linear-gradient(90deg, #B45A87 0%, #FF6B57 100%);  
    opacity: 0.9;  
    color: white;  
}  

.btn-success:active,  
.btn-success:focus {  
    background: linear-gradient(90deg, #B45A87 0%, #FF6B57 100%);  
    box-shadow: none;  
    color: white;  
}

.btn-primary {  
    background-color: #788a94;  
    border: none;  
    color: white;  
    transition: opacity 0.3s ease;  
}  

.btn-primary:hover {  
    background-color: #077CBF;  
    opacity: 0.9;  
    color: white;  
}  

.btn-primary:active,  
.btn-primary:focus {  
    background-color: #077CBF !important;  
    box-shadow: none;  
    color: white;  
}
/*tlačítka*/

/*skupinova tlacitka v podstrankach*/
.btn-group-container {  
    display: flex;  
    gap: 10px;  
    justify-content: center;  
    align-items: center;  
    width: 100%;  
}  

.btn-group-btn {  
    position: relative;  
    min-width: 150px;  
}  

.btn-group-a {  
    display: flex;  
    padding: 8px 20px;  
    border: 2px solid #000;  
    border-radius: 25px !important;  
    text-decoration: none;  
    color: #000;  
    font-weight: 500;  
    transition: all 0.3s ease;  
    justify-content: center;  
    align-items: center;  
    text-align: center;  
    width: 100%;  
}  

.btn-group-a:hover {  
    background-color: #000;  
    color: #fff;  
    text-decoration: none;  
}  

/* Pro aktivní tlačítko */  
.btn-group-active .btn-group-a {  
    background-color: #000;  
    color: #fff;  
}  

/* Responzivní chování */  
@media (max-width: 768px) {  
    .btn-group-container {  
        flex-direction: column;  
    }  
    
    .btn-group-btn {  
        width: 100%;  
        max-width: 300px; /* Volitelné omezení maximální šířky na mobilech */  
    }  
}

