	/*************************/
/***   FONTS           ***/
/*************************/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap');



* {
	margin: 0px;
	padding: 0px;
}
body{
  	background-color: #ffffff;
  	color: #001d44;  
	text-align: left;
  font-family: 'Open Sans', sans-serif;
	font-weight: 300;
	height: 100%;
  	line-height: 1.5em;
  	font-size: 17px;
}

/**********************************/
/*         COMMON COMPONENTS
/**********************************/

@media (min-width: 1270px){
.container {
    max-width: 1768px;
}
}
.cols{
	display: flex;
}
.col{
	display: inline-block;
	vertical-align: middle;
}
#cookies_souhlas{
	width: 100% !important;
}
button, button:hover, button:active, button:focus{
	outline: none;
	box-shadow: none !important;
}
.fader{
	opacity: 0.0;
    	-webkit-transition: opacity 1.0s ease-in-out;
    	-moz-transition: opacity 1.0s ease-in-out;
    	-ms-transition: opacity 1.0s ease-in-out;
    	-o-transition: opacity 1.0s ease-in-out;
    	transition: opacity 1.0s ease-in-out;
}
.fader.visible{
	opacity: 1;
}
.scaler{
	-webkit-transform: translateY(0) scale(0.5);
    	transform: translateY(0) scale(0.5);
    	opacity: 0;
    	-webkit-transition: -webkit-transform 0.6s ease-in-out 0.6s, opacity 0.6s ease-in-out 0.6s;
    	transition: transform 0.6s ease-in-out 0.6s, opacity 0.6s ease-in-out 0.6s;
}
.scaler.visible{
	-webkit-transform: translateY(0) scale(1);
    	transform: translateY(0) scale(1);
	opacity: 1;
}
.EditableSection li, .EditableContent li, .editable-section li{
	padding-left: 20px;
	position: relative;
}
.EditableSection li:before, .EditableContent li:before, .editable-section li:before {
    	content: '\f111';
    	font-weight: 900;
    	font-family: "Font Awesome 5 Free";
    	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
    	font-size: 6px;
}b, strong {
    font-weight: bold;
}
.vertical-align {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
}

/**********************************/
/*         HEADER
/*********************************/
header{
	position: relative; 
	width: 100%; 
    padding: 30px 0;
    background-color: #0c1d42;
    color: white;
}

@media screen and (min-width: 1270px){
.header{
	display: flex;
}

}


header a{
    color: white;
}
header .odkaz_na_uvod{
    text-decoration: none;
}

header .logo-text{	
	font-weight: bold;
	color: white;
	font-size: 31px;
	text-decoration: none !important;	
}

@media screen and (max-width: 500px){
	header{
		padding: 15px 0;
	}

	header .logo-text{	
		font-size: 32px;
	}	
}
@media screen and (max-width: 320px){
	header .logo-text{	
		font-size: 20px;
	}	
}

header .logo-text .green-text{	
	letter-spacing: 8px;
	color: #95c15c;
}





#header{
	text-align: center;
}
#logo{	
	display: inline-block;
	margin-top: 20px;	
	margin-bottom: 10px;
	position: relative;
}
.link-fill {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    z-index: 10;
}
.nomargin{
	margin: 0;
}
#stripe{
	text-align: center;
	background: white;
	padding: 0;
	border-bottom: 1px solid #e7e7e7;
	margin-bottom: 15px;
}
#stripe p, #stripe a{
	font-weight: 300;
	color: black;
	text-decoration: none;
	display: inline-block;
	font-size: 17px;
	margin-bottom: 0;
}
#stripe p{
	margin: 0 8px;
}
#stripe a:hover{
	text-decoration: underline;
}


@media (min-width: 1768px) {
.container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1768px !important;
}}



.blue-header-div {
  background-color: #162d52;
  color: white;
  font-size: 18px;
  padding: 10px 0;
}

.header{
  background-color: white;
  padding: 20px 0;

}



 .contact-bar {
    display: flex;
    align-items: center;
    font-family: Arial, sans-serif;
    font-weight: bold;
    width: fit-content;
    border: 1px solid #fb0404;
	    transition: font-weight 0.3s ease;
  }


.contact-left {
    background-color: #fb0404;
    color: white;
    font-size: 18px;
    padding: 11px 20px;
    font-weight: 800;
    text-transform: uppercase;
	transition: font-size 0.3s ease, padding 0.3s ease, font-weight 0.3s ease;
}

  .contact-right {
    color: #2c3e73;
    display: flex;
    align-items: center;
    padding: 10px 20px;
    background-color: white;
  }

  .contact-right i {
    font-size: 18px;
    margin-right: 8px;
	    transition: font-size 0.3s ease, margin-right 0.3s ease;
  }
.contact-right a {
    color: #335080;
	   transition: font-size 0.3s ease;
  }





 .sticked .contact-bar {
        font-weight: normal; /* Make the text less bold */
    }

    /* Reduce font size and padding for the left section */
    .sticked .contact-left {
        font-size: 14px; /* Smaller font */
        padding: 8px 10px; /* Reduced padding */
        font-weight: 800; /* Slightly less bold than 800 */
    }

    /* Reduce font size and padding for the right section */
    .sticked .contact-right {
        padding: 8px 10px; /* Reduced padding */
    }

    /* Reduce icon size */
    .sticked .contact-right i {
        font-size: 14px; /* Smaller icon */
        margin-right: 5px; /* Reduced margin */
    }

    /* Reduce link text size (inherits from .contact-bar/contact-right, 
       but setting explicitly ensures it's 14px too if needed) */
    .sticked .contact-right a {
        font-size: 14px;
    }


/* --- Mobile-Specific Styles (Media Query) --- */
@media (max-width: 768px) {
    /* Reduce font size for the whole bar */
    .contact-bar {
        font-weight: normal; /* Make the text less bold */
    }

    /* Reduce font size and padding for the left section */
    .contact-left {
        font-size: 14px; /* Smaller font */
        padding: 8px 10px; /* Reduced padding */
        font-weight: 600; /* Slightly less bold than 800 */
    }

    /* Reduce font size and padding for the right section */
    .contact-right {
        padding: 8px 10px; /* Reduced padding */
    }

    /* Reduce icon size */
    .contact-right i {
        font-size: 14px; /* Smaller icon */
        margin-right: 5px; /* Reduced margin */
    }

    /* Reduce link text size (inherits from .contact-bar/contact-right, 
       but setting explicitly ensures it's 14px too if needed) */
    .contact-right a {
        font-size: 14px;
    }
}


/**********************************/
/*         OBrazek s textem
/**********************************/

.main-image {
    background: url("/files/images/hlavni-foto-elektrohelp.jpg");
    width: 100%;
    background-size: cover;
    height: 800px;
}


.main-image h1 {
    color: white;
    text-transform: uppercase;
	font-weight: bold;
    font-size: 60px;
	text-shadow: 1px 1px 2px black;
}



.main-image p {
	font-weight: bolder;
	font-size: 30px;
	line-height: 1.3em;
	text-shadow: 1px 1px 2px black;
    color: white;
}

@media screen and (max-width: 500px){
	.main-image h1 {
		font-size: 22px;
	}
	.main-image p {
		font-size: 18px;
	}

	.main-image {
		height: 300px;
	}
}


/**********************************/
/*        Panel naše služby
/**********************************/
.panel-service{
	margin-top: 75px;
	margin-bottom: 75px;
}



.panel-service h2{
	text-align: center;
	margin-top: 15px;
	margin-bottom: 30px;
}
.panel-service p{
	margin-bottom: 0px;
}
.column {
    transition: all 0.3s ease;
}


.column p {
    text-align: center;
}

.column i,.column a {
   color: #1f2f50;
}


.column:hover i,
.column:hover a {
    color: #95c15c;
    font-weight: 700;
}



.product-detail .editable-section h3 {
  position: relative;
  padding-bottom: 5px;
}

.product-detail .editable-section h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px; 
  height: 3px; 
  background: red;
}
a {
    transition: color 0.3s ease;
}

i {
    transition: color 0.3s ease;
}

@media screen and (max-width: 500px){
	.panel-service{
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.column {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

/**********************************/
/*       Modrá sekce
/**********************************/

.blue-section {
    color: white;
    padding: 60px 0px;
    margin: 60px 0px;
    background-color: #1d3050;
}

.blue-section span{
    font-size: 24px;
}

.blue-section h2{
    color: white;
}
   

.blue-section img {
    width: 100%;
}
.blue-section .grid-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px;
    /* row and column gap */
    margin-top: 1em;
}

@media (max-width: 768px) {
    .blue-section .grid-box {
        grid-template-columns: 1fr;
    }
}

.blue-section .grid-box span {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 24px;
}

/**********************************/
/*         BUTTONS
/**********************************/

.btn-wrap{
	display: block;
	margin-top: 8px;
	clear: both;
}
.btn,  .camera_wrap .btn{
	text-decoration: none !important;
	font-weight: bold;
	font-size: 18px;
	box-shadow: none !important;
	padding: 0.3rem 1.2rem;
	border-radius: 0;
	display: inline-block;
}
.btn.btn:active{
	border: inherit !important;
	background: inherit !important;
}




.btn1 {
    padding: 15px 20px;
    color: #faf4c0 !important;
    border: 2px solid #faf4c0;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
}

.btn1:hover {
    padding: 15px 20px !important;
    border: 2px solid #81ab59 !important;
    color: #81ab59  !important;
    background-color: #001e44!important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    font-size: 18px !important;
    font-weight: bold !important;

}




.btn3:hover {
    padding: 15px 20px !important;
    border: 2px solid #81ab59 !important;
    color: #81ab59  !important;
    background-color: #001e44!important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    font-size: 18px !important;
    font-weight: bold !important;

}

.btn3 {
    padding: 15px 20px !important;
    color: #001d44  !important;
    border: 2px solid #001d44 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    font-size: 18px !important;
    font-weight: bold !important;
}


.btn1:hover,
.btn2:hover {
    text-decoration: none;
}


/**********************************/
/*         MENU
/**********************************/
#menu_top .container{
	padding: 0;
	overflow: visible;
}
#menu_top{
	z-index: 2;
	margin-top: 15px;
	display: block;
}
.navbar {
    	padding: 0 !important;
	margin-top: 0;
	-webkit-transition: all 0;
    	transition: all 0;
}
.navbar-toggler {
    display: none;
}
.navbar-collapse.collapse:not(.show) {
    display: block;
}
.navbar-inner{
	text-align: left;
	display: block;
    	width: 100%;
}
.nav {
    justify-content: center;
}
.nav li {
    margin: 0;
    position: relative;
    display: inline-block;
}
.nav li.lvl-1{
	padding: 6px 6px;
}
.nav li.lvl-1 > a {
    font-size: 18px;
    color: #212121;
    font-weight: normal;
    padding: 11px 8px;
	border-radius: 3px;
text-transform: uppercase;
 
    text-decoration: none !important;
    display: inline-block;
	position: relative;
}
.nav li.lvl-1 > a{



}
#menu_top .nav li.lvl-1 > a:hover,#menu_top .nav li.lvl-1 > a.active {
  font-weight:bolder;
}



.menu_servis{
	padding: 15px 10px;
    color: #faf4c0 !important;
    border: 2px solid #faf4c0;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;

}



#menu_top .nav li.lvl-1 > a:hover::before,
#menu_top .nav li.lvl-1 > a.active::before {
    content: ''; /* Empty content for the pseudo-element */
    position: absolute;
    bottom: 0px; /* Adjust this value to increase or decrease the gap */
    left: 5%;
    width: 90%;
    height: 4px; /* Thickness of the overline */
    background-color: red; /* Matches the text color */
}

.footer_main .nav li.lvl-1{
	padding: 0px 6px;
}



.nav li.lvl-1 > a:hover:before, .nav li.lvl-1 > a.active:before, .nav li.lvl-1.show > a:before{
	color: red;
}
.dropdown-toggle::after{
	display: none;
}
.dropdown-menu {
    border-radius: 0;
    border: 1px solid #e7e7e7;
    margin: 0;
    left: 0px;
	top: 60px;
    min-width: calc(100% + 2px);
    background-color: #ebebeb;
    transform-origin: 50% 0;
    transform: scaleY(0);
    opacity: 0;
    display: block;
    transition: transform 0.3s, opacity 0.3s;
-webkit-box-shadow: 4px 4px 5px 0px rgba(0,0,0,0.25);
-moz-box-shadow: 4px 4px 5px 0px rgba(0,0,0,0.25);
box-shadow: 4px 4px 5px 0px rgba(0,0,0,0.25);
}

.dropdown-menu.show {
    transform: scaleY(1);
    opacity: 1;
}
@media (max-width: 768px) {

.dropdown-menu.show {
    position: relative !important;
	left: 0px;
	top: 0px;
min-width: 100% !important;
z-index: 5000;
}


}
.dropdown-menu a{
	text-transform: uppercase;
	text-decoration: none;
	position: relative;
}
.dropdown-menu a img{
	max-width: 15px;
	max-height: 15px;
}
.dropdown-menu a:hover, .dropdown-menu a:active{
	color: white;
background-color: #162d52;
}

.dropdown-item{
padding: 0.75rem 1.5rem !important;
}



/**********************************/
/*         SLIDESHOW
/**********************************/
#slides{
	position: relative;
}	
.camera_prevThumbs, .camera_nextThumbs, .camera_prev, .camera_next, .camera_commands, .camera_thumbs_cont{
	background: transparent;
}
.camera_prev > span, .camera_next > span{
	z-index: 100;
	width: 37px;
    	height: 60px;
}
.camera_prev > span {
    background: url(/files/images/prev.png) no-repeat left 5px top;
    left: 15px;
}
.camera_next > span {
    background: url(/files/images/next.png) no-repeat right 5px top;
    right: 15px;
}


#header figure{
	margin: 0;
}
.caption{
	position: absolute;
	bottom: 0;
      left: 0;
      right: 0;
	margin: auto;
	padding: 0px 20px 5px 20px;
	background: rgba(0,0,0,0.5);
	padding: 15px;

}
.caption p{
	color: white;

	font-size: 36px;
	font-weight: bold;
	margin: 0;
	line-height: 50px;
	text-align: center;
	text-shadow: 2px 2px 1px rgba(0, 0, 0, 1);
}

.btn-primary{
    background-color: #04529a !important;
}
.caption p .color{
	color: #7abb00;
}
#intro{
	position: relative;
      text-align: center;
	overflow: hidden;
}


/**********************************/
/*         CONTENT
/**********************************/
#main_content {
	height: auto;
	padding: 15px 0;
	text-align: left;
	position: relative;
	display: block;
}

.box_green{
	border: 1px solid #7abb00;	
	padding: 20px;
	color: #3a3a3a;
	margin-bottom: 20px;
	border-radius: 5px;
}
.box_green button{
	align-items: center;
}
.box_green button p{
	display: inline-block;
	vertical-align: middle;

	font-weight: 300;
	font-size: 24px;
	margin: 0;
	margin-right: 8px;
	color: black;
}
.box_green button a.btn-primary{
	padding: 10px 19px;
	
}
.box_green h2{
	position: relative;
	font-weight: bold;
	color: #3a3a3a;
	padding-bottom: 5px;
}
.box_green h2:after{
	content: "";
    	background: #e6152e;
    	position: absolute;
    	bottom: 0;
    	left: 0;
    	height: 3px;
    	width: 120px;
}
.col-main {
    max-width: calc(100% - 250px);
    width: calc(100% - 250px);
    margin-top: 10px;
}
.left-col {
    width: 250px;
    margin-top: 10px;
}

/**********************************/
/*  INDEX 
/*********************************/
.index-info{
	display: flex;
	margin-bottom: 40px;
}
.index-info-box {
	flex-basis: 50%;
	max-width: 50%;
}
.index-info-text-box{
	background: white;
	border: 1px solid #eaeaea;
	border-right: none;
	padding: 20px 25px;
}
.index-info-text-box p{
	margin-bottom: 30px;
}
.index-info-img-box{
	background: url(/files/images/index-intro.jpg) no-repeat center center;
	background-size: cover;
}
.index-info h1, .index-info .h1{
	font-size: 30px;
	font-weight: bold;
	color: black;
}

@media screen and (max-width: 1100px){
.index-info, .box{
	flex-wrap: wrap;
}
.index-info-box, .box-half{
	flex-basis: 100%;
	max-width: 100%;
}
.index-info-text-box, .box-text{
	border-top: 1px solid #eaeaea !important;
	border-left: 1px solid #eaeaea !important;
	border-right: 1px solid #eaeaea !important;
	border-bottom: none !important;
}
.index-info-img-box, .box-img{
	width: 100%;
    	padding-top: 70%;
    	position: relative;
}
}

/**********************************/
/*         BREADCRUMB
/**********************************/
.breadcrumb{
	border-top: 1px solid #e7e7e7;
	border-bottom: 1px solid #e7e7e7;
	background: #f5f5f5;
    	padding: 7px 1rem;
	border-radius: 0;
}
.breadcrumb a, .breadcrumb span{
	font-size: 15px;
}
.drobeckova-navigace-sipky{
	display: inline-block;
	margin: 0 15px;
}

/**********************************/
/*         PRODUKT DETAIL
/**********************************/

.product-detail{
	margin-bottom: 3rem;
}
.detail_image_big{
	position: relative;	
}
.detail_image_big img{
	
}
.detail_image_big img:hover{
	
}
.detail_image_big img, .detail_image img{
	max-width: 100%;
	height: auto;
}	
.detail_images{
	border: 1px solid #e7e7e7;
	border-radius: 5px;
	padding: 1rem 2rem;
	margin: 0;
	width: 100%;
}
.detail_images .col-md-4{
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
.detail_images .col-md-4:nth-of-type(n+7){
	max-height: 0;
    	opacity: 0;
    	overflow: hidden;
	-webkit-transition: all .4s; 
    	transition: all .4s;
}
.detail_images .col-md-4.visible{
	max-height: 200px;
	opacity: 1;
}
.detail_images .button{
	width: 100%;
}
.detail_image{
	width: 100%;
	padding-top: 66%;
	position: relative;
	background: #e7e7e7;
	margin-bottom: 1rem;
}
.detail_image:hover{
	background: #84bf14;
}
.detail_image a{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}
.detail_image img, .detail_img img{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	max-height: 100%;
	max-width: 100%;
	width: auto;
}
.button-back{
	margin-top: 1rem;
}

/**********************************/
/*         KATEGORIE
/**********************************/
.kategorie-nadpis {
    margin: 0;
}
.kategorie .toggler {
    border: none;
    background: transparent;
    text-transform: uppercase;
    color: black;
    text-align: center;
    width: 100%;
    cursor: pointer;
    display: none;
}
#category {
    margin-bottom: 20px;
}
#category p {
    margin-bottom: 3px;
    border-radius: 5px;
    padding-left: 3px;
	background: #7abb00;
-webkit-transition: padding-left .2s ease-out;
  -moz-transition: padding-left .2s ease-out;
  -o-transition: padding-left .2s ease-out;
  transition: padding-left .2s ease-out;
}
#category p:hover, #category p.selectedP{
	background: #000;
	padding-left: 6px;
}
#category a {
    display: block;
    border-radius: 5px;
    background: #f1f1f1;
    font-size: 17px;
    font-weight: bold;
    padding: 12px 15px;
	text-decoration: none;
}
#category a:hover{
	color: black;
}

.kontakt{
	width: 330px;
	display: inline-block;
}

.kontakt p:first-of-type, .kontakt h3{
   
	margin: 10px 0;
}

.kontakt p{
	margin-bottom: 8px;
}

.kontakt strong, .kontakt strong a{
	color: black;
	font-size: 15px;
}

#mapa_nadpis{
	margin: 5px auto;
}
#mapa > div iframe{
	display: block;
	margin: 0 !important;
}

#main_content table { 
border: 1px solid #E4E4E4; width: auto; height: auto; 
} 
#main_content td { 
border: 1px solid #E4E4E4; padding: 10px; line-height: 1.3em; 
} 

#nadpatickou{
	background: #f5f5f5;
	padding: 20px 0;
	border-top: 1px solid #dadada;
}
#nadpatickou .row{
	justify-content: center;
	align-items: center;
}
#nadpatickou .row .col{
	padding: 20px 30px;
}
#nadpatickou .col:nth-of-type(2){
	border-left: 1px solid #dadada;
	border-right: 1px solid #dadada;
}
#nadpatickou p.mail a{
	white-space: nowrap;
}
#nadpatickou a{
	text-decoration: none;
}
#nadpatickou a:hover{
	text-decoration: underline;
	color: black;
}


/* paticka */
#footer {
	color: white;
	height: auto;
	margin: 0 auto;
	text-align: center;
	background: transparent;
	border: none;
}
footer {
	
  	background: #021943;
  	z-index: 0;
  	width: 100%;
}
#footer_text{ 
	padding: 2em 0; 
	text-align: start;
}
#footer #footer_text, #footer #footer_text p, #footer #footer_text a{
	color: white;
	font-size: 15px;
}

.footer-main .nav li.lvl-1 > a
{
  color: white !important;
  padding: 0 !important;
}

.footer-main .nav li.lvl-1 > a:hover{
          color: #fb0404 !important;

          text-decoration: underline !important;

        }


#footer #footer_text .editable-section{
	margin-bottom: 0px;
}
#footer #footer_text p{
	display: inline;
}
#footer #footer_text a{
	text-decoration: none;
}
#footer #footer_text a:hover{
	text-decoration: underline;
}

.footer_main{
	background-color: #1d3050;
	padding: 40px 0;
}

.footer_main .logo-text{	
	font-weight: bold;
	color: white;
	font-size: 31px;
	text-decoration: none !important;	
}
.footer_main .logo-text .green-text{	
	letter-spacing: 8px;
	color: #95c15c;
}

@media screen and (max-width: 768px){

	.footer_main {	
		text-align:center;
	}	
	.footer_main p{	
		text-align:center;
	}
	.footer_main img,	.footer_main a{	
		align-self:center;
	}	

}


@media screen and (max-width: 500px){

	.footer_main .logo-text{	
		font-size: 32px;
	}	
}
@media screen and (max-width: 320px){
	.footer_main .logo-text{	
		font-size: 20px;
	}	
}

.footer_main .odkaz_na_uvod{
    text-decoration: none;
}
.footer_main .nav li.lvl-1{
	width: 100%;
}
.footer-ref{
color: white !important;
font-size: 24px;
font-weight: bold;
}

a.footer-ref{
text-decoration: none;
}

.footer-ref:hover{
	color: #000 !important;
	font-size: 24px;
	font-weight: bold;
	}



/* resetovac */
#reset {
	border:  0px none;
	margin:  0px;
	padding: 0px;
	float: none;
	clear: both;
	width: 0px;
	height: 0px;
	line-height: 0px;
	font-size: 0px;
}
/**********************************/
/*         DEFAULTNI HODNOTY
/*********************************/



h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
  line-height: 1.3em;
  margin: 0 0 12px 0;
  text-align: left;
}

h1.centered{
	text-align: center;
}
h1 {
   
    font-weight: 500;
    /* Medium */
    font-size: 36px;
    color: #001d44;
    margin-top: 3rem;
}

 h1 {
            position: relative;
            text-align: center;
        }

  
.no-after{

  text-align: start;
}
.no-after::after {
    display: none;
    content: none;
}/* H2 – Default (except blue or special sections) */
h2 {


    /* Bold */
    font-size: 30px;

	color: #001d44;
	font-weight: 500;
	margin-top: 30px;
      margin-bottom: 30px;

}

h2.indexpage{
    color: #001d44;
}

/* H3 */
h3 {

    font-weight: bold;
    font-size: 28px;
    color: #2f67a8;
    margin-bottom: 25px;
}

h4, .h4 {
	color: #0ea155;
	font-size: 14px;
	font-weight: 600;
}
p, li {
  margin: 0 0 12px 0;
  list-style-type: none;
  text-align: left;
  font-weight: normal;
}

#main_content ul{
	padding-left: 0;
}

img {
	border: none;
	margin: 0; 
	max-width: 100%;
      border-radius: 25px;
}

.EditableSection a[rel="lightbox[all]"] img, .EditableContent a[rel="lightbox[all]"] img, .editable-section a[rel="lightbox[all]"] img{
	border: 3px solid #e7e7e7;
	margin: 4px;
	z-index: 50;
}
.EditableSection a[rel="lightbox[all]"] img:hover, .EditableContent a[rel="lightbox[all]"] img:hover, .editable-section a[rel="lightbox[all]"] img:hover{
	border: 3px solid #04529a !important;
}
a
 {
    color: #266aa8;
    font-size: 18px;
    font-weight: 700;
 
    text-decoration: underline;
}
a:hover {
	text-decoration: none;
	color: #000;
}
table {
	border-collapse: collapse;
	border: none;
  margin: 0 0 12px 0;
}
.EditableSection th, .EditableContent th, .editable-section th,
.EditableSection td, .EditableContent td, .editable-section td{
	font-size: 17px;	
  	color: black;
  	font-weight: 300;
  
	padding: 5px;
	border: 1px solid #e0e0e0;
}
table td {
  vertical-align: top;
  text-align: left;
}
ul, ol {
	list-style-position: outside;
	margin: 0 0 0px 0px;
}

#main_content table {
  border: 1px solid #ffffff;
  width: auto;
  height: auto;
}

#main_content td {
  border: 1px solid #E4E4E4;
  padding: 10px;
  line-height: 1.3em;
  font-size: 15px;
  color: #4d4c4c;
}

.custom-list {
    list-style: none;
    padding-left: 0;
  }


/**********************************/
/*  BANNERY 
/*********************************/
#banners{
	margin-top: 20px;
	margin-bottom: 35px;
}
.banner{
	text-align: center;
	margin-bottom: 20px;
}
.banner .h2{
	text-align: center;
	font-weight: 300;

  	height: 1.2em;
	overflow: hidden;
}
.banner_img{
	border-radius: 5px;
	overflow: hidden;
	border-bottom: 4px solid #7abb00;
}
.banner_img img{
	width: 100%;
}
.banner:hover .banner_img{
	border-bottom: 4px solid #cc041c;
}
.banner .btn-primary{
	z-index: 50;
	margin-top: -23px;
	font-weight: normal;
}
.banner:hover .btn-primary{
	border: 1px solid #cc041c;
	background: #cc041c;
}

.card-service{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 250px;
}

.card-service p{
    flex-grow: 1;
}


/**********************************/
/*         AKTUALITY SLIDE
/**********************************/
#aktuality_slide_box{
	border: 1px solid #e7e7e7;	
	border-radius: 5px;
	position: relative;
	margin-bottom: 2.5rem;
	display: flex;
	align-items: center;
	position: relative;
	overflow: hidden;
}
#aktuality_slide_box p.aktuality-title-box{
	background: #cc041c;
	color: white;
	padding: 20px 10px;
	font-size: 20px;
	font-weight: bold;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	margin: 0;
}
#aktuality_slide{
	margin: 0;
	max-width: 85%;
	flex-basis: 85%;
	position: relative;
}
.aktuality_box{
	justify-content: space-between;
	padding: 1rem;
    	padding-right: 200px;
	position: relative;
}
.aktuality_date, .aktuality_name{
	display: inline-block;
	overflow: hidden;
}
.aktuality_date{
	color: black;
	font-size: 20px;
	font-weight: bold;
}
.aktuality_name{
	font-size: 20px;
	font-weight: 300;
	color: black;
	text-decoration: none;
}
#aktuality_slide .aktuality_name{
	height: 1.4em;
	overflow: hidden;
}
.aktuality_box:hover .aktuality_name{
	text-decoration: underline;
}
.aktuality_box:hover .btn-primary{
	background: #e7e7e7;
	color: black;
}
.archiv{
	position: absolute;
	margin: auto;
	right: 1.5rem;
	top: 0;
	bottom: 0;
	display: flex;
    	align-items: center;
}
.archiv a{
	vertical-align: middle;
}


/**********************************/
/*  MODULY 
/*********************************/

/* hlavicka - odkaz logo */
#head .link_logo  {
	background: url(/files/images/logo.png);
	float: left;
	width: 397px;
	height: 78px;
	display: block;
	margin-top: 30px;
    margin-bottom: 10px;
}

/* clear obtekani */
.clear {
	border:  0px none;
	margin:  0px;
	padding: 0px;
	float: none;
	clear: both;
	width: 0px;
	height: 0px;
	line-height: 0px;
	font-size: 0px;
}
/**********************************/
/*  FORMULARE 
/*********************************/


button#modal-launch-2 {
	padding: 0;
}

.modal-content{
	border: none;
	border-radius: 0;
}

div.modal-header {
	border-radius: 0;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2ab8fa+0,2a83fa+100 */
	background: #0c1d42;
}

div.modal-header .close{
	margin: 0 0 auto;
	border: 1px solid white;
	border-radius: 5px;
	padding: 0.4rem 0.7rem;
	color: white;
	opacity: 1;
	-webkit-transition: all 0.3s; 
	-ms-transition: all 0.3s;
    	transition: all 0.3s;    
}
div.modal-header .close:not(:disabled):not(.disabled):hover, 
div.modal-header .close:not(:disabled):not(.disabled):focus{
	opacity: 1;
	color: black;
	background: white;
}

.modal-dialog label {
    margin-bottom: 0.2rem;
}

.modal-dialog .modal-title{
	color: white;
	/* text-transform: uppercase; */
	font-size: 25px;
	font-weight: bold;
}

span.mandatory-star {
    color: #ff6d6d;
}

.modal-dialog .modal-body {
    background-color: #f5f5f5;
}

.modal-dialog .modal-body label{
	/* font-weight: bold; */
	font-size: 17px;
	color: black;
}

.modal-dialog .btn-primary{
	border: 1px solid #0c1d42;
	color: white;
	font-size: 18px;
	font-weight: bold;
	text-transform: uppercase;
    	padding: 0.375rem 1.75rem; 

	background: #0c1d42;
	-webkit-box-shadow: inset 1px 1px 2px 0px rgba(255,255,255,0.5) !important;
	-moz-box-shadow: inset 1px 1px 2px 0px rgba(255,255,255,0.5) !important;
	box-shadow: inset 1px 1px 2px 0px rgba(255,255,255,0.5) !important;
}


.modal-dialog .btn-primary:hover{
	background: #95c15c;
	border: 1px solid #95c15c;
}


.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, .custom-select.is-invalid
{
    background-color: #ffdede;
}

.invalid-feedback, .form-text, small, .small {
    font-size: 15px;
}
.modal small a{
	font-size: 15px;
    	font-weight: normal;
}
.modal small a:hover{
	text-decoration: none !important;
}
/***************************/
/*  PRODUKTY
/***************************/

.produkt{
	text-align: center;
	position: relative;
	margin-bottom: 20px;
	border-radius: 8px;
	border: 1px solid #e7e7e7;
	padding: 20px;
	padding-top: 0;
}
.produkt_nazev{
	margin: 10px 0;
	height: 2.6em;
	overflow: hidden;
	text-align: center;
	font-weight: normal;
	color: black;
}
.produkt_img{
	position: relative;
	height: 200px;
	z-index: -1;
}
.produkt_img img{
	border: 2px solid white;
	position: absolute;
	top: 2px;
	left: 2px;
	bottom: 2px;
	right: 2px;
	margin: auto;
	max-height: calc(100% - 4px);
	max-width: calc(100% - 4px);
	height: auto;
	width: auto;
}
.produkt_buttons{
	z-index: 50;
	position: absolute;
	bottom: 8px;
	left: 0;
	right: 0;
}
.produkt:hover .btn{
    	background: #cc041c;
    	border: 1px solid #cc041c;
    	color: white !important;
}
.produkt:hover{
	background: #f5f5f5;
	-webkit-box-shadow: 4px 4px 5px 0px rgba(0,0,0,0.25);
    	-moz-box-shadow: 4px 4px 5px 0px rgba(0,0,0,0.25);
    	box-shadow: 4px 4px 5px 0px rgba(0,0,0,0.25);
}
.produkt_pagination{
	flex-basis: 100%;
	max-width: 100%;
	margin: 5px 15px;
}

.pgr, .strankovani-odkaz, .strankovani-sipky{
	font-size: 15px;
	padding: 2px 5px;
	border-radius: 3px;
	border: 1px solid transparent;
	display: inline-block;
	vertical-align: top;
	text-decoration: none;
}
.pgr, .strankovani-odkaz:hover, .strankovani-sipky:hover{
	font-weight: bold;
	background: #f5f5f5;
	border: 1px solid #e7e7e7;
	text-decoration: none;
	color: black;
}
.products-not-found{
	display: none;
}

/***************************/
/*  AKTUALITY
/***************************/
.article-thumb .aktuality_img {
    	background: #f5f5f5;
    	height: 100%;
    	width: 100%;
	margin: 0;
	text-align: center;
	border: 1px solid transparent;
}
.article-thumb:hover{
	border: 1px solid #e7e7e7;
}
.article-thumb:hover .aktuality_img{
	border: 1px solid #e7e7e7;
}
.article-thumb .aktuality_img img{
    	max-height: 135px;
}
h2.aktuality_name {
    	margin-top: 0;
	font-weight: bold;
}
.aktuality_text {
    	height: 2.8rem;
    	overflow: hidden;
}
.article-thumb{
	position: relative;
	border: 1px solid #f5f5f5;
	padding: 10px;
}
.article-thumb .aktuality_img a{
	width: 100%;
	position: relative;
	text-align:center;
}
.mobile-show{
	display: none !important;
}

.desktop-hide {
	display: none !important;
  }
  
  @media (max-width: 1272px) {
	.desktop-hide {
	  display: flex !important; /* or inline, flex, etc., depending on what you want */
	}
  }
  

/***********
RESPONSIVE
************/

@media screen and (max-width: 1270px){


#menu_top .nav li.lvl-1 > a:hover::before, #menu_top .nav li.lvl-1 > a.active::before {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 5%;
    width: 90%;
    height: 4px;
    background-color: red;
}

.custom-list li::before {
	display: none;
}	
#stripe .container{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#stripe .container > div{
	display: flex;
	align-items: center;
}
#stripe .container .logo{
	margin: 0;
}
#menu_top{
    position: static;
}
#menu_top .navbar-collapse {
    position: absolute;
    top: 100%;
    right: 0px;
	left: 0;
    background: white;
	z-index: 5000;
border: 1px solid #e9e9e9;
}

.mobile-show{
	display: block;
}
.mobile-hide{
	display: none;
}
.mobile-show img{
	min-height: 50px;
}
.navbar-inner {
    width: 100%;
}
.nav{
	display: block;
	text-align: center !important;
}
.nav-header{
}
.navbar {
	height: auto;
}
.navbar-toggler {
    	display: block !important;
    	color: black;
	font-size: 22px;
   	vertical-align: middle;
    	outline: none !important;
    	line-height: 25px;
}
.navbar-toggler-icon {
    	font-size: 25px;
    	height: auto;
    	vertical-align: initial;
	margin-bottom: 0;
	color: black;
	width: auto;
}
.navbar-collapse.collapse:not(.show) {
    display: none;
    height: auto;
}

.nav li.lvl-1 a {
    display: block;
text-align: center;
}

header .nav li.lvl-1 a {
    display: block;
text-align: left;
}



.nav li.lvl-1:last-of-type{
	padding-left: 0;
}
.nav li.lvl-1:last-of-type a:before{
	display: none;
}
.dropdown-toggle::before{
	display: none;
}

}
@media screen and (max-width: 768px){
.article-thumb > .row{
	flex-direction: column-reverse;
}
.article-thumb > .row > .col{
	width: 100%;
	position: relative;
	flex-basis: 100%;
}
}

@media screen and (max-width: 900px){
.kategorie .toggler {
    display: block;
}
.navbar-toggler-icon {
    font-size: 22px;
    height: auto;
    vertical-align: initial;
    margin-bottom: 0;
    color: black;
    width: auto;
}
.left-col {
    width: 100%;
}
.col-main {
    width: 100%;
    max-width: 100%;
}
}

@media screen and (max-width: 800px){
	
.p-mobile-top-1{
	padding-top: 1rem;
}
.p-mobile-top-2{
	padding-top: 2rem;
}
.p-mobile-top-3{
	padding-top: 3rem;
}
.p-mobile-top-4{
	padding-top: 4rem;
}

.nav li.lvl-1 {
    display: block;
	padding-left: 1rem;    
	width:100%;
	padding: 0;

}

.nav-header .nav-item {
border: 1px solid #e9e9e9;
}

footer_main .nav li.lvl-1{
text-align: center !important;

}


#aktuality_slide_box{
	display: block;
}
.archiv {
    position: relative;
    right: auto;
    top: auto;
    bottom: auto;
    display: block;
    padding: 1rem;
    padding-top: 0;
}
#aktuality_slide{
	max-width: 100%;
}
#nadpatickou .row .col{
	flex-basis: 100%;
	max-width: 100%;
	text-align: center !important;
}
#nadpatickou p{
	text-align: center;
}
#nadpatickou .col:nth-of-type(2) {
    border: none;
}
#stripe .tel i, #stripe .mail i{
	display: none;
}
#stripe .tel a, #stripe .mail a{
    overflow: hidden;
    content: '';
    color: transparent;
    height: 25px;
    width: 25px;
    display: block;
}
#stripe .tel a:before, #stripe .mail a:before {
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    font-size: 20px;
    margin-right: 6px;
    color: black;
	line-height: 25px;
}
#stripe .tel a:before {
    content: '\f095';
}
#stripe .mail a:before {
    content: '\f2b6';
    font-weight: normal;
}
.caption p{
	font-size: 18px;
	line-height: 20px;
}
button#modal-launch, button#modal-launch-2{
	text-align: center;
}
.box_green button p{
	margin-right: 0;
	margin-bottom: 5px;
}

}
	
@media screen and (max-width: 640px){
#footer_text{
text-align:center;
}


}


.custom-list-item {
    display: flex;
    gap: 4px;
    margin-bottom: 1rem; /* same as mb-3 */
}

.list-icon {
    color: #95c15c;
    padding-top: 4px;
}

.underline-div {
    height: 1px;
    width: 10rem;
    background-color: #001d44;
    margin: 0 auto; /* centers the div horizontally */
}





    .carousel-wrapper {
        position: relative;
        width: 100%;
        display: flex;
        align-items: center;
        margin-top: 30px;
        justify-content: center;
        overflow: visible;
    }

    .carousel-container {
        position: relative;
        width: 80%;
        max-width: 1000px;
        margin: auto;
        overflow: hidden;
        border-radius: 10px;
        background: white;
    }

    .carousel-track {
        display: flex;
        transition: transform 0.5s ease-in-out;
    }

    .carousel-slide {
        min-width: calc(33.333%);
        /* Subtract total horizontal padding (10px on each side) */
        padding: 10px;
    }


    @media only screen and (max-width: 1250px) {
        .carousel-slide {
            min-width: calc(50%);
        }
    }

    @media only screen and (max-width: 700px) {
        .carousel-slide {
            min-width: calc(100%);
        }
    }


    .carousel-slide img {
        width: 100%;
        border-radius: 10px;
	 object-fit: cover;
    }

    .carousel-button {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: transparent;
        color: darkgray;
        border: none;

        cursor: pointer;
        z-index: 10;
        font-size: 30px;
    }

    .carousel-button:hover {
        color: black;
    }

    .carousel-button.prev {
        left: 15%;
    }

    .carousel-button.next {
        right: 15%;
    }


	.card-blue h3 {
    font-weight: 800;
    color: white;

}

    @media only screen and (max-width: 1500px) {
        .carousel-button.prev {
            left: 5%;
        }

        .carousel-button.next {
            right: 5%;
        }
    }

/***********
Kamca
************/



/** INDEX PAGE **/

.index-page {
    text-align: center;
}

.image-container {
  position: relative;
  width: 100%;
}

.image-container img {
  width: 100%;
  height: auto;
  display: block;
}

.image-text {
  color: white;          /* make text visible on image */

}

.main-image{

    display: flex;
    align-items: center;}


.contact-bar,
.image-text h1,
.image-text h2,
.image-text a {
  transform: scaleY(0);
  transform-origin: top; /* makes it unfold downward */
  animation: revealScaleY 0.8s ease-out forwards;
}

/* Sequential delays */
.image-text h1 {
  animation-delay: 0s;
}

.image-text h2 {
  animation-delay: 0.8s; /* starts after h1 finishes */
}

.image-text a {
  animation-delay: 1.6s; /* starts after h2 finishes */
}

@keyframes revealScaleY {
  0% {
    /* Combined into one transform property */
    transform: scaleY(0) translateX(-150px); 
    opacity: 0;
  }
  100% {
    /* Combined into one transform property */
    transform: scaleY(1) translateX(0px);
    opacity: 1;
  }
}


/* H1 – úvodní strany */
.image-text h1 {
  font-weight: 800; /* ExtraBold */
  font-size: 60px;
  color: white;
  text-align: left !important;

  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5); /* small subtle shadow */
}

@media (max-width: 768px) {
.image-text h1 {
  font-weight: 800; /* ExtraBold */
  font-size: 24px;
  color: white;
  text-align: center !important;

  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5); /* small subtle shadow */
}

}

.image-text h1 span {
    color: #fb0404; /* červená barva pro zvýraznění */
}


.index-page h2 {
  width: 100%;
  text-align: center;
  font-size: 30px;
  font-weight: 800; /* ExtraBold */
  color: #162d52;
}




/* H2 – Výjezdní místa */
.image-text h2 {
  font-weight: 800; /* ExtraBold */
  font-size: 30px;
  color: white;
    text-align: left !important;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); /* small subtle shadow */
}

@media (max-width: 768px) {
.image-text h2 {
    font-weight: 800; /* ExtraBold */
  font-size: 20px;
  color: white;
    text-align: center !important;
	margin: 10px 0;

}

.spacer-small{
height: 5px !important;
}

}



/** INDEX PAGE **/
.index-page p {
    font-size: 18px;
    text-align: center;
    color: #212121;
    font-weight: normal;
}

.banner {
    padding: 20px 10px;
    border-bottom: 8px solid #385483;
    transition: all 0.3s ease;
    background-color: white;
	position: relative;
    color: #212121;
    font-size: 17px;
    align-items: center;    
}

.main-section .banner{
    min-height: 768px;
}

.main-section  .banner img {
  max-width: 80%;
  height: auto;
    max-height: 200px;
    width: auto;

  padding: 30px 0;
  display: inline;
}


.banner img {
  
    max-height: 200px;
    width: auto;

  padding: 30px 0;
  display: block;
}

.banner h3 {
    font-size: 24px;
    padding: 10px 0;
    font-weight: 800; /* ExtraBold */
    color: #fb0404;
text-align: center;
}

.banner .more-info {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: 17px;
    font-weight: 800;
    color: #385483;
}

/* Hover effect */
.banner:hover {
    cursor: pointer;
    border-bottom: 8px solid #fb0404;
    transform: translateY(-10px);
}

.banner:hover .more-info {
    color: #fb0404;
}



/*************/
/* CAROUSEL**/
/*************/

     .carousel-wrapper {
            position: relative;
            width: 100%;
            display: flex;
            align-items: center;
            margin-top: 30px;
            justify-content: center;
            overflow: visible;
        }

        .carousel-container {
            position: relative;
            width: 80%;
            max-width: 1200px;
            margin: auto;
            overflow: hidden;
            border-radius: 10px;

        }

        .carousel-track {
            display: flex;
            transition: transform 0.5s ease-in-out;
        }
        
          h3.indexpage{
            font-weight: 800;
            color: #162d52;
          }

        .carousel-slide {
            min-width: calc(33.333%);
            /* Subtract total horizontal padding (10px on each side) */
            padding: 10px;
        }

.carousel-slide p {
	padding: 0 40px;
 }

.carousel-slide p.extra-bold
 {
font-weight: bold;
margin-bottom: 10px;
 }



        @media only screen and (max-width: 1250px) {
            .carousel-slide {
                min-width: calc(50%);
            }
        }

        @media only screen and (max-width: 700px) {
            .carousel-slide {
                min-width: calc(100%);
            }

.dropdown-menu.show {
    transform: scaleY(1);
    opacity: 1;
    position: relative;
    top: 0;
    width: 100%;
    border: none;
    box-shadow: none;
    background: #e9e9e9;
    z-index: 5000;
}
        }


        .carousel-slide img {
            width: 100%;
            border-radius: 10px;
            object-fit: cover;
        }

        .carousel-button {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: transparent;
            color: darkgray;
            border: none;

            cursor: pointer;
            z-index: 10;
            font-size: 30px;
        }

        .carousel-button:hover {
            color: black;
        }

        .carousel-button.prev {
            left: 10%;
        }

        .carousel-button.next {
            right: 10%;
        }

        @media only screen and (max-width: 1500px) {
            .carousel-button.prev {
                left: 5%;
            }

            .carousel-button.next {
                right: 5%;
            }
        }

/* Animation Keyframes */
@keyframes appearFromBottom {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

p.extra-bold {
    margin: 0;
}
.extra-bold {
    color: #162d52 !important;
  font-weight: 800; /* ExtraBold */
}
/* Element using the animation */
.appear-bottom {
  opacity: 0;
  animation: appearFromBottom 0.8s ease-out forwards;
}


/** Bannery: aby nějako přijely – nadpis H3: ExtraBold, 28, fb0404
Text v bannerech: 17px, 212121
VÍCE INFORMACÍ: 385483, 17px, ExtraBold
Po najetí na banner by bylo fajn, aby se banner trochu posunul výš – zbarvil se modrý spodní border do červené a +VÍCE INFORMACÍ taky do červené.
 **/

  .spacer-small{
    height: 25px;
 }

 .spacer{
    height: 50px;
 }



    .card {
      background-color: #ffffff;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
      border-radius: 10px;
      padding: 20px;
  
      text-align: center;
    }


    
    .card p {
      text-align: left;
    }

    .card-blue{
        color: white;
        padding: 20px;
        background-color: #04529a;
    }

      .card-blue-wrapper {
        padding: 20px;
        background-color: #04529a;
	  margin-bottom: 80px;
      }

    .card-blue {
  padding: 20px;
  border-top: 2px dashed #e0f0ff;     /* top dotted line */
  border-bottom: 2px dashed #e0f0ff;  /* bottom dotted line */

  text-align: center;
}





.btn1 {
  font-size:15px;
  font-family:Arial;
  width:140px;
  height:50px;
  border-width:3px;
  color:rgba(29, 3, 3, 1);
  border-color:rgba(246, 6, 35, 1);
  font-weight:bold;

  background:rgb(221, 223, 222);
}



.btn1:hover {
 
   background:rgba(246, 6, 35, 1);
}


.btn2 {
  position: relative;
  overflow: hidden;
  text-transform: uppercase;
  color: white;
  font-weight: bold;
  padding: 10px 20px;
  background-color: #04529a;
  border: none;
  cursor: pointer;
  transition: color 0.3s ease;
}

.btn2 {
  position: relative;
  overflow: hidden;
  text-transform: uppercase;
  color: white;
  font-weight: bold;
  padding: 15px 25px;
  background-color: #04529a;
  border: none;
  cursor: pointer;
  transition: color 0.3s ease;
  z-index: 0;
}

@media (max-width: 768px) {
.btn2 {
  padding: 8px 13px;
	font-size: 16px;
}
}

/* Red background animation layer */
.btn2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 100%;
  background: #fb0404;
  transition: all 0.4s ease;
  transform: translateX(-50%);
  z-index: -1; /*⬅️ puts the red layer *behind* the text */
}

/* Expand red fill from center to edges */
.btn2:hover::before {
  width: 100%;
}

a.btn2 {
  text-decoration: none;
}
a.btn2:hover {
  text-decoration: none;
}
/* Optional: change text color when hovered */
.btn2:hover {
  color: white;
}


.btn {
  position: relative;
  overflow: hidden;
  text-transform: uppercase;
  color: white;
  font-weight: bold;
  padding: 10px 20px;
  background-color: #04529a;
  border: none;
  cursor: pointer;
  transition: color 0.3s ease;
}

.btn {
  position: relative;
  overflow: hidden;
  text-transform: uppercase;
  color: white;
  font-weight: bold;
  padding: 15px 25px;
  background-color: #04529a;
  border: none;
  cursor: pointer;
  transition: color 0.3s ease;
  z-index: 0;
}

/* Red background animation layer */
.btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 100%;
  background: #fb0404;
  transition: all 0.4s ease;
  transform: translateX(-50%);
  z-index: -1; /*⬅️ puts the red layer *behind* the text */
}

/* Expand red fill from center to edges */
.btn:hover::before {
  width: 100%;
}

a.btn {
  text-decoration: none;
}
a.btn:hover {
  text-decoration: none;
}
/* Optional: change text color when hovered */
.btn:hover {
  color: white;
}

      

.main-section {
      background-image: url('/files/images/back.jpg');
    background-size: cover;
    background-position: center;
}


.carousel-container {
    
    background: none !important
}


.main-image {
    background: url("/files/images/uvodni-foto.jpg");
    width: 100%;
    background-size: cover;
    height: 800px;
}

@media (max-width: 768px) {
.main-image {
    
    width: 100%;
    background-size: cover;
    height: 300px;
background-position-x: center;
}

}


.contact-container{
color: white;
}

.footer_main .nav li.lvl-1{
width: 100%;
}




        .contact-button {
            background: white;
            border: 2px solid #d32f2f;
            padding: 15px 25px;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 20px;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        .contact-button:hover {
            background: #d32f2f;
            text-decoration: none !important;
        }

        .contact-button:hover .button-icon {
            color: white;
        }

        .contact-button:hover .button-text {
            color: white;
            text-decoration: none;
        }

        .button-icon {
            color: #3d4f7a;
            transition: color 0.3s ease;
        }

        .button-text {
            font-weight: bold;
            color: #04529a;
            text-transform: uppercase;
            transition: color 0.3s ease;
            letter-spacing: 1px;
        }

        .card-blue > *{
          text-align: center;
        }

        .contact-container{
          display: flex;
          align-items: center;
        }

        .contact-container .icon-wrapper{
          width: 60px;
        }

        .contact-container .contact-content a,a.reference{
          color: white;
          transition: color 0.3s ease;
        }

         .contact-container .contact-content a:hover,a.reference:hover{
          color: #fb0404;
          text-decoration: underline;
        }


	.service-container a{
	   font-size: 18px !important;
         color: white   !important;

         transition: color 0.3s ease  !important;

	   text-decoration: none  !important;

        }

         .service-container a:hover{
          color: #fb0404 !important;

          text-decoration: underline !important;

        }




.editable-section li{
    padding-left: 30px;
}

        .editable-section li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 26px;
    height: 30px;
    background-image: url("/files/images/check-icon.svg");
    background-size: contain;
    background-repeat: no-repeat;
}

.red-underline{
    position: relative;
    display: inline-block;
    padding-bottom: 4px;
}

.red-underline::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0%;
    width: 90%;
    height: 2px;
    background-color: red;
}


.product-div{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.fa-facebook  {
  color: blue;
  transition: opacity 0.2s ease;
}

.fa-facebook:hover {
  opacity: 0.8;
}


.footer-main  .fa-facebook{
  color: white;
  transition: opacity 0.2s ease;
}

.footer-main  .fa-facebook:hover {
  opacity: 0.8;
}


.col-md-8 {
	padding-right: 60px;
}

.col-md-4.column2 {
	padding-top: 34px;
}


#product-image{

}


.logo-text {
    font-weight: 800;
    color: black;
    font-size: 36px;
    text-transform: uppercase;

		transition: font-size 0.3s ease, padding 0.3s ease, font-weight 0.3s ease;
}

.sticked .logo-text {
	font-weight: 600;
	color: black;
	font-size: 28px;
	text-transform: uppercase;
}



@media (max-width: 768px) {
    .logo-text {
        font-size: 24px; 
    }
}

@media (max-width: 768px) {
.logo img{
width: 75%;
padding-left: 8px;
}
}


.menu-row{
	padding-top: 1rem;
	padding-bottom: 1rem;
	transition: padding 0.3s ease;
}
.sticked .menu-row{
	padding-top: 0.5rem;
	padding-bottom: 0rem;
}

.logo img{
 transition: width 0.3s ease, padding-left 0.3s ease;
}

.sticked .logo img{
width: 50%;
padding-left: 8px;
}

.sticked .odkaz_na_uvod{
	text-align: center;

}


@media (max-width: 768px) {
  .mobile-center {
    text-align: center;
	justify-content: center;
  }
h1.text-left.text-white{
font-size: 24px;
}
}

.text-footer2{
width: 75%;
}
@media (max-width: 768px) {
.text-footer2{
width: 100%;
text-align:center;
}

}




/* Main footer text logo */
.text-logo-footer {
  font-weight: 800;
  color: white;
  letter-spacing: 2px;
  font-size: 36px;
  text-transform: uppercase;
  margin-left: 20px;
}

/* Secondary footer text logo */
.text-logo-footer2 {
  font-weight: bold;
  text-transform: uppercase;
  color: #fb0404;
  white-space: nowrap;
  margin-left: 20px;
  
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .text-logo-footer {
    font-size: 26px;
    letter-spacing: 1px;
    margin-left: 10px;
  }

  .text-logo-footer2 {
    font-size: 12px;
    margin-left: 10px;
  }

.container.menu {
    /* Remove padding on the left and right */
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.carousel-slide p{
padding: 0px;
text-align:center;
}
}

@media (min-width: 600px) and (max-width: 768px) {
  .container.menu {
  
    /* You can also add flex properties if needed */
    justify-content: space-between; /* example */
    align-items: center;            /* example */
    margin: 0 10px;
  }
}


.carousel-slide p{

text-align:center;
}


.nav-link.dropdown-toggle.active::before {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 5%;
    width: 90%;
    height: 4px;
    background-color: red;
}


.sticky-header{
    z-index: 99;
    position: sticky;
    top: 0;
    background-color: white;
}


.dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #162d52 !important;
}

  .landscape-mobile {
    display: none !important;
  }

@media (min-width: 600px) and (max-width: 768px) {
  .landscape-mobile {
    display: block !important;
  }

    .landscape-mobile-none {
    display: none !important;
  }
 .landscape-mobile-between {
  justify-content: space-between;
 }

 .container.menu {
  
    /* You can also add flex properties if needed */
    justify-content: space-between; /* example */
    align-items: center;            /* example */
    width: 100%;
    max-width: 95%;
    margin: 0 10px;
  }
  .menu-row{
    justify-content: space-between !important;
  }
}