:root{
 --color-c1:#0F3BBF;
  --color-c2:#021F59;
  
  --color-c3:#2669BF;
  --color-c4:#d9d9d9;
  --color-c5:#0D0D0D;
  
  --color-white:#ffffff;
  --color-highlight: #2669BF;
  --color-highlight-2nd:#021F59;
  
  --color-border:#0F3BBF;
}
 
 
 
 

body{
	font-family: Arial;
	color: #0D0D0D;
	letter-spacing: 0.01em;
	font-size: 1em;
	background-color:white;
	hyphens: auto;
}
*, :after, :before {
	box-sizing: border-box;
}


*:focus {
	outline: none;
	 border-color: inherit;
  -webkit-box-shadow: none;
  box-shadow: none;
}



.footer a {
	color: var(--color-white);}


#content1238 a,#content1248 a, #content1257 a {
	color: var(--color-white);
}

a{
	text-decoration: none;
}

strong{color: var(--color-c1);}
strong.blue{color: var(--color-c3);}

img {
	vertical-align: middle;
	border-style: none;
}

.test_bg{background-color:red;}
.test_bg_2{background-color:green;}



.google-font{font-family: 'Teko', sans-serif;font-weight: 200; 
  line-height:98%;}
.google-font-header{font-family: 'Teko', sans-serif; font-weight: 900;text-shadow: -1px 2px 6px #5f5f5f;}



h1,h2,h3,h4,h5{margin: 0;padding: 0; overflow-wrap: anywhere; font-weight: normal;}



.spacer-em-0_25{height: 0.25em; clear: both; display: block;}
.spacer-em-0_5{height: 0.5em; clear: both; display: block;}
.spacer-em-0_5{height: 0.75em; clear: both; display: block;}
.spacer-em-1{height: 1em; clear: both; display: block;}
.spacer-em-2{height: 2em; clear: both; display: block;}
.spacer-em-4{height: 4em; clear: both; display: block;}
.spacer-em-6{height: 6em; clear: both; display: block;}
.spacer-em-8{height: 8em; clear: both; display: block;}
.spacer-bottom{height: 4em; clear: both; display: block;}

.p-10_0{padding: 10px 0;}
.p-0{padding: 0 !important;}
.p-0_20{padding: 0 20px ;}
.p-0_40{padding: 0 40px ;}
.p-20{padding: 20px ;}

.outline-1{outline: 1px solid var(--color-c1);}
.outline-1_10{outline: 16px solid  var(--color-c1);}
.outline-w_10{outline: 16px solid white;}

.bc-2{border-color: var(--color-c2) !important;}

.c-1{color: var(--color-c1);}
.c-2{color: var(--color-c2);}
.c-3{color: var(--color-c3);}
.c-4{color: var(--color-c4);}
.c-5{color: var(--color-c5);}
.c-higlight{color: var(--color-higlight);}
.c-higlight_2nd{color: var(--color-highlight-2nd);}

.c-white{color: var(--color-white);}
.c-black{color: #000000;}

.c-hihlight-bg-black{color:#A6A6A6;}


.bg-c-1{background-color: var(--color-c1) !important;}
.bg-c-2{background-color: var(--color-c2) !important;}
.bg-c-3{background-color: var(--color-c3) !important;}
.bg-c-4{background-color: var(--color-c4) !important;}
.bg-c-5{background-color: var(--color-c5) !important;}
.bg-c-highlight{background-color: var(--color-highlight)}

.bg-c-red{background-color: #EC5051 !important;}
.bg-c-green{background-color: #8bd485  !important;}
.bg-c-white{background-color: #ffffff  !important;}
.bg-c-black{background-color: #000000  !important;}













.tsolis-mh-300
{
	max-height: 300px;
	overflow: hidden;
}





.text-animation {
  position:relative;
  color:#eee;
  height:200px;
  line-height:200px;
  overflow:hidden;
}
.text-animation span {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  opacity:0;
  text-transform:uppercase;
  letter-spacing:5px;
}






@keyframes pulse {
 0% {
 transform: scale(1, 1);
}
 50% {
 transform: scale(1.1, 1.1);
}
 100% {
transform: scale(1, 1);
};
}

.header_btn {

	width: 200px;
	height: 200px;
	-webkit-animation: pulse 1.5s linear infinite;
	animation: pulse 1.5s linear infinite;
	border-radius: 50%;
	
	
	
}

.header_btn span{transform: rotate(5deg);}

.header_btn:hover {
	-webkit-animation: none;
	animation:none;
}





.fade-in {
  animation: fadeIn ease 2s;
  -webkit-animation: fadeIn ease 2s;
  -moz-animation: fadeIn ease 2s;
  -o-animation: fadeIn ease 2s;
  -ms-animation: fadeIn ease 2s;
}
@keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-moz-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-webkit-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-o-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@-ms-keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}






.main-menu{list-style: none;
	
	display: inline-block;
	text-align: left;
	width: 100%;
	margin: 0;
	padding: 0;

	
}



.main-menu li{  position: relative; display: inline-block; }
.main-menu li a{color: white; display:inline-block; padding: 10px 15px;}
/* .main-menu li a:hover{color:#e52020;} */


.mobile-menu-holder .main-menu li {display:block;}
.mobile-menu-holder .main-menu li.sub{padding: 0 0 0 20px;} 
.mobile-menu-holder .main-menu li a{color: white; display:inline-block; padding: 0 10px 10px 10px;}


.main-menu li:hover
{
	
}

.main-menu li.no_hover:hover
{
	background-color: transparent;
}



.main-menu li:hover a
{
	color: white;
	background-color: var(--color-c1);
}

.mobile-menu-holder .main-menu li:hover a
{
	color: white;
	background-color: transparent;
}

.main-menu li.highlight{background-color: var(--color-c1); border-radius: 5px;}
.main-menu li.highlight:hover{background-color: var(--color-highlight);}

.main-menu li:hover div.container{
	display: block;
	width: auto;

}


.main-menu li .container{display: none; z-index: 80; position: absolute;
	background-color: var(--color-c1); top: 70%;}
	
.main-menu li .container a { display: block;  }	

.main-menu li .container a:hover { outline: 1px solid white;}
	


input::-webkit-input-placeholder {
	color: var(--color-c3);
	font-size: 0.8em;
}
textarea::-webkit-input-placeholder {
	color: var(--color-c3);
	font-size: 0.8em;
}


input:focus::-webkit-input-placeholder {
	color: var(--color-c1);
	font-size: 0.8em;
}

textarea:focus::-webkit-input-placeholder {
	color: var(--color-c1);
	font-size: 0.8em;
}



 .ts-font-big{font-size: clamp(3rem, 2.56rem + 2.22vw, 4rem);}
  .ts-font-1{font-size: clamp(2.5rem, 2.28rem + 1.11vw, 3rem);}
  .ts-font-2{font-size: clamp(2rem, 1.78rem + 1.11vw, 2.5rem);}
  .ts-font-3{font-size: clamp(1rem, 0.56rem + 2.22vw, 2rem);}
  
  .ts-font-4{font-size: clamp(1.2rem, 1.07rem + 0.67vw, 1.5rem);}
  .ts-font-5{font-size: clamp(0.8rem, 0.71rem + 0.44vw, 1rem);}
  .ts-font-6{font-size: clamp(0.7rem, 0.66rem + 0.22vw, 0.8rem);}



.ts-ul-content
{
	margin: 0;
	padding: 0 0 0 16px;
}

.ts-ul-content-counter
{
	margin: 0;
	padding: 0 0 0 2px;
	list-style: none;
}


#cookie-popup { 
  text-align: center; 
  background:  var(--color-c4);
  position: fixed;
  bottom: 0; 
  color: white;
  left: 0;
  right: 0;
  z-index: 9999;
  font-size:14px; 
  line-height:20px;
  padding: 20px;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
  box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
  }
 
#cookie-popup.hidden {
  display: none;
}


.btn-primary-highlight{background-color: var(--color-c5) !important;border:1px solid var(--color-border); text-transform: uppercase; font-weight: normal;cursor: pointer; color:white;}
.btn-primary-highlight:hover{background-color: var(--color-c1) !important; color:white;}


/*bootstrap ovverride*/
.btn-primary{background-color: var(--color-highlight) !important;border:0; text-transform: uppercase; font-weight: normal;cursor: pointer;}
.btn-primary:hover{background-color: var(--color-highlight-hover) !important;}






ul.timeline {
	list-style-type: none;
	position: relative;
}
ul.timeline:before {
	content: ' ';
	background: #d4d9df;
	display: inline-block;
	position: absolute;
	left: 29px;
	width: 2px;
	height: 100%;
	z-index: 400;
}
ul.timeline > li {
	margin: 20px 0;
	padding-left: 20px;
}
ul.timeline > li:before {
	content: ' ';
	background: white;
	display: inline-block;
	position: absolute;
	border-radius: 50%;
	border: 3px solid var(--color-c1);
	left: 20px;
	width: 20px;
	height: 20px;
	z-index: 400;
}



ul.ts-list li {margin-bottom: 0.5em;
}

.accordion-button{background-color: var(--color-c1) !important; color:var(--color-white) !important;}
.accordion-button:hover{background-color: var(--color-c2) !important; color:var(--color-white) !important;}
//.accordion-item button.collapsed{background-color: var(--color-c2) !important;}


.form-floating{margin: 0 0 20px 0;}
.ts-form-control{padding: 8px 8px !important; margin:0 !important; width: 100%; border: 1px solid black; border-radius: 5px; font-size: 1em;}
.ts-form-control:focus{ border: 1px solid var(--color-c1); color:var(--color-c1);}


.ts-form-selecz-control{padding: 8px 10px !important;width: 100%; border: 1px solid black; border-radius: 5px; font-size: 1em;  color: var(--color-c3);}
.ts-form-selecz-control:focus{border: 1px solid red;  color: var(--color-c1);}



.wave{
	position:absolute; bottom:-1%; left:0; z-index:200; width:100%;
	
}



#tsolis-header-gradient {
  min-height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* optional: Inhalt oben halten */
}



@media (min-width: 768px) { 
	
	#tsolis-header-gradient {
	
		height: 100vh; 
		
	}

}
 
@media (min-width: 1400px) { 	

  }
  
  
 @media (min-width: 1800px) { 	
	
   }


.main-container
{
	line-height: 1.8em;
}
.main-container ul
{
padding: 0 ;
margin: 0 ;	
}

.main-container li
{
	display: flex;
	flex-direction: row;
	align-items: center;
	
}




















.dropdown-menu
{
	border: 0 !important;	
}


.dropdown-menu-col
{
	border-top: 4px solid  #031546;
	background-color: white;
	margin-top:5px;

}

 .dropdown:hover .dropdown-menu {
	display: block;
	background-color: transparent;
	
}

/* .navbar .megamenu{ padding: 1rem; } */
.navbar .megamenu{ padding: 1rem; }



/* ============ desktop view ============ */
@media all and (min-width: 992px) {
	
	.navbar .has-megamenu{position:static!important;}
	.navbar .megamenu{left:0; right:0; width:100%; margin-top:0; padding: 0; }
	
}	
/* ============ desktop view .end// ============ */


/* ============ mobile view ============ */
@media(max-width: 991px){
	.navbar.fixed-top .navbar-collapse, .navbar.sticky-top .navbar-collapse{
		overflow-y: auto;
		max-height: 90vh;
		margin-top:10px;
	}
}
/* ============ mobile view .end// ============ */



/* ul.list-unstyled li {
	display: block;
	background-color: red;
} */
.dropdown-toggle::after {
	display:none;
}

li  a.disabled
{
	color: white !important;
}



.navbar-toggler
{
	border-color: white !important;
}


.navbar-nav li{   margin:0 5px;}

.navbar-nav li a {
	color: white;
	padding: 10px 15px;
	border-radius: 5px;
}

.navbar-nav li:hover a
{
	color: white;
	background-color: var(--color-c1);
}

.col-megamenu ul, .col-megamenu li, .col-megamenu li a
{
	padding: 0;
	margin: 0;
	list-style: none;
	
}

.col-megamenu li
{
	margin: 0 0 10px 0;
}

.col-megamenu li a
{
	padding: 2px;
	background-color: transparent !important;
	color: var(--color-c5) !important;
}















.navbar-nav .megamenu li a {
	color: var(--color-c2);
	background-color: transparent;
}

.navbar-nav .megamenu li:hover a
{
	background-color: transparent;
}

ul.submenu{ background-color: var(--color-c1); text-align: center; }
ul.submenu li{ list-style: none; display: inline-block; width: auto;}
ul.submenu li a{ height: 40px; display: block; color:var(--color-white);}
ul.submenu li a:hover{  color:var(--color-c5);}



/* ul#submenu{ background-color: var(--color-c2); text-align: center; }
ul#submenu li{ list-style: none; display: inline-block;}
ul#submenu li a{ height: 40px; display: block; color:var(--color-c4);}
ul#submenu li a:hover{  color:var(--color-c5);} */


/* 
li.nav-item
{
	border-bottom: 1px solid var(--color-c2);
}
.nav-link
{
	color:var(--color-c2) !important;
	background-color: transparent !important;
	
} */


.navbar-mobile-nav 
{
	list-style: none;
	margin: 5px 0;
}


#main_nav
{
	
	position: fixed;
	z-index: 300;
	width: 100%;
	top: 0;
	bottom:0;
	right: 0;
	overflow: auto;
	background-color: white;

}	


@media screen and (min-width:720px) {

	#main_nav
	{
		background-color: transparent; 
		position: unset;
		width: unset;
	}	

}





 @media (min-width: 1200px) {
   .container-small {
	 width: 900px !important;

   }
 }





.ts-hero-holder {
	background-color: rgba(0, 0, 0, 0.5); /* Schwarzer Hintergrund mit 50% Transparenz */
	  
	  border-radius: 8px;
  max-width: 960px; /* oder 1140px, je nach gewünschter Breite */
  width: 100%;
  margin: 0 auto;
  
  text-align: center;
}




.cta-button-animated-small {
  display: inline-block;
  background-color: var(--color-c2);
  color: white;
  padding: 7px 14px;
  border-radius: 8px;
  font-size: 1rem;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.3s ease;

}

.cta-button-animated-small:hover {
  animation: pulse 0.6s ease-in-out;
  background-color: var(--color-c1);
}


.cta-button-animated {
  display: inline-block;
  background-color: var(--color-c2);
  color: white;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: 1.4rem;
  text-decoration: none;
  font-weight: 600;
  transition: transform 0.2s ease, background-color 0.3s ease;
  font-family: 'Teko', sans-serif;font-weight: 200; 
}

.cta-button-animated:hover {
  animation: pulse 0.6s ease-in-out;
  background-color: var(--color-c1);
}

@keyframes pulse {
  0% {
	transform: scale(1);

  }
  50% {
	transform: scale(1.05);

  }
  100% {
	transform: scale(1);
	
  }
}




.form-floating textarea.form-control {
  height: 150px;
}








.cookie-popup {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.9);
  color: white;
  padding: 1rem;
  z-index: 10000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
}

.cookie-popup-inner {
  max-width: 800px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.cookie-popup p {
  margin: 0;
  flex: 1;
}

.cookie-popup a {
  color: #ffffff;
  text-decoration: underline;
}

.cookie-popup button {
  flex-shrink: 0;
}

.d-none {
  display: none !important;
}
