body, html {
  margin: 0;
  font-family: 'Lato Light'!important;
}

/* Maincontainer Settings */
.maincontainer h1, .maincontainer h2, .maincontainer h3, .maincontainer h4, .maincontainer h5 {
	color: rgb(31,44,76);
	font-family: 'Lato';
}
.maincontainer {
	margin-top: 50px;
	margin-bottom: 50px;
}

/* Infobox */
.info-box {
	border: 2px solid #ddd;
	padding: 20px;
	text-align: center;
	border-radius: 10px;
	transition: all 0.3s ease-in-out;
}

.info-box i {
	font-size: 40px;
	color: rgb(31,44,76);
	margin-bottom: 10px;
}

.info-box p {
	font-size: 18px;
	font-weight: bold;
	margin: 0;
}

.info-box:hover {
	border-color: rgb(31,44,76);
	transform: scale(1.05);
}

/* Feature Box */
.feature-box {
	text-align: center;
	padding: 30px;
	background: white;
	border-radius: 12px;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease-in-out;
	display: flex;
	flex-direction: column;
	justify-content: space-between; /* Hält die Inhalte ausbalanciert */
	flex-grow: 1; /* Sorgt für gleiche Höhe */
}

.feature-box:hover {
	transform: translateY(-5px);
}

.feature-box i {
	font-size: 40px;
	color: rgb(31, 44, 76);
	margin-bottom: 15px;
}

.feature-box h4 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}

.feature-box p {
	font-size: 16px;
	color: #333;
	flex-grow: 1; /* Sorgt für gleiche Textausrichtung */
}

/* FEATURE LIST */
.feature-list {
	list-style: none;
	padding: 0;
}

.feature-list li {
	font-size: 18px;
	margin-bottom: 15px;
	display: flex;
	align-items: center;
}

.feature-list i {
	font-size: 24px;
	color: rgb(31, 44, 76);
	margin-right: 10px;
}


/* 🔹 Gemeinsame Styles für beide Prozess-Listen */
.process-box {
	text-align: left;
	padding: 20px;
}

/* 🔹 Große Zahlen für den Prozess */
.process-number {
	font-size: 80px;
	font-weight: bold;
	color: #1f2c4c;
	margin-bottom: 10px;
}

/* 🔹 Unterüberschriften */
.process-title {
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 10px;
}

/* ---------------------------------------------------- */
/* 🔹 STYLES für die 1,2,3 Liste (Prozess MIT Bild) */
/* ---------------------------------------------------- */
.process-container-3 .col-md-4:nth-of-type(1) .process-number { opacity: 1; }
.process-container-3 .col-md-4:nth-of-type(2) .process-number { opacity: 0.7; }
.process-container-3 .col-md-4:nth-of-type(3) .process-number { opacity: 0.5; }

/* Bild-Anpassungen */
.process-image {
	max-width: 100%;
	height: auto;
}

/* ---------------------------------------------------- */
/* 🔹 STYLES für die 1,2,3,4 Liste (Prozess OHNE Bild) */
/* ---------------------------------------------------- */
.process-container-4 .col-md-3:nth-of-type(1) .process-number { opacity: 1; }
.process-container-4 .col-md-3:nth-of-type(2) .process-number { opacity: 0.7; }
.process-container-4 .col-md-3:nth-of-type(3) .process-number { opacity: 0.5; }
.process-container-4 .col-md-3:nth-of-type(4) .process-number { opacity: 0.3; }

/* Entfernt Standard-Aufzählungspunkte */
.home-list {
	list-style: none; 
	padding-left: 0; /* Entfernt Einrückung */
}

/* Styling für die individuellen Icons */
.home-list li {
	font-size: 18px; /* Schriftgröße anpassen */
	margin-bottom: 10px; /* Abstand zwischen den Listenelementen */
	display: flex; 
	align-items: center;
}

/* Abstand zwischen Icon und Text */
.home-list li i {
	margin-right: 10px; /* Abstand zwischen Icon und Text */
	font-size: 20px; /* Größe des Icons */
}

/* Container für die Liste und das Bild */
.home-content {
	display: flex; /* Flexbox aktivieren */
	align-items: center; /* Vertikale Zentrierung */
	justify-content: space-between; /* Abstand zwischen Liste und Bild */
	gap: 30px; /* Abstand zwischen Liste und Bild */
}

/* Liste bleibt flexibel in der Breite */
.home-content .home-list {
	flex: 1; /* Füllt den verfügbaren Platz */
}

/* Bild bleibt in der Größe begrenzt */
.home-content .home-image {
	max-height: 100%; /* Bildhöhe passt sich dynamisch an */
	width: auto; /* Beibehaltung des Seitenverhältnisses */
	object-fit: contain; /* Kein Abschneiden oder Verzerren */
}


/* Styling für den Testimonial-Bereich */
.testimonial-box {
	background: #f8f9fa; /* Heller Hintergrund */
	padding: 20px;
	border-radius: 10px; /* Abgerundete Ecken */
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); /* Leichter Schatten */
	max-width: 700px; /* Begrenzte Breite für bessere Lesbarkeit */
	margin: 0 auto; /* Zentriert das Kästchen */
	position: relative;
}

/* Zitat-Icon (Font Awesome Sharp Duotone Light) */
.quote-icon {
	font-size: 30px;
	position: absolute;
	top: -10px;
	left: 10px;
}
/* Anpassung der Navigationspfeile */
.carousel-control-prev-icon,
.carousel-control-next-icon {
	background-color: rgba(0, 0, 0, 0.5); /* Dunkler Hintergrund für bessere Sichtbarkeit */
	border-radius: 50%; /* Runde Form für moderne Optik */
	width: 50px;
	height: 50px;
}

/* Hover-Effekt für Pfeile */
.carousel-control-prev:hover .carousel-control-prev-icon,
.carousel-control-next:hover .carousel-control-next-icon {
	background-color: rgba(0, 0, 0, 0.8); /* Intensivere Farbe beim Überfahren */
}

/* Positionierung anpassen */
.carousel-control-prev {
	left: -50px; /* Pfeil leicht nach außen setzen */
}

.carousel-control-next {
	right: -50px; /* Pfeil leicht nach außen setzen */
}


/* Unsere Werte */
.value-box {
	text-align: center;
	background: white;
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease-in-out;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}

.value-box:hover {
	transform: translateY(-5px);
}

.value-box i {
	font-size: 50px; /* Größere Icons für bessere Sichtbarkeit */
	color: #1f2c4c;
	margin-bottom: 15px;
}

.value-box h4 {
	font-size: 20px;
	margin-bottom: 10px;
}

.value-box p {
	font-size: 14px;
	color: #555;
	padding: 0 10px; /* Mehr Abstand für bessere Lesbarkeit */
}




/* Formular Settings */
.btn-primary {
	background-color: rgb(31, 44, 76) !important;
	border-color: rgb(31, 44, 76) !important;
	color: white !important; /* Stellt sicher, dass der Text gut sichtbar bleibt */
	transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

/* Stärkerer Hover-Effekt */
.btn-primary:hover {
	background-color: rgb(10, 20, 40) !important; /* Deutlich dunkler für starken Kontrast */
	border-color: rgb(10, 20, 40) !important;
}



/* Bilder */
/* Bilder mit Schatten & moderner Darstellung */
.img-fluid.shadow {
	border-radius: 10px;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease-in-out;
}

.img-fluid.shadow:hover {
	transform: scale(1.03);
}

/* Großes Bannerbild */
.banner-image {
	max-height: 400px;
	object-fit: cover;
	border-radius: 10px;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
}


/* Navigation und Home-Content */

.home-topcontent {
	color: #ffffff;
	height: 60vh;
}
.sub-topcontent {
	color: #ffffff;
	height: 30vh;
}
.homecontainer {
	background-color:  rgba(54,75,139, 1);
	background: url("../images/homeimage2.jpg") no-repeat center center;
	background-attachment: scroll;
	background-size: cover; 
}
.navbar {
	min-height: 100px;
	text-transform: none;
	border-bottom: 0.5px solid rgba(255,255,255,0.7);
}
.navbar {
	background: rgba(31,44,76,1);
	backdrop-filter: blur(10px);
}
.navbar a {
	color: #ffffff;
}
.nav-item-space {
	padding-left: 10px;
	padding-right: 10px;
}
/* Navbar aktive Links: Weiß und fett */
.navbar .nav-link.active,
.navbar .nav-link.fw-bold.active {
  color: #ffffff !important;
  font-weight: 700 !important;
}
/* Hover-Effekt für Navbar-Links: leichtes Grau */
.navbar .nav-link:hover {
  color: #aaaaaa !important; /* helles Grau */
  transition: color 0.3s ease;
}


.topcontent {
	color: rgb(31,44,76);
}

.topcontent h1 {
	font-family: 'Lato';
}

.topcontent p {
	font-family: 'Lato Light';
}

.topcontent .btn-primary {
	font-family: 'Lato Bold'!important;
}


/* Card Layout */
.contact-card {
	text-align: center;
	background: white;
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease-in-out;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.contact-card:hover {
	transform: translateY(-5px);
}

.profile-img {
	width: 100%;
	max-height: 300px; /* Verhindert übergroße Bilder */
	object-fit: cover;
	border-radius: 8px;
	margin-bottom: 15px;
}

.contact-card h3 {
	font-size: 20px;
	margin-bottom: 5px;
}

.contact-card p {
	font-size: 16px;
	margin: 5px 0;
}

.contact-card blockquote {
	font-size: 14px;
	font-style: italic;
	color: #555;
	margin-top: 10px;
}

/* Global Layout */
.greybanner {
	margin-top: 75px;
	margin-bottom: 75px;
	background-color: #efefef;
	padding-top: 75px;
	padding-bottom: 75px;
}



footer {
	background: rgb(54,75,139);
	background: linear-gradient(180deg, rgba(54,75,139,1) 0%, rgba(31,44,76,1) 100%);
	margin-bottom: 0px;
	color: #ffffff;
	padding-top: 100px;
	padding-bottom: 100px;
}
footer a {
	text-decoration: none;
	color: #ffffff;
}

