@charset "utf-8";
/* CSS Document */

html,
html * {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-family: 'Lato', sans-serif;
}

/*Header----------------------------------------------------------------------------------------------------*/

header {
/*	position: sticky;
	top: 0;
	background: white;
	z-index: 1000;*/
	position: fixed;
 	top: 0;
 	left: 0;
 	width: 100%;
 	background: white;   /* damit er nicht durchsichtig ist */
 	z-index: 1000;       /* damit er über dem Inhalt liegt */
	padding: 32px;
}

body {
  padding-top: 150px; /* Höhe des Headers, damit der Inhalt nicht verdeckt wird */
}

.style-logo {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

/* Anpassung des Logos für Mobilgeräte */
@media (max-width: 768px) {
  .style-logo {
    width: 60%;       /* oder z. B. 90% */
    height: auto;      /* Verhältnis bleibt erhalten */
  }
}

.style-nav ul {
	list-style-type: none;
}

.style-nav ul li a {
	text-decoration: none;
	color:#775f4d;
	text-align: center;
	display: block;
	padding: 8px;
	position:relative;
}

/* Hamburger Menübutton */
.menu-toggle {
  display: block;
  background: none;
  border: none;
  font-size: 2rem;
  color: #775f4d;
  cursor: pointer;
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 1001;
}

.main-nav {
  position: relative;
}

/* Navigation */
.style-nav {
  position: relative;
  border-radius: 12px;
}

.menu, .submenu, .subsubmenu {
  display: none;
  flex-direction: column;
  padding: 0;
  width: 100%;
}

.menu {
  background-color: rgba(255, 255, 255, 1);
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
}

.menu.show {
  display: flex;
}

.menu li {
  width: 100%;
  border-bottom: 1px solid #eee;
}

.menu a {
  text-decoration: none;
  color: #775f4d;
  padding: 0;
  display: block;
/*  text-align: left;*/
}

/*Navigation wird dunkler beim Überfahren*/
.menu a:hover,
.menu a:focus {
  color: #3e2c20; /* dunklerer Ton als #775f4d */
}

/*aktive Seite dunkler --> class="avtive" nach link in html-Code zuordnen!*/ 
.menu a.active {
/*  color: #3e2c20;*/
  font-weight: bold;
}

/* Submenüs */

/*.has-submenu, .has-subsubmenu> a::after {
	content: "";
	font-size: 0.8rem;
}*/

.submenu {
  background-color: rgba(255, 255, 255, 1);
}

.subsubmenu {
  background-color: #f9f9f9;
}

  .has-submenu.open > .submenu,
  .has-subsubmenu.open > .subsubmenu {
    display: flex;
  }

/*Footer----------------------------------------------------------------------------------------------------*/

footer {
    background-color: #E8E4DF;
	padding: 24px;
}

.style-nav-footer ul {
	list-style-type: none;
}

.style-nav-footer ul li a {
	text-decoration: none;
	color:#775f4d;
	text-align: center;
	display: block;
	padding: 8px;
}

.copyright {
	color: #BAA493;
	text-align: center;
	display: block;
}

.social-icons a {
  color: #775f4d;          /* deine Seitenfarbe */
  font-size: 28px;
  margin: 0 12px;
  transition: 0.3s ease;
}

.social-icons img {
  width: 22px;
  height: auto;
}

.social-icons a:hover {
  color: #3e2c20;          /* Hover-Farbe */
  transform: scale(1.2);
}


/*@media only screen and ( max-width: 768px ) {
    .umbruch_1::after {
        content: '\A';
        white-space: pre;    
    }
}*/


/* Tablet Ansicht----------------------------------------------------------------------------------------------*/
@media (min-width: 768px){
	
	.menu-toggle {
		display: none; /* Hamburger auf Desktop ausblenden */
	}
	
	.menu {
		display: flex !important; /* Immer sichtbar im Desktop-Modus */
		flex-direction: row; /* Optional: horizontal anordnen */
		position: relative;    /* Kein absolutes Positionieren nötig */
	}
	
	/*     submenu navigation links      */
	nav .submenu { 
	  visibility: hidden;
	  height: auto;
	  position: absolute;
	  z-index: 1000;
	}
	nav .submenu li { 
	  display: block;
	  text-align: center;
	  width: 100%;
	}

	.style-nav ul li {
	  position: relative; /* Damit submenu sich daran orientiert */
	}

	.submenu {
	  display: none;
	  flex-direction: column;
	  background-color: rgba(255, 255, 255, 1);
	  padding: 0;
	  width: 100%;
	  position: absolute;
	  top: 100%; /* direkt unter dem Menüpunkt */
	  left: 50%; /* Startpunkt ist die Mitte des Elternelements */
	  transform: translateX(-50%); /* zentriert das Submenü */
	}

	.subsubmenu {
	  display: none;
	  position: absolute;
	  top: 0;
	  left: 100%; /* erscheint rechts neben dem übergeordneten Submenüpunkt */
	  background-color: #f9f9f9;
	  padding: 0;
	  min-width: 160px;
	  z-index: 1000;
	}

	/* Position für erstes Submenü */
	.has-submenu {
	  position: relative;
	}

	.has-submenu:hover > .submenu {
	  display: flex;
	  flex-direction: column;
	  align-items: center; /* optional für zentrierte Einträge */
	}

	/* Position für zweites Submenü */
	.has-subsubmenu {
	  position: relative;
	}

	.has-subsubmenu:hover > .subsubmenu {
	  display: block;
	  flex-direction: column;
	  align-items: center; /* optional für zentrierte Einträge */
	}

	.style-nav ul li:hover .submenu {
	  visibility: visible;
	  opacity: 1;
	}
	
	.social-icons a {
    font-size: 22px;
  	}


}

/* Computer Ansicht--------------------------------------------------------------------------------------------------*/
@media (min-width: 1024px){
	
	  .style-nav {
		display: flex;
		justify-content: space-between;
		align-items: center; /* vertikal zentrieren */
		padding: 0 32px;
	  }
	
	
 	 .menu li a {
		font-size: 16pt;
		text-decoration: none;
		padding: 8px 12px;
		display: block;
 	 }
	
	.footer-menu {
		width: 100%;
		display: flex;
		justify-content: center
	}
	
	.style-nav-footer li {
		position: relative;
		font-size: 14pt;
		display: flex;
		justify-content: space-between;
		align-items: center; /* vertikal zentrieren */
		padding: 0 10px;
	}
	
	.copyright {
		font-size: 14pt;
	}
}

/*Main----------------------------------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  font-size: clamp(1rem, 2vw, 2.5rem);
}

p {
	font-size: clamp(12px, 2vw, 16px);
}

.inhalt {
  max-width: 1200px;      /* Max. Breite des Inhalts */
  margin: 0 auto;        /* Zentriert den Block */
  padding: 0 16px;       /* Abstand zum Rand */
}

.welcome {
	text-decoration: none;
	color:#775f4d;
	text-align: center;
	display: block;
	/*text-transform: uppercase;*/
	padding: 8px;
	font-family: 'Oooh Baby', cursive;
	font-size: clamp(30px, 4vw, 60px);
}

.section-heading {
  display: flex;                 /* Flexbox-Layout für horizontale Ausrichtung */
  align-items: center;          /* Vertikal zentriert */
  justify-content: center;      /* Horizontal zentriert */
  gap: 16px;                    /* Abstand zwischen Linien und Text */
  max-width: 1300px;             /* Begrenzte Breite des gesamten Containers */
  margin: 40px auto;            /* Vertikaler Abstand + zentriert auf Seite */
}

/* Gestaltung der horizontalen Linien */
.section-heading hr {
  flex: 1;                      /* Linie füllt verbleibenden Platz */
  border: none;                 /* Entfernt den Standardrahmen */
  border-top: 1px solid #E8E4DF; /* Dünne Linie in Wunschfarbe */
}

.Ueberschrift {
  display: flex;
  justify-content: center;     /* Zentriert horizontal */
  align-items: center;         /* Zentriert vertikal */
  gap: 25px;                   /* Abstand zwischen Bild und Text */
  text-align: center;            /* optional */
  padding: 8px;
}

.Ueberschrift img {
  width: clamp(200px, 40vw, 450px); /* min 150px, skaliert bis max 450px */
  height: auto; /* Seitenverhältnis bleibt erhalten */
}

.Ueberschrift p {
  margin: 0;
  color:#775f4d;
  font-family: 'Oooh Baby', cursive;
  font-size: clamp(30px, 4vw, 60px);
}

.text {
	text-decoration: none;
	color:#775f4d;
	text-align: center;
	display: block;
	/*text-transform: uppercase;*/
    padding: 0 16px;       /* Abstand links und rechts */
	font-size: clamp(16px, 2vw, 24px);
	max-width: 1200px;
	margin: 0 auto; 
}

/*.eingerueckt {
  padding-left: 40px;
}*/

.kontakt ul a{
	text-decoration: none;
	color: #BAA493;
	text-align: center;
	display: block;
	/*text-transform: uppercase;*/
	padding: 8px;
	font-size: clamp(16px, 3vw, 24px);
	}

/*Navigation wird dunkler beim Überfahren*/
.kontakt a:hover,
.kontakt a:focus {
  color: #775f4d; /* dunklerer Ton als #775f4d */
}

.aktuelles ul a{
	text-decoration: none;
	color: #BAA493;
	text-align: center;
	display: block;
	/*text-transform: uppercase;*/
	padding: 8px;
	font-size: clamp(14px, 2vw, 18px);
	}

/*Navigation wird dunkler beim Überfahren*/
.aktuelles a:hover,
.aktuelles a:focus {
  color: #775f4d; /* dunklerer Ton als #775f4d */
}

.impressum-section {
  max-width: 800px;
  margin: 40px auto;
  padding: 20px;
  color: #3e2c20;
  border-radius: 12px;
}

.impressum-section h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 20px;
  color: #775f4d;
}

.impressum-box p {
  margin-bottom: 16px;
  line-height: 1.6;
}

.impressum-box a {
  color: #775f4d;
  text-decoration: none;
}

.impressum-box a:hover {
  color: #3e2c20;
/*  text-decoration: none;*/
}

/* Mobile-Friendly Anpassungen */
@media screen and (max-width: 600px) {
  .impressum-section {
    padding: 16px;
    margin: 20px 10px;
  }

  .impressum-section h2 {
    font-size: 1.5rem;
  }

  .impressum-box p {
    font-size: 0.95rem;
  }
}

/*Bilder-----------------------------------------------------------*/

#carouselExampleIndicators1 img{
	width: 80%;
	max-width: 900px;
}

.bild-container {
  padding: 60px 0;           /* Abstand oben/unten vom Bild */
  /*width: 100vw;              /* Volle Bildschirmbreite */
  position: relative;         /* erlaubt das Überlappen von Elementen */
  display: flex;              /* Bild und Text nebeneinander */
  align-items: center;        /* vertikal zentriert */
  justify-content: center;    /* horizontal zentriert */
  margin: 40px 0;             /* etwas Abstand oben/unten */
  flex-wrap: wrap;            /* macht es responsive */
}

.bild {
  width: clamp(200px, 40vw, 800px);
/*  height: auto;*/
/*  border-radius: 10px;         abgerundete Ecken für das Bild */
  position: relative;
  z-index: 1;                 /* bleibt unter dem Textkasten */
}

.bild img {
  width: 100%;
  height: auto;
  display: block;
}

.text-kasten {
  width: clamp(100px, 60%, 900px);
  background-color: #ffffffcc;  /* halbtransparent weiß #ffffffcc*/
  padding: clamp(12px, 3vw, 32px);     /* Dynamisches Innenpadding */
  padding-bottom: clamp(44px, 3vw, 64px);
  position: relative;
  z-index: 2;                  /* kommt über das Bild */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* dezenter Schatten */
}

.beschreibung {
	text-decoration: none;
	color:#a88b77;
	display: block;
    text-align: center;
	/*text-transform: uppercase;*/
    padding: 0 16px;       /* Abstand links und rechts */
	font-size: clamp(12px, 2vw, 16px);
	margin: 0 auto;
	position: relative;
}

/* VARIANTE A: Text links, überlappt nach rechts */
.layout-a {
  background-color: #E8E4DF; /* oder jede andere Farbe */
}

.layout-a .text-kasten {
  order: 1;
  margin-right: -50px;          /* negative Margin: überlappt leicht das Bild */
}

.layout-a .bild {
  order: 2;
}

/* VARIANTE B: Text rechts, überlappt nach links */
.layout-b {
  background-color: rgba(178, 203, 207, 0.7); /* oder jede andere Farbe */
}

.layout-b .text-kasten {
  order: 2;
  margin-left: -50px;          /* negative Margin: überlappt leicht das Bild */
}

.layout-b .bild {
  order: 1;
}

/* Für kleinere Bildschirme: alles untereinander, zentriert */
@media (max-width: 1024px) {
  .bild-container {
    flex-direction: column;     /*s Bild und Text untereinander */
    align-items: center;         /*zentriert innerhalb des Containers */
    position: relative;
  }

  .bild {
    width: clamp(150px, 90%, 800px);
    margin-bottom: -40px;       /* überlappt den unteren Teil des Bildes*/
    z-index: 1;
  }

  .text-kasten {
    width: clamp(150px, 80%, 700px);
	text-align: center;
    position: relative;
    z-index: 2;
    box-shadow: 0 6px 12px rgba(0,0,0,0.1);
  }
	
	.layout-a .text-kasten {
	  order: 2;
	  margin-right: 0;          /* negative Margin: überlappt leicht das Bild */
	}

	.layout-a .bild {
	  order: 1;
	}
	
	.layout-b .text-kasten {
	  margin-left: 0;          /* negative Margin: überlappt leicht das Bild */
	}
	
}

/*Tabelle-----------------------------------------------------------*/

.untersuchungstabelle {
  width: 90%;                  /* nimmt 90% der Breite ein */
  max-width: 800px;            /* maximale Breite */
  margin: 40px auto;           /* zentriert die Tabelle horizontal */
  border-collapse: collapse;
  color:#775f4d;
  font-size: clamp(10px, 2vw, 16px);
  background-color: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);  /* optional: leichter Schatten */
  border-radius: 8px;                       /* optionale abgerundete Ecken */
  overflow: hidden;                        /* für runde Ecken bei thead */
}

.untersuchungstabelle th,
.untersuchungstabelle td {
  border: 1px solid #ccc;
  padding: 12px 16px;
  text-align: left;
}

.untersuchungstabelle thead {
  background-color: #f2f2f2;
  font-weight: bold;
}

.untersuchungstabelle tbody tr:nth-child(even) {
  background-color: #fafafa;
}

/*Kontakt-----------------------------------------------------------*/
.kontakt-box {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap; /* für Mobilgeräte */
  max-width: 600px;
  margin: 0 auto;
}

.kontakt-bild {
  width: 40%;
  height: 40%;
  border-radius: 50%; /* macht das Bild rund */
  object-fit: cover;
}

.kontakt-info {
  font-family: sans-serif;
  color: #775f4d;
}

.kontakt-info h3 {
  margin: 0 0 8px 0;
  font-size: 1.2rem;
}

.kontakt-info a {
  color: #775f4d;
  text-decoration: none;
}

.kontakt-info a:hover {
  color: #3e2c20;
}

/*Kontaktformular-----------------------------------------------------------*/
.kontaktformular {
  max-width: 700px;
  margin: 0 auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: sans-serif;
  color: #775f4d;
}

.kontaktformular input,
.kontaktformular textarea {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box;
}

.kontaktformular button {
  background-color: #775f4d;
  color: white;
  border: none;
  padding: 12px;
  font-size: 1rem;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.kontaktformular button:hover {
  background-color: #3e2c20;
}

.kontaktformular label {
  font-weight: 500;
}

.datenschutz-container {
  max-width: 700px;
  margin: 0 auto;
}

.datenschutz-container label {
  display: flex;
  white-space: nowrap; /* Kein Zeilenumbruch *
/*  flex-wrap: wrap; */
  align-items: center;
  gap: 8px; /* Abstand zwischen Checkbox und Text */
  font-size: 1rem;
  color: #775f4d;
}

.datenschutz-container a {
  text-decoration: none;
  color: #BAA493;
}

.datenschutz-container a:hover {
  text-decoration: none;
  color: #3e2c20;
}


@media (max-width: 480px) {
  .datenschutz-container label {
    flex-wrap: wrap;          /* auf kleinen Screens darf der Text umbrechen */
    white-space: normal;
  }
}

/* Integration Blog-----------------------------------------------------------*/
/* Linie */
.container-blog {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.custom-line {
  border: none;
  height: 2px;
  background-color: #775f4d;
  width: 100%;           /* passt sich dem Eltern-Container an */
  margin: 2rem auto;
  border-radius: 3px;
}

/* Bilder */
.image-wrapper {
  text-align: center;
}

.image-wrapper img {
  width: 50%;
  max-width: 500px;
  height: auto;
  display: block;
  margin: 0 auto;
}

figcaption {
  font-size: clamp(3px, 2vw, 16px);
}

/* responsive Tabelle-----------------------------------------------------------*/
.row {
  display: grid;
  gap: 10px;
  align-items: center;
  padding: 5px 0;
  border-bottom: 1px solid #ddd;
}

@media (max-width: 600px) {
  .row {
    text-align: center;
    gap: 4px;
  }

  .row > div {
    border-bottom: 1px dashed #ccc;
    padding: 4px 0;
  }

  .row > div:last-child {
    border-bottom: none; /* letzte Zelle ohne Linie */
  }
}