* {
	box-sizing: border-box;
}

body {
	background-color: #abc8e4;
	color: #053a7c;
	font-family: arial, sans-serif;
	font-size: 11pt;
	line-height: 1.35;
	margin: 0;
	padding: 0 10px;
}

.clear { clear: both; }

#main-container {
	max-width: 900px;
	margin: 0 auto;
}

nav {
	display: flex;
	margin: 20px 5px;
	padding: 0;
	flex-wrap: wrap;
	justify-content: right;
	line-height: 2;
}
nav a {
	color: #1a5494;
	font-weight: bold;
	margin-left: 15px;
}
nav a:first-child {
	flex-grow: 1;
	margin-left: 0
}
nav a:visited { color: #1a5494; }

footer {
	background-color: #053a7c;
	border-radius: 10px 10px 0 0;
	clear: both;
	color: white;
	line-height: 1.4;
	margin: 0 auto;
	max-width: 900px;
	padding: 10px 25px 20px;
	position: relative;
	line-height: 1.5;
	font-size: 10pt;
}
#side-menu {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 20px;
}
#side-menu ul {
	padding-left: 0;
	margin-right: 10px;
}
#side-menu ul li { list-style: none; }
#side-menu ul li:first-child {
	color: #bed1e3;
	font-weight: bold;
	margin-bottom: 5px;
}
#side-menu a, footer p a { color: #acbfd1; }
#side-menu a:visited, footer p a:visited { color: #acbfd1; }
#side-menu a:hover, footer p a:hover { color: #d8ebfd; }
footer p { color: #8194a6; }

footer .legal {
	border-top: 1px solid #205597;
	padding-top: 10px;
	margin-top: 50px;
	display: flex;
	justify-content: right;
	flex-wrap: wrap;
}
footer .legal a { margin-left: 10px; }
footer .legal span {
	flex-grow: 1;
	margin-left: 0;
}


article {
	border: 2px solid #053a7c;
	border-radius: 10px;
	padding: 20px 20px 40px;
	background-color: white;
	margin-bottom: 20px;
}

article > header h1 {
	padding-left: 2px;
	font-size: 22pt;
	margin: 20px 0;
}
article > header h1 small {
	font-weight: normal;
	font-size: 14pt;
	color: #053a7c;
}

article > section {
	margin: 0 auto 30px;
	overflow: auto;
	padding: 0;
	border: 1px solid black;
	background-color: #fbffc9;
}
article > section:last-child {
	margin-bottom: 0;
}

article > section > h2 {
	background-color: #ffbf71;
	border-bottom: 1px solid black;
	font-size: 11pt;
	font-weight: bold;
	margin: 0;
	padding: 10px;
}

article > section > h3,
article > section > h4 {
	background-color: #fbffc9;
	border-bottom: 1px solid black;
	font-size: 11pt;
	margin: 0;
	padding: 10px;
}
article > section > h4 { background-color: white; }
article > section > h2 a,
article > section > h3 a,
article > section > h4 a { font-weight: normal; }


article > section > div {
	padding:  0 10px 15px;
}
article > section.white,
article > section > div:nth-child(odd),
article > section > div.white {
	background-color: white;
}
article > section > div ~ div {
	border-top: 1px solid black;
}
article > section > div > p:last-child {
	margin-bottom: 0;
}

article table,
article img { max-width: 100%; }
article img.header { width: 100%; margin: 10px 0 20px; }
article img.shadow { box-shadow: 1px 1px 4px gray; border:1px solid gray; border-radius: 3px; }

article dl.kontakt {
	display: flex;
	line-height: 1.2;
	margin: 10px 0;
	min-width: 300px;
}
article dl.kontakt > dt {
	flex-shrink: 0;
	width: 140px;
}
article dl.kontakt > dd { margin: 0; }

article.with-aside {
	margin-right: 220px;
}
aside.gallery {
	float: right;
	margin-bottom: 20px;
	width: 200px;
}
aside.gallery .images {
	background-color: #053a7c;
	border-radius: 10px;
	border: 2px solid #053a7c;
	overflow: hidden;
}
aside.gallery img {
	margin-bottom: 2px;
	max-width: 200px;
	width: 100%;
}
aside.gallery img:last-child { margin-bottom: 0; }

p.notice {
	background-color: #ffce80;
	border: 1px solid black;
	border-radius: 5px;
	padding: 10px;
}

@media (max-width: 600px) {
	body { padding: 0; }
	nav { margin: 25px; }
	aside.gallery {
		float: none;
		margin-bottom: 0;
		width: 100%;
	}
	aside.gallery .images {
		border-bottom: 0;
		border-left: 0;
		border-radius: 0;
		border-right: 0;
		border-top-width: 4px;
		display: flex;
		overflow: scroll;
	}
	aside.gallery .images img {
		height: 200px;
		margin-right: 2px;
		max-width: inherit;
		width: auto;
	}
		
	article {
		border: 0;
		border-bottom: 5px solid #3E73B5;
		border-top: 3px solid #3E73B5;
		border-radius: 0;
		margin-bottom: 0;
	}
	article > header h1 small {
		display: block;
		font-size: 11pt;
		font-weight: bold;
	}
	article.with-aside { margin-right: 0; }

	footer {
		border: 0;
		border-radius: 0;
	}
}


a.menue { color: white; text-decoration: none }
a.menue:visited { color: white }
a.menue:active  { color: #fbffc9 }
a.menue:focus   { color: #b1b494 }
a.menue:hover   { color: #b1b494 }

a.menue_i { color: #7090b0; text-decoration: none }

a { text-decoration: none; }
a:visited  { color: #7037CF; }
/*
a:active  { color: #cc00cc }
a:focus   { color: #cc00cc }
a:hover   { color: #cc00cc }
*/

a.i { text-decoration: none; color: gray }

img { border: 0; }

.head_content       { background: #ffbf71;  padding       :   2px;  margin-top   :  20px; border       : 1px solid black;
                      text-align: center;   font-weight   :  bold;  margin-bottom:   0px; }
.menu_sub           { background: #fbffc9;  padding       :  5px 10px;  margin-top   :   0px; border       : 0px solid black;
                                                                    margin-bottom:   0px; border-top   : 0px            ; }
.menu_separated     { background: #ffbf71;  padding       :   2px;  margin-top   :  20px; border       : 1px solid black;
                      text-align: center;   font-weight   :  bold;  margin-bottom:   0px; border-bottom: 0px            ; }
/*-----------------------------------------------------------------------------------------------------------------------*/
.content_separated  { background: #fbffc9;  padding       :   2px;  margin-bottom:   0px; border       : 1px solid black;
                                            padding-top   :  15px;  margin-top   :  15px;
																						padding-bottom:  15px; }
.content_separated_cms {
                      background: #fbffc9;  padding       :   2px;  margin-top   :   7px; border       : 1px solid black;
                                            padding-top   :   9px;  margin-bottom:   0px; }


/*-----------------------------------------------------------------------------------------------------------------------*/

table.kalender { border: solid 1px #053a7c }

td { color: #053a7c; font-size: 11pt; }

th { color: #053a7c; background-color: #ffbf71; font-size: 11pt; }

td.kalender { border-bottom: 1px solid #053a7c }

td.menue { color: white; font-size: 11px; }

td.menue1 { color: white; font-size: 11px; }

table.navi { border: solid 1px #012345; background-color: #ffbf71 }
td.navilinks  { text-align: center; border-right: solid 1px #012345 }
td.navirechts { text-align: center }

table.termine   { border-bottom: solid 1px #012345; border-right: solid 1px #012345 }
td.terminehead  { border-top: 1px solid #012345; border-left: 1px solid #012345; background-color: #ffbf71; padding: 5px }
td.terminfehler { border-top: 1px solid #012345; border-left: 1px solid #012345; color: #ff0000; padding: 5px }

td.tabhora { vertical-align: top; padding: 3px;}
td.tabhore { vertical-align: top; }

td.archivtitel { border: 1px solid black; padding: 3px; background: #ffbf71; text-align: center; }
td.archivrumpf { border: 1px solid black; border-top: 0px; padding: 7px; padding-top: 14px; padding-bottom: 14px; }

td.termin       { border-top: 1px solid #D7D7D7; border-left: 1px solid #012345; padding: 10px 5px }
td.termin1      { border-top: 1px solid #012345; border-left: 1px solid #012345; padding: 10px 5px }
td.terminzeit   { border-top: 1px solid #D7D7D7; border-left: 1px solid #D7D7D7; padding: 10px 5px }
td.terminzeit1  { border-top: 1px solid #012345; border-left: 1px solid #D7D7D7; padding: 10px 5px }
td.termintext   { border-top: 1px solid #D7D7D7; padding: 5px }
td.termintext1  { border-top: 1px solid #012345; padding: 5px }

td.sonntag      { border-top: 1px solid #D0D0D0; border-left: 1px solid #012345; background-color: #fbffc9; padding: 10px 5px; font-weight: bold }
td.sonntag1     { border-top: 1px solid #012345; border-left: 1px solid #012345; background-color: #fbffc9; padding: 10px 5px; font-weight: bold }
td.sonntagzeit  { border-top: 1px solid #D0D0D0; border-left: 1px solid #D0D0D0; background-color: #fbffc9; padding: 10px 5px }
td.sonntagzeit1 { border-top: 1px solid #012345; border-left: 1px solid #D0D0D0; background-color: #fbffc9; padding: 10px 5px }
td.sonntagtext  { border-top: 1px solid #D0D0D0; background-color: #fbffc9; padding: 5px }
td.sonntagtext1 { border-top: 1px solid #012345; background-color: #fbffc9; padding: 5px }

td.xtermin       { border-top: 1px solid #D7D7D7; background-color: #fff0b0; border-left: 1px solid #012345; padding: 10px 5px }
td.xtermin1      { border-top: 1px solid #012345; background-color: #fff0b0; border-left: 1px solid #012345; padding: 10px 5px }
td.xterminzeit   { border-top: 1px solid #D7D7D7; background-color: #fff0b0; border-left: 1px solid #D7D7D7; padding: 10px 5px }
td.xterminzeit1  { border-top: 1px solid #012345; background-color: #fff0b0; border-left: 1px solid #D7D7D7; padding: 10px 5px }
td.xtermintext   { border-top: 1px solid #D7D7D7; background-color: #fff0b0; padding: 5px }
td.xtermintext1  { border-top: 1px solid #012345; background-color: #fff0b0; padding: 5px }

td.xsonntag      { border-top: 1px solid #C0C0C0; background-color: #ffe7a0; border-left: 1px solid #012345; padding: 10px 5px; font-weight: bold }
td.xsonntag1     { border-top: 1px solid #012345; background-color: #ffe7a0; border-left: 1px solid #012345; padding: 10px 5px; font-weight: bold }
td.xsonntagzeit  { border-top: 1px solid #C0C0C0; background-color: #ffe7a0; border-left: 1px solid #C0C0C0; padding: 10px 5px }
td.xsonntagzeit1 { border-top: 1px solid #012345; background-color: #ffe7a0; border-left: 1px solid #C0C0C0; padding: 10px 5px }
td.xsonntagtext  { border-top: 1px solid #C0C0C0; background-color: #ffe7a0; padding: 5px }
td.xsonntagtext1 { border-top: 1px solid #012345; background-color: #ffe7a0; padding: 5px }

table.whitetable { border-bottom: solid 1px #012345; border-right: solid 1px #012345 }
th.whitetable    { border-top: 1px solid #012345; border-left: 1px solid #012345; padding: 5px; font-weigth: bold }
td.whitetable    { border-top: 1px solid #012345; background-color: #ffffff; border-left: 1px solid #012345; padding: 5px }

table.news       { border-bottom: solid 1px #012345; border-right: solid 1px #012345 }
td.newshead      { border-top: 1px solid #012345; border-left: 1px solid #012345; background-color: #ffbf71; padding: 2px }
td.newshead2     { background-color: #ffbf71; padding: 2px }
td.news          { border-top: 1px solid #012345; background-color: #fbffc9; border-left: 1px solid #012345; padding: 5px }
td.newstext      { border-top: 1px solid #012345; background-color: #fbffc9; padding: 5px }
td.newstext2     { background-color: #fbffc9; padding: 5px; }
td.log					 { border-top: 0px solid #012345; background-color: #fbffc9; padding: 5px;}
td.logdate			 { border-top: 0px solid #012345; background-color: #fbffc9; padding: 5px;}

.tableschrift  { font-size: 11pt; }

#audio_player { width: 185px; height: 25px }
#audio_player-big { width: 350px; height: 35px }
