@charset "UTF-8";
/* CSS Document */

html, 
html * {
	
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-family: Gotham, Helvetica Neue, Helvetica, Arial," sans-serif";

}

header {
	padding: 32px;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

footer {
	padding: 20px 30px;
	background-color: #dbecf1;
}

.footer-dsvo {
  display: inline-flex; /* Elemente nebeneinander anzeigen */
  gap: 10px; /* Abstand zwischen den Links */
}

.footer-link {
  text-decoration: none; /* Entfernt die Unterstreichung */
  color: #007bff; /* Farbe der Links */
  font-size: 14px; /* Schriftgröße */
}

.footer-link:hover {
  text-decoration: underline; /* Unterstreichung beim Hover */
}

footer span {
  color: #6c757d; /* Farbe des Trennstrichs */
}

body {
	margin-left: auto;
	margin-right: auto;
	background: #e6f4f8;
}

.style-logo {
	margin-left: auto;
	margin-right: auto;
	display: block;
	
	width: 400px;
}

.style-nav ul {
	list-style-type: none;
}

.style-nav ul li a {
	text-decoration: none;
	color: #182D9A;
	text-align: center;
	display: block;
	text-transform: uppercase;
	padding: 8px;
}

 
.logo {

    background-color: #080147;
	color: #FFFFFF;
	padding: 10px 120px 10px;
	text-align: center;

}


.hero {

	background-size: cover;
	padding: 20px 20px 50px 20px;
	color: #080147;
	text-align: center;
	font-size: 24px;
}

/* Container für die Boxen */
.container {
    display: flex; /* Flexbox für ein nebeneinander Layout */
    gap: 20px; /* Abstand zwischen den Boxen */
    flex-wrap: wrap; /* Zeilenumbruch bei kleinen Bildschirmen */
    justify-content: center; /* Zentriert die Boxen horizontal */
    margin: 0 auto; /* Zentriert den gesamten Container */
    padding: 20px;
    max-width: 1200px; /* Maximale Breite des Containers */
}

/* Einzelne Boxen */
.box {

    box-sizing: border-box;
    border: 2px solid #ccc;
    border-radius: 15px;
    padding: 0px;
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column; /* Inhalt vertikal ausrichten */
    justify-content: space-between;
    text-align: center;
    margin-bottom: 20px;
}

/* Bilder in den Boxen */
.box img {
    width: 100%; /* Bild nimmt die volle Breite der Box ein */
    object-fit: cover; /* Bild zuschneiden und proportional skalieren */
    border-radius: 8px; /* Abgerundete Ecken am Bild */
    margin-bottom: 15px; /* Abstand unter dem Bild */
}

/* Überschrift */
.box h2 {
    font-size: 1.8rem;
    margin: 10px 0;
    color: #333;
}

.box h5 {
    font-size: 1.4rem;
    margin: 10px 0;
    color: #333;
}

/* Text */
.box p {
    font-size: 1rem;
    color: #555;
    margin: 0 0 15px;
    line-height: 1.5;
    flex-grow: 1; /* Lässt den Text "mitwachsen", um den Platz auszufüllen */
    display: flex;
    align-items: flex-end; /* Text am unteren Rand ausrichten */
}

/* Link */
.box a {
    display: inline-block;
    font-size: 1rem;
    color: #007bff;
    text-decoration: none;
    padding: 10px 20px;
    border: 1px solid #007bff;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s;
}




h1 {
	font-size: 57px;
	text-transform: uppercase;
	font-weight: 200;
	margin-bottom: 60px;
}

h2 {
	font-size: 30px;
	text-transform: uppercase;
	font-weight: 200;
	margin-bottom: 23px;
}

h3 {
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 200;
	margin-bottom: 120px;
}

h4 {
	font-size: 16px;
	font-weight: 200;
	margin-bottom: 35px;
}

h5 {
	font-size: 18px;
	font-weight: 100;
	margin-bottom: 35px;
	vertical-align: top;
	line-height: 1.5;
	hyphens: auto; 
	text-align: justify;
	padding: 45px 10px 10px 0px;
}

h6{ 
	font-size: 18px;
	font-weight: 200;
	background-color: white;
    color: black;
	padding: 0px 0px 0px 0px;
	line-height: 1;
	margin-bottom: 2px;
	vertical-align: top;
	hyphens: auto; 
	text-align: justify
}
h9 {
	font-size: 20px;
	background-color: white;
    color: black;
}


p {
	font-size: 16px;
	font-weight: 400;
	margin-bottom: 35px;
}

.button {
	background-color:#4557c7;
	border-radius:28px;
	border:1px solid #18ab29;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:Verdana;
	font-size:18px;
	padding:8px 50px;
	text-decoration:none;
	text-shadow:0px 1px 0px #116ad6;
}


.Button:hover {
	background-color:#5cbf2a;
}
.Button:active {
	position:relative;
	top:1px;
}

.info-box-tan {
	background-color: #b9a88e;
	color: #FFFFFF;
	padding: 30px 20px 60px;
	text-align: center;
}

.info-box-dark {
	background-color: #213879;
	color: #FFFFFF;
	padding: 30px 20px 0px;
	font-size: 25px;
	text-align: center;
	
}

.footer-text {
	font-size: 13px;
	margin-bottom: 20px;
}

.col {
	width: 100%;
}

.row:before, .row:after {
	content: "";
	display: table;
}

.row:after {
	clear: both;
}

.row2 {
	display: flex;
    justify-content: center;
    align-items: center;
    height: 80px; /* Beispielhöhe */
}


.overlay {
	background-color: #080147;
	text-align: center;
	color: white;
	font-size: 30px;
	font-weight: 300;	
	padding-top: 0px;
	
}

/* FAQ-Container */
.faq-container {
    margin: 30px auto;
    max-width: 800px;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid #ddd;
}

/* FAQ-Titel */
.faq-container h2 {
    font-size: 1.8rem;
    color: #333;
    text-align: center;
    margin-bottom: 20px;
}

/* Einzelne FAQ-Items */
.faq-item {
    margin-bottom: 15px;
    border-bottom: 1px solid #ddd;
}

/* Frage */
.faq-question {
    font-size: 1.2rem;
    font-weight: bold;
    color: #007bff;
    cursor: pointer;
    padding: 10px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Antwort (versteckt, wenn geschlossen) */
.faq-answer {
    font-size: 1rem;
    color: #555;
    display: none; /* Standardmäßig versteckt */
    padding: 10px 0;
}

/* Offen animiert */
.faq-item.open .faq-answer {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

/* Modal */
.impressum-modal {
    display: none; /* Versteckt das Modal standardmäßig */
    position: fixed;
    top: 0;
    left: 0;
    width: 110%;
    height: 210%;
    background-color: rgba(0, 0, 0, 0.5); /* Halbtransparentes Overlay */
    z-index: 1;
    justify-content: center;
    align-items: center;

}

/* Modal-Inhalt */
.impressum-content {
    background-color: #fff;
    padding: 20px;
    width: 90%;
    max-width: 500px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: left;
    line-height: 1.6; /* Zeilenhöhe für bessere Lesbarkeit */
    font-family: Arial, sans-serif; /* Klarer Font für bessere Lesbarkeit */
}

/* Absatz-Styling */
.impressum-content p {
    margin-bottom: 15px; /* Abstand zwischen Absätzen */
}

/* Schließen-Button */
.close-button {
    font-size: 2.5rem;
    font-weight: bold;
    color: #333;
    position: absolute;
    top: 10px;
    right: 20px;
    cursor: pointer;
    transition: color 0.3s;
}

.close-button:hover {
    color: #ff0000;
}

/* Modal-Titel */
.impressum-content h2 {
    margin-top: 0;
    font-size: 1.8rem;
    color: #333;
}

/* Modal-Text */
.impressum-content p {
    font-size: 1rem;
    color: #555;
    line-height: 1.5;
}

/* Modal-Hintergrund */
.modal {
  display: none; /* Modal standardmäßig ausblenden */
  position: fixed; /* Modal bleibt an einer festen Position */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Halbtransparentes Overlay */
  justify-content: center; /* Zentriert das Modal horizontal */
  align-items: center; /* Zentriert das Modal vertikal */
  z-index: 1000; /* Sicherstellen, dass das Modal über anderen Inhalten liegt */
}

/* Modal-Inhalt */
.modal-content {
  background-color: #fff; /* Weißer Hintergrund */
  padding: 20px;
  width: 90%; /* Anpassbare Breite */
  max-width: 600px; /* Maximale Breite */
  border-radius: 10px; /* Abgerundete Ecken */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Schatten für einen schwebenden Effekt */
  position: relative; /* Wichtig für den Schließen-Button */
}

/* Schließen-Button */
.close-modal {
  font-size: 1.5rem;
  color: #333;
  position: absolute;
  top: 10px;
  right: 20px;
  cursor: pointer;
}


/* Container-Styling */
#timeSlotsContainer {
  margin: 20px auto;
  max-width: 500px;
  height: auto;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #A7BDBF;
  text-align: center;
}

/* Time Slots Buttons */
#timeSlots {
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

#timeSlots button {
  flex: 0 1 calc(33.333% - 10px); /* Responsiv: 3 Buttons pro Reihe */
  padding: 10px 15px;
  font-size: 14px;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

#timeSlots button.available {
  background-color: #1EF31E; /* Grün für verfügbare Slots */
  color: #006400;
}

#timeSlots button.booked {
  background-color: #FB6A6A; /* Rot für belegte Slots */
  color: #8b0000;
  cursor: not-allowed;
}

#timeSlots button.marked {
  background-color: #E7CC05; /* gelb für gemarkte Slots */
  color: #2C2A13;

  cursor: pointer;
}

#timeSlots button:hover {
  transform: scale(1.07);
}



textarea {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    width: 100%;
	resize: none;
	height: 120px;
	font-size: 18px;
}




/* Button für Mobilansicht */
@media (max-width : 771px ){
  #timeSlots button {
    flex: 0 1 calc(50% - 10px); /* 2 Buttons pro Reihe */
  }
}



form label {
    font-size: 1rem;
    font-weight: bold;
    color: #333;
    display: block;
    margin-top: 15px;
}

form input,
form button {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1rem;
}

form button {
    background-color: #007bff;
    color: white;
    font-weight: bold;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

form button:hover {
    background-color: #0056b3;
}

#ui-datepicker-div table {
 min-width: inherit;
}

h6 {
	font-size: 20px;
	font-weight: 50;
	background-color: white;
    color: black;
	padding: 60px 20px 50px 20px;
	line-height: 1.6;
	margin-bottom: 5px;
	vertical-align: top;
	hyphens: auto; 
	text-align: justify

}



@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


/*Tablet View*/

@media (min-width: 768px){
	
	body {
		max-width: 778px;
	}
	
	.style-nav ul li {
		display: inline-block;
	}
	
	.style-nav ul {
		text-align: center;
	}
	
	h1 {
		font-size: 40px;
		margin-bottom: 90px;
	}
	
	h2 {
		margin-bottom: 16px;
	}
	
	.col-md-one-half {
		width: 50%;
	}
	
	.col {
		float: left;
		padding: 0px 7px 14px;
	}
	.overlay {
	background-color: #6C8B8A;
	color: white;
	font-size: 34px;
	font-weight: 500;	
	padding-top: 40px;

}
	
	.logo {

    background-color: #2D2D35;
	color: #FFFFFF;
	padding: 10px 220px 10px;
	text-align: center;

}
	 .box {
        flex: 1 1 100%;
    }

h6 {
	font-size: 20px;
	font-weight: 50;
	background-color: white;
    color: black;
	padding: 60px 20px 50px 20px;
	line-height: 1.6;
	margin-bottom: 5px;
	vertical-align: top;
	hyphens: auto; 
	text-align: justify

}


/*Desktop View*/

@media (min-width: 1024px){
	
	body {
		max-width: 1200px;
	}
	
	.style-logo {
		float: left;
	}
	
	.style-nav {
		float: right;
	}
	
	.col-lg-one-fourth {
		width: 25%;
	}
	
	.overlay {
	background-color: #6C8B8A;
	text-align: left;
	color: white;
	font-size: 40px;
	font-weight: 300;	
	padding-top: 30px;
		

	
}
	.logo {

  
	color: #FFFFFF;
	padding: 10px 420px 10px;
	text-align: center;
}
	
	
	.box {
        flex: 1 1 40%;
    }

   }	
}.bg {
  background-color: transparent;
}



.logo_cp {
	display: flex;
	padding: 10px 10px 0px 22px;
    margin-left: auto;/* Schiebt das Bild nach rechts */
    margin-right: auto;
    width: 400px; /* Anpassen nach Bedarf */
    height: auto;

}


