html {
  height: 100%;
}

body {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding-top: 9rem;
  background-color: #f8f9fa;
}

.flexboxmain {
  flex: 1;
}


/*************************************/
/* Fonts BEGINN                      */
/*************************************/
/* prata-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  src: url('../Fonts/prata-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* lato-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('../Fonts/lato-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* noto-sans-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Noto Sans';
	font-style: normal;
	font-weight: 400;
	src: url('../Fonts/noto-sans-v42-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* instrument-sans-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 400;
	src: url('../Fonts/instrument-sans-v4-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}




/*************************************/
/* Fonts ENDE                        */
/*************************************/


/*************************************/
/* Schriftgrößen BEGINN              */
/*************************************/
h1, h2, h3, h4 {
  font-family: 'Instrument Sans';
}

h2 {
	font-size: 2.1rem;
	color: #4d4b49;
}

p {
	font-family: 'Noto Sans';
	font-size: 1rem;
	line-height: 30px;
	color: #202018;
}
/*************************************/
/* Schriftgrößen ENDE                */
/*************************************/


/*************************************/
/* Links BEGINN                      */
/*************************************/
a {
	color: #014d63;
}

a:hover {
	color: #65afff;
}

a:visited {
	color: #5899e2;
}

a.btn-primary:visited {
	color: #ffffff;
}
/*************************************/
/* Links ENDE                        */
/*************************************/




@media (min-width: 992px) {
  body {
    padding-top: 9rem;
  }
  /* Selektiere die letzten beiden <li> Elemente in der Navigation und blende sie auf großen Bildschirmen aus */
  /* "Footermenü Rechtliches" und "Footermenü weitere Infos" sollen nur in der Smartphonedarstellung angezeigt werden */
  .site-menu.main-menu > li:nth-last-child(-n+2) {
    display: none;
  }
}


@media (min-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1500px;
  }
}

/*.navbar>.container, .navbar>.container-fluid {
  flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
}*/

header.slider {
  margin-bottom: 2rem;
}


/****************************/
/* Feature-Section Startpage */
/****************************/
.featuresection {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.featurecard {
  border:2px solid #0d6efd;
}

@media (max-width: 991px) {
	body {
		padding-top: 4rem;
	}
	.col-md-8 {
    margin-bottom: 2rem;
  }
}

/****************************/
/* Feature-Section Lastnews */
/****************************/
.lastnews {
  margin-top: 2rem;
  background-color: #EEEEEE;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.lastnewsheadline {
  font-weight: bold;
  margin-bottom: 3rem;
}

.lastnewssingle {
  padding: 10px;
}

.lastnewssingle:hover {
  box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);
  transition-property: background,border,box-shadow;
  transition-duration: 0.5s;
}


.news .article {
  margin-bottom: 40px !important;
}

.news .article h3.ItemStart {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.news .article:last-child {
/*  padding-bottom: 15px !important; */
/*  margin-bottom: 15px !important; */
}

/****************************/
/* Seitenüberschriften CE   */
/****************************/
.ce-headline-center {
  font-size: 3rem !important;
  border-bottom: 1px solid #dddddd;
}


/*******************/
/* Kontaktformular */
/*******************/
.form-group {
  padding-bottom: 1rem;
}

.checkbox .form-check {
  padding-left: 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.checkbox .form-check input {
  margin-right: 0.5rem;
}

.input .form-control {
  font-family: 'Noto Sans';
  font-size: 15px;
}

/***********************/
/* FAQ - TinyAccordion */
/***********************/
.acc-section header {
  display: none;
}

.acc-section p {
  padding-left: 20px;
}

ul.tinyaccordion li {
  border-radius: 10px 10px 10px 10px;
  padding-left: 1rem;
  border: 1px solid gray;
  margin-bottom: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

ul.tinyaccordion li:has(.acc-selected) {
  box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
}


ul.tinyaccordion h4 {
  font-size: 25px;
  margin: 0 0 6px 0;
  padding-left: 20px;
  color: #212529;
  padding-top: 5px;
  padding-bottom: 5px;
  cursor: pointer;
/*  background: url("../Images/chevron-down.svg"); */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-chevron-down' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position-x: 96%;
  background-position-y: center;
}


ul.tinyaccordion h4.acc-selected {
  /* background: url("../Images/chevron-up.svg"); */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-chevron-up' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z' stroke='black' stroke-width='2' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position-x: 96%;
  background-position-y: center;
  padding-top: 3px;
  color: #212529;
  font-weight: bold;
}


/********************************/
/* Tabelle Chronik pageuid = 34 */
/********************************/
.p34 .contenttable, .p34 .table-striped {
	table-layout: fixed;
	width: 100%;
}

.p34 .contenttable td:first-child, .p34 .table-striped td:first-child {
	width: 150px;
	padding-left: 10px;
}




/**********/
/* Footer */
/**********/
.footercontent {
  background: #444;
  padding: 2rem 0;
  color: #ddd !important;
  margin-top: 3rem;
}

.footerstyle {
  border:2px solid #a09f9d;
  background-color: #014d63;
}

.footerstyle a {
/*  color:  #ffff00; */
  color: #cb6134;
  padding-left: 0;
}

.footerstyle p {
	color: #ffffe0;
}

.footerstyle h4 {
	color: #ffffe0;
}

.footerstyle > .container > .container> .col-12, .footerstyle > .container > .container> .col-sm-12 {
	padding-bottom: 1rem;
}


.frame-padding {
  padding: 2rem;
  background: #eee;
}

/*
.bg-dark,
.bg-dark .dropdown-menu {
  background-color: #ff8700!important;
}
*/

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .dropdown-item {
  color: #fff;
}
.dropdown-item:focus, .dropdown-item:hover {
  background-color: #9a5200;
}

#navbarNavDropdown li a.current {
  font-weight: bold;
}
#navbarNavDropdown li a.active {
  font-style: italic;
}

ul.metaMenu {
  list-style-type: none;
  margin: 0;
  padding-left: 0;
}

/*
ul.metaMenu li {
  display: inline-block;
}
*/


ul.metaMenu a, ul.metaMenu a:visited {
	color: #ffffe0;
	font-family: "Instrument Sans";
}

ul.metaMenu li.active a {
/*  color: yellow; */
  color: #cb6134;
  font-weight: bold;
}

ul.metaMenu a:hover {
  color: rgba(255,255,255,.75);
}

/* Adjustments for fluid_styled_content */
img {
  max-width:100%;
  height: auto;
}
.ce-intext [data-ce-columns="1"] {
  width: 100%;
}

@media screen and (min-width: 768px){
  .ce-intext [data-ce-columns="1"] {
    width: 50%;
  }
}

@media screen and (min-width: 991px){
  .ce-intext [data-ce-columns="1"] {
    width: 33.3333%;
  }
}

.ce-center [data-ce-columns="3"] .ce-column,
.ce-right [data-ce-columns="3"] .ce-column,
.ce-left [data-ce-columns="3"] .ce-column {
  margin-right: 1%;
  width: 32.33333%;
}

.ce-center [data-ce-columns="2"] .ce-column,
.ce-right [data-ce-columns="2"] .ce-column,
.ce-left [data-ce-columns="2"] .ce-column {
  margin-right: 1%;
  width: 49%;
}
.ce-center [data-ce-columns="4"] .ce-column,
.ce-right [data-ce-columns="4"] .ce-column,
.ce-left [data-ce-columns="4"] .ce-column {
  margin-right: 1%;
  width: 24%;
}

.ce-center [data-ce-columns="5"] .ce-column,
.ce-right [data-ce-columns="5"] .ce-column,
.ce-left [data-ce-columns="5"] .ce-column {
  margin-right: 1%;
  width: 19%;
}

.ce-center [data-ce-columns="6"] .ce-column,
.ce-right [data-ce-columns="6"] .ce-column,
.ce-left [data-ce-columns="6"] .ce-column {
  margin-right: 1%;
  width: 15.666667%;
}

.ce-gallery figure.video {
  display: block;
}





/************/
/* Mainnavi */
/************/
.site-navbar {
  margin-bottom: 0px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  z-index: 1999;
  position: absolute;
  width: 100%;
  top: 0px;
  background: rgba(248,247,247,0.3);
}

.nobgcolor {
  background-color: rgba(248,247,247,0.2);
}

.site-navbar-fixed {
  position: fixed;
  top: -100px;
  transform: translateY(100px);
  transition: transform .5s;
  width: 100%;
  z-index: 97;
  background-color: #F8F7F7;
}


.site-navbar-shadow {
  box-shadow: 0px 10px 14px -7px #bbdee3;
}

.site-navbar .site-navigation .site-menu > li > a {
  font-family: 'Noto Sans';
  font-style: normal;
  padding: 20px 20px;
  font-size: 19px;
  color: #212529;
  display: inline-block;
  text-decoration: none !important;
  font-weight: bold;
}


.site-navbar .site-navigation .site-menu > li > a:hover {
  color: #644629;
}



.site-navbar .site-navigation .site-menu .has-children .dropdown {
  border-top: 2px solid #001F3F;
}

.site-navbar .site-navigation .site-menu .has-children .dropdown > li > a {
  font-family: 'Noto Sans';
  font-style: normal;
  color: #BE9063;
  padding: 9px 20px;
  display: block;
}

.site-navbar .site-navigation .site-menu .has-children .dropdown > li > a:hover {
  background: #eff1f3;
  color: #644629;
  font-weight: bold;
}


.site-navbar .site-navigation .site-menu .has-children:hover > a, .site-navbar .site-navigation .site-menu .has-children:focus > a, .site-navbar .site-navigation .site-menu .has-children:active > a {
  color: #644629;
}



/* Submenu */
.nav-pills .nav-link.active {
  font-weight:bold;
  color: #0056b3;
  background-color: inherit;

}


/***************************/
/* Vollbild und Movinwords */
/***************************/
#home {
/*
  background-color: #444;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url('../Images/startbild_vaihingen.jpg');
  min-height: 100vh;
  width: 100%;
  margin-top: -145px;
 */
}

#home .homesloganheader {
  visibility: hidden;
  padding-top: 140px;
  padding-left: 37rem;
}

#home .homesloganpoints {
  visibility: hidden;
  padding-left: 37rem;
}

#home h1 {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-size: 5rem;
  color: #FDFAF5;
  text-align: center;
  line-height: 10rem;
  text-shadow: 3px 3px 4px #222;
  letter-spacing: 0.4rem;
}


#home h2 {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-size: 3rem;
  line-height: 6rem;
  color: #FDFAF5;
  text-align: center;
  text-shadow: 3px 3px 4px #222;
}


.scroll-down-arrow {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2hldnJvbl90aGluX2Rvd24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiBmaWxsPSJ3aGl0ZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTE3LjQxOCw2LjEwOWMwLjI3Mi0wLjI2OCwwLjcwOS0wLjI2OCwwLjk3OSwwYzAuMjcsMC4yNjgsMC4yNzEsMC43MDEsMCwwLjk2OWwtNy45MDgsNy44M2MtMC4yNywwLjI2OC0wLjcwNywwLjI2OC0wLjk3OSwwbC03LjkwOC03LjgzYy0wLjI3LTAuMjY4LTAuMjctMC43MDEsMC0wLjk2OWMwLjI3MS0wLjI2OCwwLjcwOS0wLjI2OCwwLjk3OSwwTDEwLDEzLjI1TDE3LjQxOCw2LjEwOXoiLz48L3N2Zz4=);
  background-size: contain;
  background-repeat: no-repeat;
}


.scroll-down-link {
  position: absolute;
  z-index: 100;
  /* cursor: pointer; */
  height: 60px;
  width: 80px;
  margin: 0px 0 0 -40px;
  line-height: 60px;
  left: 50%;
  bottom: 10px;
  color: #fff;
  text-align: center;
  font-size: 70px;
  text-decoration: none;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.4);
  -webkit-animation: fade_move_down 4s ease-in-out infinite;
  -moz-animation: fade_move_down 4s ease-in-out infinite;
  animation: fade_move_down 4s ease-in-out infinite;
}


/*animated scroll arrow animation*/
@-webkit-keyframes fade_move_down {
  0%   { -webkit-transform:translate(0,-20px); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { -webkit-transform:translate(0,20px); opacity: 0; }
}
@-moz-keyframes fade_move_down {
  0%   { -moz-transform:translate(0,-20px); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { -moz-transform:translate(0,20px); opacity: 0; }
}
@keyframes fade_move_down {
  0%   { transform:translate(0,-20px); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { transform:translate(0,20px); opacity: 0; }
}



@media (max-width: 1100px) {
  #home .homesloganheader {
    padding-top: 140px;
    padding-left: 20rem;
  }

  #home .homesloganpoints {
    padding-left: 22rem;
  }
}

@media (max-width: 800px) {
  #home .homesloganheader {
    padding-top: 140px;
    padding-left: 0;
  }

  #home .homesloganpoints {
    padding-left: 2rem;
  }
}

/****************************************/
/* Überschreibung Startseiten Varianten */
/****************************************/
/* Variante 1 */
#homev1 .mw {
	opacity: 1;
}


#homev1 {
	background: linear-gradient(45deg, #89151b 0%, #dba71f 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 200px 40px;
	width: 100%;
	margin-top: -145px;
	position: relative;
}

#homev1 .home-card {
	background: white;
	padding-top: 60px;
	padding-bottom: 60px;
	padding-left: 60px;
	padding-right: 60px;
	border: 2px solid #014d63;
	border-radius: 20px;
	box-shadow: 0 25px 50px rgba(137, 21, 27, 0.25);
	text-align: center;
	max-width: 800px;
	position: relative;
}

#homev1 .home-icon {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 60px;
	background: linear-gradient(45deg, #89151b 0%, #dba71f 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-size: 24px;
	box-shadow: 0 10px 20px rgba(137, 21, 27, 0.3);
	z-index: 2;
}


.homesloganheader {
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 15px;
	margin-top: 20px; /* Platz für das Icon */
	color: #4d4b49;
}

.homesloganpoints {
	font-size: 2rem;
	color: #4d4b49;
	font-weight: 300;
	margin: 0;
}



/* Responsive Design */
@media (max-width: 768px) {
	#homev1 {
		padding: 40px 20px;
		margin-top: -145px;
	}

	#homev1 .home-card {
		max-width: 100%;
		padding: 30px 20px;
	}

	.homesloganheader {
		font-size: 1.8rem;
	}

	.homesloganpoints {
		font-size: 1.1rem;
	}

	#homev1 .home-icon {
		width: 50px;
		height: 50px;
		font-size: 20px;
		top: -25px;
	}
}

@media (max-width: 480px) {
	.homesloganheader {
		font-size: 1.5rem;
	}

	.homesloganpoints {
		font-size: 1rem;
	}
}

/* Variante 2 */
#homev2 .mw {
	opacity: 1;
}

#homev2 {
	background: linear-gradient(45deg, #076b3f 0%, #dba71f 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 200px 40px;
	width: 100%;
	margin-top: -145px;
	position: relative;
}

#homev2 .home-card {
	background: white;
	padding-top: 60px;
	padding-bottom: 60px;
	padding-left: 60px;
	padding-right: 60px;
	border: 2px solid #89151b;
	border-radius: 20px;
	box-shadow: 0 25px 50px rgba(7, 107, 63, 0.25);
	text-align: center;
	max-width: 800px;
	position: relative;
}

#homev2 .home-icon {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 60px;
	background: linear-gradient(45deg, #076b3f 0%, #dba71f 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-size: 24px;
	box-shadow: 0 10px 20px rgba(7, 107, 63, 0.3);
	z-index: 2;
}

.homesloganheader {
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 15px;
	margin-top: 20px; /* Platz für das Icon */
	color: #4d4b49;
}

.homesloganpoints {
	font-size: 2rem;
	color: #4d4b49;
	font-weight: 300;
	margin: 0;
}



/* Variante 3 */
#homev3 .mw {
	opacity: 1;
}

#homev3 {
	background-image: url('../Images/Vaihingen_Einlinienzeichnung_ohne_Text.png');
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	background-color: transparent;
	min-height: 100vh;
	width: 100%;
	margin-top: -90px;

	/* Randabstände */
	padding: 5vh 5vw 10vh 5vw;

	/* Zentrierung des Inhalts */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

#homev3 .home-card {
	background-color: rgba(7, 107, 63, 0.2); /* #076b3f mit 50% Transparenz */
	padding: 2rem;
	border-radius: 8px;
	color: white; /* Für gute Lesbarkeit auf dunklem Hintergrund */
	text-align: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	margin-top: 26rem;
}

#homev3 .homesloganheader {
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

#homev3 .homesloganpoints {
	font-size: 1.5rem;
	font-weight: 400;
}


/* Variante 4 */
#homev4 {
	background-image: url('../Images/KI_Bus_Finish.png');
	background-color: #444;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	min-height: 100vh;
	width: 100%;
	margin-top: -145px;
}

#homev4 .homesloganheader {
	visibility: hidden;
	padding-top: 9rem;
	padding-left: 0;
	color: #dba71f;
}

#homev4 .homesloganpoints {
	visibility: hidden;
	padding-left: 0;
	color: #dba71f;
}

#homev4 h1 {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-size: 4rem;
	color: #FDFAF5;
	text-align: center;
	line-height: 10rem;
	text-shadow: 3px 3px 4px #715757;
	letter-spacing: 0.4rem;
}


#homev4 h2 {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-size: 3rem;
	line-height: 6rem;
	color: #FDFAF5;
	text-align: center;
	text-shadow: 3px 3px 4px #715757;
}
