/*
 * gfps.org
 * Copyright (c) 2004-2020 Gustaf Mossakowski <gustaf@koenige.org>
 * CSS
 */

/* cyrillic-ext */
@font-face	{ font-family: 'Open Sans'; font-style: normal; font-weight: 400;
			src: local('Open Sans'), local('OpenSans'),
			url(/layout/fonts/OpenSans-cyrillic-ext.woff2) format('woff2');
			unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; }
/* cyrillic */
@font-face	{ font-family: 'Open Sans'; font-style: normal; font-weight: 400;
			src: local('Open Sans'), local('OpenSans'),
			url(/layout/fonts/OpenSans-cyrillic.woff2) format('woff2');
			unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* latin-ext */
@font-face	{ font-family: 'Open Sans'; font-style: normal; font-weight: 400;
			src: local('Open Sans'), local('OpenSans'),
			url(/layout/fonts/OpenSans-latin-ext.woff2) format('woff2');
			unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF,
			U+2C60-2C7F, U+A720-A7FF; }
/* latin */
@font-face	{ font-family: 'Open Sans';	font-style: normal;	font-weight: 400;
			src: local('Open Sans'), local('OpenSans'),
			url(/layout/fonts/OpenSans.woff2) format('woff2');
			unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA,
			U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; }

/* cyrillic-ext */
@font-face	{ font-family: 'Open Sans'; font-style: normal; font-weight: 700;
			src: local('Open Sans Bold'), local('OpenSans-Bold'),
			url(/layout/fonts/OpenSans-Bold-cyrillic-ext.woff2) format('woff2');
			unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; }
/* cyrillic */
@font-face	{ font-family: 'Open Sans'; font-style: normal; font-weight: 700;
			src: local('Open Sans Bold'), local('OpenSans-Bold'),
			url(/layout/fonts/OpenSans-Bold-cyrillic.woff2) format('woff2');
			unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* latin-ext */
@font-face	{ font-family: 'Open Sans'; font-style: normal; font-weight: 700;
			src: local('Open Sans Bold'), local('OpenSans-Bold'),
			url(/layout/fonts/OpenSans-Bold-latin-ext.woff2) format('woff2');
			unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF,
			U+2C60-2C7F, U+A720-A7FF; }
/* latin */
@font-face	{ font-family: 'Open Sans'; font-style: normal; font-weight: 700;
			src: local('Open Sans Bold'), local('OpenSans-Bold'),
			url(/layout/fonts/OpenSans-Bold.woff2) format('woff2');
			unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA,
			U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; }

/* cyrillic-ext */
@font-face	{ font-family: 'Open Sans'; font-style: italic; font-weight: 400;
			src: local('Open Sans Italic'), local('OpenSans-Italic'),
			url(/layout/fonts/OpenSans-Italic-cyrillic-ext.woff2) format('woff2');
			unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; }
/* cyrillic */
@font-face	{ font-family: 'Open Sans'; font-style: italic; font-weight: 400;
			src: local('Open Sans Italic'), local('OpenSans-Italic'),
			url(/layout/fonts/OpenSans-Italic-cyrillic.woff2) format('woff2');
			unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
/* latin-ext */
@font-face	{ font-family: 'Open Sans'; font-style: italic; font-weight: 400;
			src: local('Open Sans Italic'), local('OpenSans-Italic'),
			url(/layout/fonts/OpenSans-Italic-latin-ext.woff2) format('woff2');
			unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF,
			U+2C60-2C7F, U+A720-A7FF; }
/* latin */
@font-face	{ font-family: 'Open Sans'; font-style: italic; font-weight: 400;
			src: local('Open Sans Italic'), local('OpenSans-Italic'),
			url(/layout/fonts/OpenSans-Italic.woff2) format('woff2');
  			unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, 
  			U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; }

/* Alles */

html, body 	{ height: 100%; background: #EEE; }
body 		{ padding: 0; margin: 0; font-family: 'Open Sans', Geneva, sans-serif;
			color: black; }
body		{ background: #EEE; }
pre 		{ font-size: 110%; }
footer		{ color: #777; }
.mail hr 	{ color: #BFDFFF; background-color: #BFDFFF; height: 1px; border: 0;
			width: 100%; margin: 1em 0; padding: 0; }

#middle		{ max-width: 62em; position: relative; margin: 0 auto; 
			height: 100%; }
#all 		{ text-align: left; max-width: 62em;  
			background: #FFF url(/layout/gfps-2004/hintergrund-rahmen.gif) repeat-y 100% 0%;
			padding-bottom: 0em; min-height: 100%; border-left: 1px #A7A7A7 solid;
			padding-right: 3px; /* Breite Hintergrundbild */ }
#intern #middle, #bewerbung #middle
			{ max-width: 72em; }
#intern #all, #bewerbung #all
			{ margin-right: 10em; }

a:link, #menu .first-child a:link.below, #navmenu a:link.below
			{ color: #161755; text-decoration-color: #CCC; }
a:visited, #menu .first-child a:visited.below, #navmenu a:visited.below
			{ color: #779; text-decoration-color: #CCC; }
:link:hover, :visited:hover, :link:focus, :visited:focus
			{ background: #476B8F; color: white; }
:target, .terminplan .aktuell td:target, .terminplan tr:target td
			{ background: #476B8F; color: white; border-top: 1em solid white; }
#anmeldung:target
			{ background: inherit; color: inherit; border: none; }
:target a:link
			{ color: #7BD; }
:target a:visited
			{ color: #ACD; }
.terminplan tr:target td
			{ border-bottom: 1em solid white; }
.terminplan tr:target.aktuell td
			{ color: black; }

h1, h2, h3, h4, h5, h6, #anmeldung legend
			{ color: #69C; }
h1 			{ font-size: 150%; max-width: 30em; padding-bottom: 0;
			margin-top: 0; margin-bottom: .5em; line-height: 1.1; }
h2 			{ font-size: 130%; max-width: 35em; }
h3, #anmeldung legend
			{ font-size: 120%; max-width: 37.5em; font-weight: normal; }
#anmeldung legend
			{ margin: 1em 0 0; }

html h2, html h3, html h4
			{ margin: 1em 0 .25em 0; }
html h2 + h2, html h2 + h3, html h1 + h2, html h3 + h4
			{ margin-top: 0em; }
html #zzform h2
			{ margin-top: 0; }

sup, sub	{ font-size: 80%; }
blockquote	{ font-style: italic; }

form		{ margin-bottom: 1.5em; }

hr			{ height: 1px; width: 80%; margin: 2em; border: 0; color: #69C;
			background-color: #69C;
			max-width: 41em; /* 45-margin */ clear: both; }
p			{ margin-top: .5em; margin-bottom: .5em; }
li			{ margin-top: .5em; margin-bottom: .5em; }
li li		{ margin-top: 0; margin-bottom: 0; }
p, li, dd, dt, blockquote
			{ max-width: 45em; line-height: 1.4; }

@media screen and (max-width: 640px) {
	html, body	{ background: #FFF; }
	img, iframe, video
				{ max-width: 100%; height: auto; }
	body		{ font-size: 90%; }
	h1			{ font-size: 120%; }
	h2			{ font-size: 120%; font-weight: normal; }
	h3			{ font-size: 110%; }
	
	#all		{ padding-right: 0; border: 0; background: #FFF; }
	#foot		{ padding-top: 60em; }
}

/* Kopf */

#kopf 		{ background: url(/layout/gfps-2004/hintergrund.gif) #69C no-repeat;
			width: 100%; text-align: left; position: relative; height: 6.5em; }
html #kopf	{ margin: 0; }
#logo		{ width: 100px; padding: 10px 40px 0; margin: 0;
			background-color: white; border: none; vertical-align: bottom; }
.gfps 		{ text-align: right;  color: #161755; position: absolute; top: .8em;
			right: 1em; font-size: 1.125em; }
html .gfps	{ width: 20em; background-image: none; margin: 0; }

@media screen and (max-width: 640px) {
	#kopf		{ height: 70px; background: #69C; }
	#logo		{ width: 50px; height: 50px; background: #69C; padding: 8px 45px; }
	html .gfps	{ width: auto; margin-left: 100px; font-size: 90%; }
}

/* Text */

html #rahmen	{ position: relative; }
#rahmen 		{ margin: 0 1.5em; padding-bottom: 1em; }

@media screen and (max-width: 640px) {
	#rahmen		{ margin: 0 1em; padding-bottom: .5em; }
}

/* Menu */

#menu 			{ color: #161755; text-align: right; background-color: #FFF;
				border-bottom: none; }
html #menu 		{ padding: 0 1em 0; font-size: .9em; margin: 0; float: right; }
#menu li 		{ float: left; padding: 0; list-style: none; }
#menu li.first-child a
				{ border-left: none; }
#menu a 		{ padding: .6em .6em; border-left: 1px dotted #BDF;
				text-decoration: none; }
#menu a:link:hover, #menu a:visited:hover, #menu a:link:focus,
#menu a:visited:focus
				{ background: #69C; }
#menu a.aktiv, #menu a.below, #menu .first-child a:hover.below,
#menu .first-child a:focus.below
				{ background: #69C; font-weight: normal; color: white; }
.below, .aktiv 	{ background-color: #476B8F; color: white; }
#menu .aktiv	{ background-color: #69C; }
#menu .first-child .below
				{ background: white; }

@media screen and (max-width: 640px) {
	html #menu		{ padding: .25em .5em 0; text-align: center;
					background: url(/layout/gfps-2004/menu-hintergrund.gif) top right #CFDAE6 no-repeat; }
	#menu a			{ padding: 0.4em; margin: 0 auto; border: none; }
	#menu li		{ margin: 0 0 .25em 0; display: inline-block; 
					float: none; }
}

/* Navigation rechts */

#nav			{ width: 16em; text-align: left; float: right; 
				font-size: 90%; padding: 0; margin: 0 0 1em 2em; clear: both;}
#nav ul 		{ margin: 0; padding: 0; }
#nav li			{ border-style: none none dotted; border-width: 1px; margin: 0;
				border-color: #666; list-style: none; padding: .3em 0; }
#nav li.first-child { border-top: 1px dotted #666; }
#nav ul.submenu li.first-child { border-top: none; }
#nav li a		{ padding: 0; display: block; }
#nav h3, #nav p { margin: 0; padding-top: 1em; }
#nav li.aktuell { background: #F99; }
#nav li li		{ list-style: disc; margin: 0 0 0 2em; padding: 0; border: none; }
#nav a 			{ text-decoration: none; }
#nav .aktiv		{ display: block; }
#nav strong		{ display: block; }

@media screen and (max-width: 640px) {
	#nav		{ position: absolute; top: 100%; width: 100%;
				margin: 1em 0; }
}

.terminplan .aktuell td, .terminplan .aktuell th
				{ background: #F99; }
ol.wahlbereich	{ margin-top: 0; margin-bottom: 0; }
ol.wahlbereich li
				{ margin-top: 0; margin-bottom: 0; }

html #navmenue, html #termin_aktuell
				{ padding: 1em;
				background: url(/layout/gfps-2004/menu-hintergrund.gif) top right #CFDAE6 no-repeat; }
#navmenue .below { background-color: #CFDAE6; }
#termin_aktuell, #navmenue
				{ margin-bottom: 1em; }
#termin_aktuell ul li
				{ padding-bottom: .3em; }
#navmenue li, #navmenue li strong a
				{ font-weight: bold; }
#navmenue li li, #navmenue li a
				{ font-weight: normal; }

#brotkrumen		{ margin-bottom: .25em; padding-top: 1em; font-size: 90%;
				color: #69C; margin-left: 1.75em;  clear: both; max-width: none; }
#brotkrumen a	{ text-decoration: none; }

@media screen and (max-width: 640px) {
	#brotkrumen		{ margin-left: 1.4em; font-size: 80%; padding: 1em 0 0; }
}

/* Text */

#text			{ margin: 0; padding: 0; }
/* #text.mitnav { margin-right: 16em; } */
#text img		{ border: none; vertical-align: middle; padding: .5em; background: #FFF; }

div.gedicht		{ margin: 1em 0; }
div.gedicht p	{ margin: 0; text-indent: -1.5em; margin-left: 1.5em; }

p.abstract		{ font-weight: bold; }
dd.author, p.author, div.author
				{ color: #69C; font-style: italic; text-align: right; }
p.author		{ margin-top: -.5em; }
div.abstract	{ font-size: 120%; }

em.location, em.date { font-style: normal; }

@media screen and (max-width: 640px) {
	#text img		{ padding: .5em 0 .25em; }
	#text #zzform img
					{ padding: 0; }
}

/* Unsortiert */

#zzform .mailempfaenger h2 { margin-top: 1em; }
#zzform .mailempfaenger table { min-width: 45em; max-width: 100%; }
#zzform .mailempfaenger table tr td:last-child { text-align: right; }
#zzform .mailempfaenger tbody { border: .5em white; border-style: solid none; }
#zzform .mailempfaenger input.date { width: 8em; }

/* Login-Formular */
.login label	{ display: block; float: left; width: 10em; }
.login .submit	{ margin-left: 10em; }
.login fieldset	{ background: #CFDCE6; max-width: 28em; border: 1px solid #69C; 
				border-radius: 6px; }
.login legend	{ background: #CFDCE6; padding: .25em .5em .75em; 
				border-radius: 6px; }
.login p		{ padding: 0 .5em; clear: left; }
.login			{ margin-top: 1.5em; }

.logintext		{ float: right; max-width: 28em; padding: .5em 0 1em 2em; }

@media screen and (max-width: 640px) {
	.login label	{ width: 7.5em; }
	.login .submit	{ margin-left: 7.5em; }

	.logintext		{ float: none; padding: 0; }
}

.foerderer		{ padding: 1em .5em; }

p.fuss			{ line-height: 1.2; text-align: center;}
p.fuss, p.kommentare
				{ font-size: 90%; }
p.kommentare	{ margin: 1.5em 0 2em; padding-top: 1em; clear: both; }

@media screen and (max-width: 640px) {
	p.fuss, p.kommentare
					{ font-size: 80%; margin: 1em 0; padding: 0; }
}

p.wichtig, div.wichtig
				{ text-align: center; color: red; font-weight: bold; }

div.fuss		{ font-size: 90%; text-align: center; margin: 4em .5em 0;
				color: #999; padding-bottom: 1em; }
div.bilder-rechts
				{ float: right; width: 100px; }
img.photo		{ margin: .5em 0 .5em .5em; }
img.logo		{ display: block; }
div.standort	{ background-color: white; padding: .5em; }

ul.liste li		{ line-height: 1.4; margin-top: .5em; }
dl.liste dt		{ font-weight: bold; margin-bottom: .25em; }
dl.liste dd		{ margin-bottom: .25em; }

html dl.termine, html .termine dl
				{ position: relative; margin: 1em 0; padding: 0; }
html .termine dt
				{ font-weight: bold; text-align: left; float: left; clear: left;
				width: 11em;  /* or whatever we want it to be */
				margin: 0 0 0 0;	/* match the dd */ }
html .termine dd
				{ clear: right; margin: 0 0 0 12em; hyphens: auto;
				/* match the dt except for the left margin */ }
.termine dd figure
				{ margin: .5em 0 0 .25em; }
html .aktuelles .termine dt
				{ width: 7em; }
html .aktuelles .termine dd
				{ margin-left: 8em; }
html .aktuelles h2
				{ font-size: 100%; color: black; margin-top: 0; }
div.mitnav dl.termine, div.termine dl
				{ margin-right: 16em; } /* sonst ist untermenue nicht mehr anklickbar */
.termine p		{ margin-bottom: 0; }
html .termine dd.author
				{ margin-bottom: 1.5em; }
html .termine dd.weiterlesen
				{ margin-top: .5em; font-style: italic; font-size: 90%;
				margin-left: 8.8em; clear: left; }

dl.termine .photo
				{ position: relative; left: -8em; width: 500px; margin-right: -8em; }

.zurueck		{ text-align: center; }

@media screen and (max-width: 640px) {
	html .aktuelles .termine dt, html .termine dt
					{ width: auto; float: none; margin: 1.5em 0 0; padding: 0;
					text-align: left; }
	html .aktuelles .termine dd, html .termine dd
					{ width: auto; float: none; margin: 0; padding: 0; }
	div.mitnav dl.termine, div.termine dl
					{ margin: 0; }
	dl.termine .photo
					{ position: static; width: auto; margin: 0; }
}

table.termine	{ border-collapse: collapse; }
table.termine th { text-align: right; padding-right: .75em; width: 6em; }
table.termine th, table.termine td { padding-top: .25em; vertical-align: top;
				max-width: 45em; padding-bottom: .25em; }
table.termine td { width: 100%; }
table.termine p.vorschau { float: right; width: 120px; margin: 0 0 0 .5em; }
table.termine .time
				{ font-weight: normal; }
table.termine .ics
				{ color: #999; padding-left: 1em; white-space: nowrap; }
table.termine .ics a:link, table.termine .ics a:visited
				{ text-decoration: none; color: #999; }
table.termine .bildrechts
				{ margin-top: 0; margin-right: -1px; }


@media screen and (max-width: 640px) {
	table.termine th	{ display: block; width: auto; text-align: left; }
	table.termine td	{ display: block; margin-left: 2em; }
}

ul.jahre, .spalte ul.jahre
				{ list-style: none; margin: 1em 0; padding: 0 0 1em; overflow: hidden; 
				font-size: 95%; }
ul.jahre li, .spalte ul.jahre li
				{ display: inline; font-size: 100%; padding: 0 0 0 0;
				margin: 0 0 .5em 0; line-height: 1.6; font-weight: normal; }
ul.jahre li:after
				{ content: "・";}
ul.jahre li:last-child:after
				{ content: ""; }

.events			{ margin: .75em 0; }
.events th, .events td
				{ vertical-align: top; padding: 0 .5em .25em 0; 
				border-bottom: 1px dotted black; font-size: 95%; }
.events tbody th
				{ text-align: right; }
.events p		{ margin: 0 0 .5em; }
.spalte .eventdetails
				{ margin: 0; padding: 0; }
.spalte .eventdetails li
				{ font-weight: normal; float: left; padding: 0; margin: 0; }
.spalte .eventdetails li:before
				{ content: "・";}
.spalte .eventdetails li:first-child:before
				{ content: ""; }


.vorstellung-leute { max-width: 50em; margin: auto; }
.vorstellung-leute td { padding: 1em; vertical-align: top; }

@media screen and (max-width: 640px) {
	.vorstellung-leute td
					{ display: block; padding: 0; }
	.vorstellung-leute td:first-child
					{ padding: 1em 0 .5em; margin-top: .5em;
					border-top: 1px dotted #69C; }
	#text .vorstellung-leute td img
					{ padding: 0; }
}

.formular table { border-collapse: collapse; margin: 1.5em 0; }
.formular td, .formular th { vertical-align: top; padding: 0 .5em .5em 0;
				text-align: left; }

/* Kontaktformular */

table.kontakt th { vertical-align: top; text-align: left; padding-right: .5em;
				width: 7em; }
ul.kontakt p	{ margin-bottom: 0; margin-top: 0; }
#text ul.kontakt img { padding: .25em .1em; vertical-align: top; }

@media screen and (max-width: 640px) {
	table.kontakt	{ max-width: 100%; }
	table.kontakt th, table.kontakt td
					{ display: block; width: auto; padding: 0; }
	table.kontakt select
					{ max-width: 90%; }
	table.kontakt textarea
					{ width: 90%; }
}

div.photo			{ text-align: center; margin-bottom: 1em; margin-top: 0.25em; }
#text div.photo img { margin: .75em 0 .5em; padding: 0; border: 1px solid black; }
div.photo a:hover img, p.photo a:focus img, p.photo a:hover
				{ background-color: transparent; }
div.photo a		{ text-decoration: none; }
.rechts			{ float: right; margin-left: .5em; margin-right: 0; width: 204px; }
.links			{ float: left; margin-right: .5em; margin-left: 0; width: 204px; }
p.rechts img, p.links img { margin-top: 0; }
p.rechts img	{ margin-right: 0; }
p.links img		{ margin-left: 0; }
.img-ohne		{ text-align: center; }
.img-rechts		{ float: right; margin: 0 0 .5em 1em; }
.img-links		{ float: left; margin: 0 1em .5em 0; }
.img-links img, .img-rechts img
				{ margin-bottom: .25em; }
#text .img-links img, #text .img-rechts img
				{ padding: .25em 0 0; }
.image figure	{ margin: 0; display: table; }
.image figcaption
				{ display: table-caption; caption-side: bottom; font-size: 85%;
				text-align: center; color: #666; line-height: 1.2; 
				width: auto; }

@media screen and (max-width: 640px) {
	#text p.photo img	{ margin: 8px 0 4px; border: none; padding: 0; }
}

th.aktuell		{ background-color:#FF005C; }
.terminplan th, .terminplan td { background-color: #CFDAE6; }
.terminplan th { font-style: italic; }
.terminplan td.registerkarte { background-color:#DAE6F1; }
.terminplan td.leer { background-color: white; }

table.statistik, .statistik table { border-collapse: collapse; }
.statistik th, .statistik td
				{ font-size: 85%; background-color: #CFDAE6; padding: 0 .2em; }
.statistik thead th { border-bottom: 1px solid black; }

form th 		{ text-align: right; font-weight: normal; width: 12.5em;
				padding-right: .5em; padding-top: .25em; }
form td 		{ vertical-align: bottom; }

#bestaetigung label { display: block; line-height: 1.4; }
#bestaetigung .submit { margin-top: 1em; }
#bestaetigung td { padding-top: .5em; }
.erinnerung		{ background: green; color: white; }

/* fuer Ueberschriften 'I.' etc. */
.ordinal		{ text-align: center; margin: 1.5em; color: #69C; font-size: 140%; }

table.liste td	{ text-align: center; padding: 0 .25em; border: solid 1px #BFDFFF; }
del.alt			{ text-decoration: none; color: #999; }

.fragen dt, .interview dt
				{ font-weight: bold; margin-top: .5em; }
.fragen dd, .interview dd
				{ font-weight: normal; margin-left: 0; padding-left: 1em; }
.fragen dd:before { content: "\2013\20" }
.fragen dd p, .interview dd p
				{ margin-top: 0; }

/* Intern: Karteikarten */

.kontakt-photo	{ float: left; margin: 0; border: 1px solid #BFDFFF;
				margin-bottom: 1em; }
.kontakt-text	{ margin-left: 140px; padding-bottom: 1em; }

.karteikarte ul, .contact table ul
				 { margin: 0; padding: 0; line-height: 1.4; }
.karteikarte li, .contact table li
				 { margin: 0; padding: 0; list-style: none; }
.karteikarte li li, .contact table li li
				 { font-style: italic; margin-left: 2em; }
.karteikarte p.bearbeiten
				{ margin: 0; }
.karteikarte .angaben
				{ font-weight: normal; }
#zzform #record table.gestorben
				{ background-color: #DDD; }
#zzform #record table.gestorben h2, #zzform #record table.gestorben h3,
#zzform #record table.gestorben h4
				{ color: black; }

@media screen and (max-width: 640px) {
	.kontakt-photo	{ float: none; width: 100px; height: 100px; }
	#text .kontakt-photo img	{ margin: 0; padding: 0; }
	.kontakt-text	{ margin: 0; }
	.karteikarte th, .karteikarte td, .contact th, .contact td
					{ display: block; }
	.karteikarte p.bearbeiten
					{ float: right;  }
	.karteikarte .angaben
					{ font-style: italic; }
}

/* contact */

.contact h1 em	{ font-style: normal; font-weight: normal; }
.contact table	{ border-collapse: collapse; margin: 1em 0; }
.contact th		{ text-align: left; }
.contact th, .contact td
				{ padding: .25em .5em .25em 0; vertical-align: top; }
.contact .remarks td
				{ font-style: italic; }
.contact tbody tr:nth-child(2n+1) td, .contact tbody tr:nth-child(2n+1) th
				{ background: #F0F0F0; }
.contact tbody tr:nth-child(2n) td, .contact tbody tr:nth-child(2n) th
				{ background: #FFF; }
.contact ul		{ margin: 0; padding: 0; list-style: none; }
.contact li		{ margin: 0; padding: 0; }
.contact p		{ margin: 0 0 .5em; }


/* Gruppen */

.gruppen		{ list-style: none; margin: 0; padding: 0; }
.gruppen li		{ margin: 0 0 1.5em 0; padding: 0; clear: left; }
.gruppen li li	{ margin: 0; padding: 0; }
#text .gruppen img	{ float: left; padding: .25em 1em .5em 0; }

/* Terminkalender */

.event_abstract p	{ display: inline; font-size: 90%; line-height: 1.5; }

/* Karte */

#leinwand 		{ position: relative; height: 700px; width: 700px; margin: 0;
				padding: 0; }
#leinwand.lrechts
				{ height: 300px; width: 250px; float: right; }
#leinwand .koordinaten
				{ list-style: none; margin: 0; padding: 0; position: absolute;
				top: 0; left: 0; height: 0; }
#leinwand .koordinaten li
				{ margin: 0; padding: 0; position: absolute; white-space: nowrap; }
#leinwand .koordinaten li a
				{ font-size: 90%; padding-left: .5em; }
#leinwand img	{ padding: 0; background: transparent; }
#leinwand.mitteleuropa .koordinaten
				{ font-size: 80%; }

#essen a 		{ position: relative; top: .1em; left:-4.25em; }
#bochum a 		{ position: relative; top: -.75em; left:-4.25em; }
#oldenburg a	{ position: relative; top: -.75em; left:-.5em; }
#potsdam a		{ position: relative; top: .5em; left:-.25em; }
#weimar a		{ position: relative; top: -1.25em; left:-.75em; }
#jena a			{ position: relative; z-index: 4; }
#aachen a		{ position: relative; top: 1.25em; left: -1.25em; }
#mainz a		{ position: relative; top: .5em; left: -.25em; }
#muenster a		{ position: relative; top: .5em; left: -.5em; }
#halle a		{ position: relative; top: -.75em; left: -.5em; }
#bayreuth a		{ position: relative; top: -.5em; left: 0; }
#nuernberg a	{ position: relative; top: .5em; left: 0; }

@media screen and (max-width: 640px) {
	#leinwand.lrechts	{ float: none; margin: auto; }
}

/* Umfragen */

.balkendiagramm { border-collapse: collapse; margin: 0 0 1em; background: #C7CCF8; }
.balkendiagramm th { font-weight: normal; text-align: left; padding-right: 1em; width: 30em; }
.balkendiagramm td { background: #C7CCF8 url(/layout/gfps-2004/balkendiagramm-5.gif); padding: .1em 0; }
.balkendiagramm td span { color: blue; background: #69C; display: block; }
.balkendiagramm caption { text-align: left; padding-bottom: .5em; font-weight: bold; }

.janein-diagramm { border-collapse: collapse; margin: 2em 0 1em; position: relative; }
.janein-diagramm tr { position: relative; float: left; }
.janein-diagramm td { padding: .1em .5em 0 0; height: 1.2em; }
.janein-diagramm th { position: absolute; top: -1.4em; left: 0; font-weight: normal; }
tr.antwort-nein span { color: blue; background: #F00; display: block; }
tr.antwort-ja span { color: blue; background: #69C; display: block; }
tr.antwort-neutral span { color: blue; background: #BFDFFF; display: block; }

ul.liste		{ margin-top: 0; }
ul.liste li		{ margin-top: 0; margin-bottom: 0; border: none; }

ul.fazit		{ list-style: none; padding: 0; margin: 0; }
ul.fazit li		{ padding: 0 0 0 30px; margin: 0;
				background: url(/layout/gfps-2004/pfeil.gif) 0 .4em no-repeat; }


/* Angemeldete Benutzer */

#logout 		{ position: absolute; top: 0; right: 1em; margin: 0;
				background-color: transparent; width: 10em; height: 100%;
				font-size: 90%; }
#logout div		{ padding: 15px 15px 0 15px; }

@media screen and (max-width: 640px) {
	#intern #all, #bewerbung #all
					{ margin-right: 0; }
	#logout			{ position: static; width: auto; }
	#logout p		{ width: 100px; padding: 0 1em 1em 0; }
	#logout img		{ display: block; }
	#logout div		{ float: left; }
	#logout li		{ float: left; width: 100px; padding: 0 1em 1em 0; }
}

/* Datenbank */

#zzform .editbutton
				{ background: #FFF; }
/*body #zzform ul.data p
				{ font-size: 100%; margin: .25em 0; }*/
body #zzform ul.data p.editbutton
				{ font-size: 90%; margin: 0; }
#zzform table	{ font-size: 95%; border-collapse: collapse; }
#add .error td, tr.error td, tr.error th, p.error
				{ background: red; }
tr.error td		{ border-color: red; }
span.error		{ color: red; }
p.error			{ color: white; padding: .25em; margin-left: -.25em;
				margin-right: -.25em; }

#zzform #record th
				{ max-width: 10em; }

/* Datenbank neu */

#zzform h2 a	{ text-decoration: none; }

fieldset#anmeldung
				{ width: 30em; border: none; padding: 0; margin: 0; }
@media screen and (max-width: 32em) {
	fieldset#anmeldung	{ width: auto; }
}
#anmeldung #zzform
				{ padding-right: .5em; }
#anmeldung table td, #anmeldung table th
				{ background: #CFDAE6; }
#anmeldung #zzform table tfoot td, #anmeldung #zzform table tfoot th
				{ background: #69C; }
#anmeldung h1, #anmeldung #zzform h2
				{ display: none; }
td.number 		{ text-align: right; }
td.reedit 		{ text-align: right; }
#anmeldung #record tfoot th, #anmeldung #record tfoot td
				{ background-color: #69C; }
#anmeldung td.where, #anmeldung th.where
				{ background-color: #D1DCE9; }
#anmeldung		{ empty-cells: show; }
#anmeldung table
				{ border-collapse: collapse; }
#anmeldung .editbutton
				{ padding: 0 .5em; }

#anmeldung th	{ width: auto; text-align: left; vertical-align: top; }
#anmeldung td	{ vertical-align: top; padding-left: .5em; }
#anmeldung p	{ margin: 0; }

#anmeldung table td, #anmeldung table th
				{ padding: .25em; }
#anmeldung .hidden
				{ display: none; }
#anmeldung .error th, #anmeldung .error td
				{ background: red; }
#anmeldung .explanation
				{ font-size: 90%; }
#anmeldung #record th
				{ max-width: 15em; }
#zzform #record .separator div
				{ padding: 0 0 0 .5em; font-style: italic; }

#plakat-kopf	{ text-align: center; }

.clear			{ clear: both; }
.clearleft		{ clear: left; }
div.clear, div.clearleft
				{ height: 1px; }


.hinzufuegen	{ font-size: 90%; }
ul.hinzufuegen	{ height: 2.5em; padding: 0; margin: 0; }
.hinzufuegen li	{ float: left; list-style: none; padding: 0 .5em; margin: 0;
				border-left: 1px solid black; }
.hinzufuegen li:first-child
				{ border-left: none; padding-left: 0; }

/* Stipendiaten */

.stipinfo dt	{ font-weight: bold; padding-bottom: .5em;}
.stipinfo dd	{ font-size: 90%; padding: 0; margin: 0; }

/* Stipendienstatistik */

.stipstat table { border-collapse: collapse; margin: .5em 1em 1.5em 0;
				float: left; }
.stipstat td.zahl
				{ text-align: right; padding-right: .5em; }
.stipstat thead th
				{ border-bottom: 1px solid black; }
.stipstat tfoot td
				{ border-top: 1px solid black;border-bottom: 3px double black; }
.stipstat td, .stipstat th
				{ vertical-align: top; padding: .15em .5em .15em .25em; }
.stipstat td 	{ vertical-align: middle; }
.stipstat span.summe
				{ color: #000; background-color: #000; }
.stipstat span.summe
				{ font-size: 40%; line-height: 150%; }
.stipstat th.summen
				{ font-size: 40%; line-height: 90%; }
.stipstat td.summen
				{ vertical-align: bottom; }
.stipstat th.summen
				{ vertical-align: middle; }
.stipstat td.jahr
				{ text-align: left; font-size: 80%; border-top: 1px solid black; }
.stipstat .horizontal td
				{ padding: 0 0 0 2px; line-height: 100%; }
.stipstat .horizontal span.summe
				{ line-height: 1; display: block; width: 9px; }
.stipstat .horizontal td
				{ border-bottom: 1px dotted #69C; border-right: 1px dotted #69C;
				width: 12px; }
.stipstat .horizontal td:last-child
				{ border-right: none; }
.stipstat .horizontal tr.jahre td
				{ border-bottom: none; }
.stipstat .horizontal td.hj1
				{ border-right: none; }
.stipstat h1, .stipstat h2, .stipstat h3
				{ clear: both; }
.stipstat .vertical
				{ font-size: 80%; }

/* Vereinsintern */

.teilnehmer		{ list-style: none; font-size: 90%; padding: 0; margin: 0; }
.teilnehmer li	{ width: 10em; height: 13em; float: left; margin: 0 .25em 0 0;
				padding: 0; font-weight: normal; font-size: 90%; overflow: hidden; }
.teilnehmer small
				{ font-size: 90%; line-height: 1.1; }
.teilnehmer a	{ text-decoration: none; }

.bilder, #zzform ul.data
				{ list-style: none; font-size: 90%; padding: 0; margin: 0; }
.bilder li, #zzform ul.data li
				{ width: 11.5em; height: 13em; float: left; padding: 0 .5em .5em 0;
				margin: 0; line-height: 1.3; font-size: 90%; overflow: hidden; }
.bilder a.img, #zzform ul.data .vorschau a
				{ display: block; width: 122px; height: 122px; }
#text .bilder a img, #zzform ul.data a img
				{ padding: 0; margin: 0; border: 0; background: none; }
.bilder a.img:link, #zzform ul.data .vorschau a:link
				{ background: #CFDAE6; }
.bilder a.img:visited, #zzform ul.data .vorschau  a:visited
				{ background: #EEE; }
.bilder a.img:hover, .bilder a.img:focus, #zzform ul.data .vorschau a:hover,
#zzform ul.data .vorschau a:focus
				{ background: #476B8F; }

.bildvorschau	{ list-style: none; font-size: 82%; padding: 0; margin: 1.5em 0 .5em; }
.bildvorschau li	{ width: 131px;  height: 131px; overflow: hidden; float: left;
				padding: 0 10px 10px 0; margin: 0; line-height: 1.1; }
.bildvorschau p { display: none; }
.bildvorschau a.img { display: block; width: 120px; height: 120px;
				border: 2px solid #BFDFFF; padding: 4px; }

#text .bildvorschau a.img:hover img, #text .bildvorschau a.img:focus img
				{ background: #476B8F; }
.bildvorschau p { margin: .25em 0; }
.bildvorschau small { font-size: 90%; line-height: 1.1; }

ul.ims			{ margin: 0; padding: 0; }
ul.ims li		{ list-style: none; margin: 0; padding: 0; }

dl.kommentare dt { font-weight: bold; margin-top: 1em; }
dl.kommentare dd { margin: 0; padding: 0; }
dl.kommentare dd p, dl.kommentare dd ul, dl.kommentare dd ol
				{ margin: 0; padding: 0; }

ul.online		{ margin: 0; padding: 0; list-style: none; }
ul.online li	{ margin: 0; padding: 0 0 .5em 0; }
ul.online img	{ margin: 0; padding: 0; }
p.online		{ margin-bottom: 0; border-top: 1px solid #C00; }

.stips td		{ vertical-align: top; }
.stips dl		{ margin-top: 0; padding-top: 0; }

/* Spalten */

.spalte			{ width: 48%; float: left; padding-top: 1px; }
.links, .tools	{ padding-right: 2%; }
.spalte ul		{ padding: 0; margin: 0 0 1.5em 0; }
.spalte ul li	{ font-weight: bold; list-style: none; padding: 0;
				margin: 1em 0 0; }
.spalte ul.teilnehmer li
				{ font-weight: normal; margin: 0; }
.spalte ul li li { font-weight: normal;
				list-style: disc; padding-left: .5em; margin: 0 0 0 2em; }
.links ul ul	{ margin: 0; }
.spalte h2:first-child		{ margin-top: 0; }
.spalte h2		{ margin-top: 1.5em; }
.col1			{ margin-right: 4%; }
.spalte.schmal	{ width: 35%; }

@media screen and (max-width: 640px) {
	.spalte			{ width: auto; float: none; }
	.spalte.schmal	{ width: auto; }
	.col1			{ margin-right: 0; }
}

/* Bildgalerie: Einzelbild */

#text p.obenlinks { float: left; padding: 0; margin: 0; }
#text p.obenrechts { float: right; padding: 0; margin: 0; white-space: nowrap }
#text p.gross	{ text-align: center; clear: both; margin-top: 0;
				vertical-align: top; line-height: 1; }
#text p.gross img { padding: .5em 0 0; }
.photokasten	{ padding: 1em 0; }

.frisch			{ clear: left; padding-top: 1em; }

pre				{ text-align: left; }

ul.docs p		{ margin-top: 0; }
.spalte ul.docs li
				{ font-weight: normal; margin: 0 0 0 1em; list-style: disc;}
ul.bewerber-docs { padding: 0; margin: 1em 0; }
ul.bewerber-docs li { padding: 0; margin: 0; list-style: none; }
.bewerber-docs p	{ display: inline; }

#termindetails table, table.datentabelle, .datentabelle table
				{ border-collapse: collapse; font-size: 90%;
				margin: .75em 0 1.5em; }
#termindetails table td, .datentabelle td
				{ padding-right: 1.5em; padding-top: .25em; vertical-align: top;
				border-bottom: 1px dotted #CFDAE6; padding-bottom: .25em; }
#termindetails table thead th, .datentabelle thead th
				{ border-bottom-width: 2px; border-style: none none solid;
				border-color: #999; text-align: left; }
/* #termindetails table td, #termindetails table th { background-color: #EEE; } */
#termindetails p.date
				{ margin: .5em 0 0; color: #69C; font-weight: normal;
				font-size: 120%; }
#termindetails em
				{ color: #666; }

@media screen and (max-width: 640px) {
	#termindetails table, table.datentabelle, .datentabelle table
				{ font-size: 80%; }
}

.foerderer td.logo { vertical-align: top; padding-right: 1em; }

/* Stimmen ueber GFPS */

.zitate blockquote { margin: 0; padding: 0 0 0 28px;
				background: url(/layout/gfps-2004/blockquote-left.gif) 0 0 no-repeat; }
.zitate blockquote p { color: #000; font-weight: normal; margin: 1em 0 0;
				text-align: left; border: none; font-style: normal;
				padding-left: 0; }
.zitate blockquote p:last-child
				{ background: url(/layout/gfps-2004/blockquote-right.gif) 100% 100% no-repeat; 
				padding-right: 28px; }
.zitate p		{ margin-top: 0; font-weight: bold; color: #69C;
				margin-bottom: 2em; text-align: right; padding-left: 28px; }

/* --- */

.jahresarchiv	{ line-height: 1.5; }

li.stadtgruppentreffen, li.stipendien { color: #999; }
li.stadtgruppentreffen a:link, li.stipendien a:link { color: #669; }

.bildrechts		{ float: right; padding: 0 0 1em 1em; margin-top: 1em; }

/* Bearbeiten von Daten */
p.edit			{ padding-left: 24px; background-image: url(/layout/gfps-2004/stern.png);
				background-repeat: no-repeat; }
.edit a:link, .edit a:visited { background-color: #EBD6D5; }

#zzform #record .duenn .subtable .horizontal th
				{ font-weight: normal; font-style: italic; }

#zzform .duenn option.level0 { font-weight: normal; }

#zzform .rating .zz_radio_list li
				{ float: left; padding-left: 0; padding-right: 1em;
				margin-left: 0; }

#zzform p		{ max-width: none; }
#zzform ul.data p.unsichtbar a img { border-bottom-color: red; }

/* Bildansicht */

#zzform ul.data li { float: left; width: 126px; height: 185px; }
#zzform.persons ul.data li { float: left; width: 126px; height: 140px; }
body #zzform ul.data li
					{ margin-right: .5em; }
#zzform ul.data p.vorschau a { width: 120px; height: 120px;
				vertical-align: middle; text-align: center;
				display: table-cell; }
#zzform ul.data a img { border-bottom: 4px white solid; }
#text #zzform img { padding: 0; background: transparent; }
#text #zzform img.icon { padding: 0 2.5px; }
#zzform ul.data p.vorschau img.thumb { margin: 0; padding: 0; border: 0; }
#zzform ul.data p.legend { max-height: 32px; overflow: hidden; }
#zzform ul.data p.editbutton { padding: 0; }

/* zzform colours CSS by Gustaf Mossakowski <gustaf@koenige.org>, 2005-2006 */

#zzform .editbutton, #zzform td.recordid, #zzform th.recordid
				{ background-color: #FFF; } /* wie body! */

#zzform #record table { background-color: #cfdae5; }
#zzform .subtable th, #zzform .subtable td { background-color: #bfccd9; }
#zzform #record tfoot th, #zzform #record tfoot td
				{ background-color: #6498cb; }
td.where, th.where
				{ background-color: #c2daf2; }

#zzform table.data thead td, #zzform table.data thead th
				{ border-color: #6090BF; }
#zzform tr.last { border-color: #6090BF; } /* last row */

#zzform tfoot td { border-color: #6090BF }

#zzform tr.even, .stipstat tr.even { background-color: #f5f8fa; } /* even rows */
#zzform tr.uneven, .stipstat tr.uneven { background-color: #dae6f2; } /* uneven rows */

#zzform th.order { background-color: #C3D4E6; } /* column ORDER BY */

#zzform ul.pages li { border-color: #596C80; }

body #zzform .separator hr
				{ background-color: #FFF; color: #FFF; border: #FFF; }

#zzform			{ font-size: 95%; }

#zzform h2		{ font-weight: normal; }

#zzform p.explanation { max-width: 30em; padding: .25em 0;}
body #zzform table.data { margin-bottom: 1em; }

#zzform .zzfilter dd, #zzform .zzfilter dt
				{ line-height: 1; }
html #zzform.maintenance h2
				{ margin: 2em 0 0; }

/* Abfragen */

.abfragedetails td:first-child, #zzform .abfragedetails th:first-child
				{ width: 3em; }
.abfragedetails td, #zzform .abfragedetails th
				{ width: 12em; }
.abfragedetails td:last-child, #zzform .abfragedetails th:last-child
				{ width: 24em; }
 #zzform table.data table.abfragedetails th
 				{ border-bottom: none; padding-bottom: 0; }

/* Schriftenreihe */

.schriftenreihe		{ margin: 0; padding: 0; list-style: none; }
.schriftenreihe em	{ color: rgb(84, 141, 212); font-size: 90%; }
.schriftenreihe i	{ font-size: 90%; }
.schriftenreihe li	{ margin-top: 1.5em; }
#text .schriftenreihe img	{ width: 120px; float: left; padding: .25em 16px .5em 0; }
.schriftenreihe p	{ margin-left: 136px; }

@media screen and (max-width: 640px) {
	.schriftenreihe p.s_datei, .schriftenreihe p.s_titel
						{ margin-left: 136px; clear: none; }
	.schriftenreihe p	{ clear: left; margin-left: 0; }
	.schriftenreihe li	{ border-top: 1px dotted #69C; padding-top: 1em; }
}

/* Forum */

#zzform .personforum img
				{ width: 32px; height: 32px; border: 0; padding: 0; }
#zzform p.forum_detail
				{ padding-left: 2.5em; margin-bottom: 0; }
#zzform p.forum_person
				{ float: left; }
#zzform p.forum_datum
				{ float: right; color: #888; padding-left: 2em; }

/* Map */

#map			{ height: 360px; }
#map .kmldesc	{ font-size: 80%; padding: 0 5px; line-height: 1.2em; }
#map .kmldesc img	{ float: left; padding: 0 10px 5px 0; }
#map .kmlhead	{ margin: 0; padding: 0 5px 10px; }

#text #map img	{ vertical-align: bottom; padding: 0; background: transparent; }

/* Kommentare */

.kommentare tr td	{ border-bottom: 1px dotted #476B8F; }
.kommentare		{ margin-bottom: .25em; padding-bottom: 0; }
.spalte .kommentare ul
				{ margin: .5em 0; padding: 0; }
.spalte .kommentare ul li
				{ font-weight: normal; list-style: disc; padding: 0;
				margin: 0 0 0 1.5em; }

/* Galerie */

.legend p		{ display: inline; }


/* Media */

#zzform ul.data	{ display: table;  }
#zzform ul.data li	{ display: table-row;  }
#zzform ul.data .medium a	{ width: 120px; height: 120px;  
					text-align: center; display: table-cell; vertical-align: middle;}
body #zzform .data .published a:link,
body #zzform .data .published a:visited,
body #zzform .data .published img
					{ border-color: #69C; }

/* Mailinglisten */

.mailinglisten	{ margin: 1em 0; padding: 0; }
.mailinglisten li
				{ list-style: none; padding: 0; margin: 0 0 .5em 2em; }
.mailinglisten .checkbox
				{ display: inline-block; width: 2em; margin-left: -2em;  }