* {    
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
}

/*********** ALLGEMEIN **********/
html {
 color: #000000;									/* Textfarbe für gesamte Seite */
}

/********** MITTELTEIL **********/
body {
	background-color: white;				/* Hintergrundfarbe Mittelteil */
	margin: 0 auto;									/* kein Abstand oben und unten; links und rechts gleich */
	padding: 0em;										/* Innenabstand */
	max-width: 60rem; 								/*maximale Breite */
	font-family: verdana, arial, sans-serif ;		/* Schriftart Standard */
	font-size: 1rem; 							/* Textgröße Standard*/
	}

/********** KOPFZEILE MIT LOGO UND TEXTFELDERN **********/
header {
	position: sticky;
	max-width: 60rem;
	color: blue;
	background-image: linear-gradient(to right, #ff8400, #b60b0b);
	top: 0;													/* Abstand vom oberen Rand */
	margin: 0; 
  padding: 0;							/* Innenabstand oben/unten, links/rechts */
height: 8rem;
	z-index: 999;
 }

header img {
	position: absolute;
	top: 0rem;
	left: 0rem;
	width: 11%;
	}

ueberschrift1 {
		position: absolute;
	top: 0.5rem;
	left: 15%;
	color: #fff;
	text-align: left;
	font-family: Bradley Hand ITC;
	font-weight: 900;
	font-size: 2.3rem;
	text-shadow: 0 0 0.6rem #b60b0b;
	padding: 0.3rem;
	
	float: right;
	margin: 0 1rem 0 1rem;
	}

ueberschrift2 {
	width: 100%;
	position: absolute;
	top: 3.2rem;
	left: 15%;
	color: #fff;
	text-align: left;
	font-family: Bradley Hand ITC;
	font-weight: 900;
	font-size: 1.5rem;
	text-shadow: 0 0 0.6rem #b60b0b;
	padding: 0.3rem;
	float: right;
	margin: 0 1rem 0 1rem;
	}

header terminvereinbarung {
	width: auto;
	position: absolute;
	top: 1rem;
	right: 2rem;
	background-color: #b60b0b;
	color: white;
	font-size: 0.9rem;
	padding: 0.5rem 0.2rem;
	border-radius:5px;
	}
	
terminvereinbarung a {
	text-decoration: none;
	background-color: #b60b0b;
	color: white;
	padding: 0.5rem;
	border-radius:5px;
	}

terminvereinbarung a:hover {
	text-shadow: 0 0 5px white;
	}

/********** MENÜ für große Bildschirme**********/
nav {
	position: absolute;
	top: 6rem;
	left: 9rem;
	padding: 0;
	background-color: white;
	border-bottom: solid 2px #b60b0b;
	}

nav ul {
	margin: 0 4rem 0 -2rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
  }

nav ul li {
	font-size: 1rem;
	list-style-type: none;             /* Aufzählungszeichen der Liste entfernen */
	margin: 0.1rem 0 0.2rem 0.5rem;
	padding: 0 0.5rem 0 0.5rem;
	}

nav ul li a {
	text-decoration: none;            /* Unterstreichung bei Links entfernen */
	color: #000000;
	}

nav ul li:hover {
	text-shadow: 0 0 10px #000000;
	}

nav ul li details ul {
	position: absolute;
	top: 1.5rem;
	display: block;
	width: min(15%,7.5rem);
  background-color: white;
	margin: 0;
	padding:0;
  text-align: left;
	}

nav ul li details ul li {
	width: 88%;;
	padding: 0.2rem 0;
	font-size: 0.8rem;
	border-top: 1px solid #b60b0b;
	}

nav input[type="checkbox"]{
    display: none;
	}

.hamburger{
   display: none;                        /*Hamburger-Symbol ausblenden */ 
	}

.bar{
    height: 4px;
    width: 100%;
    background: #000000;
    border-radius: 100px;
}



/********** HAUPTINHALTSTEIL **********/
main {													
	background-color: white;
	padding: 0 1rem; 								/* Innenabstand links/rechts */
	line-height: 1.6rem; 							/* Zeilenhöhe zur besseren Lesbarkeit. */
	position: relative; 						/* formal nötig zur Ausrichtung des Menüs */
}

img {
	width: 25%;
	height: auto;
	float: right;
	margin: 1rem 1rem;
	}

start img {												/* Bilder im Hauptinhaltsteil */
	position: top;
	float: right;										/* Ausrichtung am rechten Rand, Text fließt links vorbei */
	width: 100%;											/* Bildgröße in % vom Mittelteil */
	margin: 0rem;								/* Abstand zum Text links */
}

bildquer {
	float: left;
	width: 40%;
	margin: 3rem;
	}

bildhoch {
	float: left;
	width: 20%;
	margin: 3rem;
	}

/* Überschriften */
h1, h2, h3, h4 { 
	color: #b60b0b;
	font-weight: normal;
	margin: 0;
  }
h1 {
  font-size: min(2.3rem,6vw);
  padding: 2rem 0 1rem 0%;
  }
h2 {
	font-size: min(1.5rem,4.5vw);
	padding: 1rem 0 0 0;
	}
h3 {
	font-size: min(1rem,4vw);
	padding: 0.8rem 0 0 0 ;
	line-height: 1rem;
	}
h4 {
	font-size: min(0.8rem,3vw);
	padding: 0.8rem 0 0 0;
  }	

tr {
	border: solid red 2px;
	}

/********** FUßZEILE **********/
footer {
  position: relative;
	bottom: 0;
	width: 100%;
  background-color:white;
	border-top: solid 2px #b60b0b;
	font-size: 0.8rem;
}

footer ul li {
	display: inline-block; /* Menüpunkte nebeneinander */
	margin: -0.5rem 5%;
	list-style-type: none; /* Bullets vor den Menüpunkten*/
	}

footer ul li a {
	text-decoration: none;
}

footer ul li a:hover {
	text-shadow: 0 0 10px #b60b0b;
	}

/********** SEITENSPALTE **********/
main aside {
  position: top;									/* Ausrichtung im Mittelteil */
	width: 25%; 										/* Breite der Spalte */
	float: right; 									/* Textfluss links neben der Spalte */
	display : inline-block;
	padding: 0 1% 1em;
	margin: 1rem 1% 0 1%;
	border: 1px dotted b60b0b; /* Hiermit trennen wir optisch die Sidebar vom eigentlichen Inhalt ab. */
	font-size: min(0.8rem,2.5vw);
	line-height: min(0.8rem,2.5vw);
}
main aside hr {
	color: #b60b0b;
	height: 1px;
	}

/********** MENÜ für kleine Bildschirme**********/
@media only screen and (max-width: 960px) {
	header {
		position: relative;
		height: 7rem;
		margin: 0;
		}
	
	header img {
	position: absolute;
	top: -0.5rem;
	left: -0.5rem;
	width: 3rem;
	height: 4rem;
	}
	
	header terminvereinbarung {
	position: absolute;
	top: 4.5rem;
	right: 1rem;
	}
	
	ueberschrift1 {
	position: absolute;
	top: 0.5rem;
	left: 15%;
	font-weight: 500;
	font-size: 1.5rem;
	}

ueberschrift2 {
	position: absolute;
	top: 2.5rem;
	left: 15%;
	color: #b60b0b;
	text-align: left;
	font-family: Bradley Hand ITC;
	font-weight: 500;
	font-size: 0.95rem;
	text-shadow: 0 0 0.6rem #b60b0b;
	}
	
.hamburger{
	display: flex;                                   /* Hamburger-Symbol anzeigen*/
	width: 30px;
  height: 23px;
  position: absolute;
  top: -2rem;
  left: 25px;
	flex-direction: column;
  justify-content: space-between;
	}
	
nav {
	position: absolute;
	top: 7rem;
	left: 0rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	border-bottom: solid 2px #b60b0b;
	}
	
nav ul {
	margin: 0;
	padding: 0 0 0 0;
	display: none;
		}
	
nav ul li {
	background-color: white;
	margin: 0 0 0 1rem;
	padding: 0.4rem 0 0.4rem 1rem;
	border-top: 1px solid #b60b0b; 
	}

	nav ul li details {
		width: 100%;
	}
	
nav ul li details ul {
	position: relative;
	top: 0.5rem;
	width: 100%;
  background-color: white;
	margin: 0 0 0.3rem 0;
	padding:0;
	}

nav ul li details ul li {
	width: 100%;
	margin: 0 0 0 1rem;
	padding: 0.4rem 0;
	border-top: 1px dotted #b60b0b;
	font-size: 1rem;
	}

	#hamburger:checked~ul{display:inline-block;}
	#hamburger:checked~ul details{display: inline-block;}
	
	footer {
	font-size: 1rem;
}

footer ul li {
	display: block;
	margin: -0.5rem 5%;
	padding: 0.5rem;
	}
}



