/*
 * Zugzwang Project
 * deutsche-schachjugend.de
 * Copyright (c) 2016-2018, 2022 Gustaf Mossakowski <gustaf@koenige.org>
 * Copyright (c) 2020      Falco Nogatz <fnogatz@gmail.com>
 * CSS for everything else
 */


@font-face	{ font-family: 'Fira Sans'; font-style: normal; font-weight: 400;
			src: local('Fira Sans'), local('FiraSans-Regular'),
			url(/_layout/schachin/fonts/FiraSans-Regular.woff2) format('woff2'),
			url(/_layout/schachin/fonts/FiraSans-Regular.woff) format('woff'); }
@font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 700;
			src: local('Fira Sans Bold'), local('FiraSans-Bold'),
			url(/_layout/schachin/fonts/FiraSans-Bold.woff2) format('woff2'),
			url(/_layout/schachin/fonts/FiraSans-Bold.woff) format('woff'); }
@font-face { font-family: 'Fira Sans'; font-style: italic; font-weight: 400;
			src: local('Fira Sans Italic'), local('FiraSans-Italic'),
			url(/_layout/schachin/fonts/FiraSans-Italic.woff2) format('woff2'),
			url(/_layout/schachin/fonts/FiraSans-Italic.woff) format('woff'); }

html, body	{ height: 100%; width: 100%; }
body		{ background: white; color: black; margin: 0; padding: 0; 
			font-family: "Fira Sans", Helvetica, sans-serif;
			line-height: 1.44; }

h1			{ font-size: 140%; margin: .5em 0 .25em; }
h1, h2		{ line-height: 1.2; }
h1+h2		{ margin-top: 0; }
h2			{ font-size: 125%; font-weight: normal; margin: 1.5em 0 .5em; }
h2+h3		{ margin-top: 0; }
h3			{ font-size: 110%; font-weight: bold; margin: 1.5em 0 .5em; }
h1 em, h2 em, .sports h1 a
			{ font-weight: normal; font-style: normal; }
h4			{ margin-bottom: 0; }
div h2:first-child, div h3:first-child
			{ margin-top: 1em; }

p, ul, ol, dl
			{ margin: .5em 0; hyphens: auto; }
ul ul, ol ol, ul ol, ol ul
			{ margin: 0; }
p, li, dd	{ max-width: 50em; }

dl p		{ margin: 0; }
ul p, ol p	{ margin-bottom: 0; }
dt			{ font-weight: bold; }
@media screen and (max-width: 640px) {
	h1			{ font-size: 130%; padding: 0 .58em; }
	h2			{ font-size: 120%; padding: 0 .625em; }
	h3			{ padding: 0 .68em; }
	dt			{ padding-left: .75em; }
	dd			{ padding: 0 0 0 2.25em; margin: 0; }
	p, #text, dl, legend
				{ padding: 0 .75em; }
	td p		{ padding: 0 0; }
	p.teamphoto, p.logo-top, p#breadcrumbs, p.date, .costs p, p.logo2-top, p.logo-wide
				{ padding: 0; }
}

hr			{ color: #CCC; background-color: #CCC; height: 1px; border: 0;
			margin: 1em 0; padding: 0; }

del			{ text-decoration: line-through; color: #999; }
del * 		{ text-decoration: line-through; }

img			{ border: 0; max-width: 100%; }

a			{ text-decoration: none; }
a:hover		{ text-decoration: underline; }
a:link, .nav a:visited
			{ color: #7094bb; }
a:visited	{ color: #AAA; }

a:target, h3:target, span:target, .results tr:target td,
.events tr:target td
			{ background-color: yellow; }
h2:target	{ background-color: yellow; padding-top: .5em;
			padding-bottom: .5em; }

#full		{ position: relative; /* needed for footer positioning */
			height: auto !important; /* IE6: treated as min-height */
			min-height: 100%; /* real browsers */ }

.foot, .text, #head
			{ max-width: 60em; margin: auto; padding: 0 .75em; }
#head		{ padding-top: 1px; position: relative; min-height: 4.5em; }
#foot		{ clear: both; padding: 1em 0 .5em; text-align: center; 
			position: absolute; bottom: 0; width: 100%; }
#foot, #head
			{ color: #999; }
#foot a, #head a
			{ text-decoration: none; }
#foot a:hover, #head a:hover
			{ text-decoration: underline; }
.banner		{ width: 100%; height: 160px; position: relative;
			background-repeat: no-repeat; background-position: 50% 50%; }
.logo-right	{ float: right; padding: .25em 0 0 .25em; }
.logo-top	{ position: absolute; z-index: 1000; right: .75em; width: 60px; 
			top: .5em; background: #FFF; margin: 0; }
.logo-wide	{ position: absolute; z-index: 1000; right: .75em; height: 48px; 
			top: .5em; background: #FFF; margin: 0; }
.logo2-top	{ position: absolute; z-index: 1000; right: .75em; width: 140px; 
			top: .5em; background: #FFF; margin: 0; height: 60px; }
.logo2-top img.first-child
			{ padding-right: 10px; }
.logo-top img, .logo2-top, .logo-wide img
			{ vertical-align: bottom; }
.logo-wide img
			{ height: 44px; padding-top: 8px; }
@media screen and (max-width: 480px) {
	.banner		{ height: 80px; background-size: auto 80px; }
	.logo-wide img
				{ height: 36px; padding-top: 12px; }
}
@media screen and (max-width: 320px) {
	.logo-wide img
				{ height: 32px; padding-top: 14px; }
}

#content	{ overflow: hidden; padding-bottom: 4em; text-align: center; }
.text		{ padding: 1em .75em; line-height: 1.4; text-align: left; }
@media screen and (max-width: 640px) {
	#content	{ padding-bottom: 6em; }
	#foot		{ bottom: .75em; background: white;
				padding: 0; font-size: 90%; width: auto; left: 0; right: 0; }
	#head		{ position: static; }
	.text		{ padding: 1em 0; }
}

.nobr			{ white-space: nowrap; }
.abstract		{ font-size: 120%; line-height: 1.4; margin: 1em 0;
				max-width: 45em; }
@media screen and (max-width: 640px) {
	.foot .dsj		{ display: none; }
	.nobr			{ white-space: normal; }
}

.logo-top a:hover img
				{ background: #CCC; }


/* navigation */

#breadcrumbs
			{ margin: 0 80px .25em 0; line-height: 1.2; color: #000; }
#breadcrumbs em
			{ font-style: normal; font-size: 80%; color: #BBB; }
#nav		{ margin: 1em 110px 0 0; padding: 3px 0; }
.nav		{ list-style: none; text-transform: uppercase; line-height: 1.2; }
.nav li		{ margin: 0; padding: 0; display: inline; }
.nav li:before
			{ content: " \00a0·\00a0\00a0"; }
.nav li:first-child:before
			{ content: ""; }
.nav strong	{ color: #000; }

.subnav			{ margin: .75em auto; padding: 0 .75em; max-width: 60em; }
.subnav	ul		{ margin: 0; padding: 0; }
@media screen and (max-width: 640px) {
	#breadcrumbs
				{ position: absolute; bottom: 4em; margin: 0; left: .75em;
				text-align: center; right: .75em; }
	.nav, #breadcrumbs
				{ font-size: 90%; }
	.subnav			{ text-align: center; padding: 0 .25em; }
}


@media print {
	#foot, .nav, #breadcrumbs
				{ display: none; }
}

/* images */

.links			{ float: left; margin: 0 1em 1em 0; clear: left; }
.rechts			{ float: right; margin: 0 0 1em 1em; }


/* colour schemes */

@media screen {
	.news h1, .news h2, .calendar h1, .calendar h2
					{ color: #C00; }
	.news .banner, .calendar .banner
					{ background-color: #C00;
					background-image: url('/_layout/schachin/bg-calendar.png'); }

	.sports h1, .sports h2, .ressorts h1, .ressorts h2
					{ color: #06C; }
	.sports .banner, .ressorts .banner
					{ background-color: #06C;
					background-image: url('/_layout/schachin/bg-sports.png'); }

	.glossar h1, .glossar h2
					{ color: #FC0; }
	.glossar .banner
					{ background-color: #FC0;
					background-image: url('/_layout/schachin/bg-glossary.png'); }

	.error .banner	{ background-color: #C00;
					background-image: url('/_layout/schachin/bg-error.png');
					background-position: 60% 50%; }
	.hilfe h1, .hilfe h2
					{ color: #9932CC; }
	.hilfe .banner	{ background-color: #9932CC;
					background-image: url('/_layout/schachin/bg-help.png'); }
}

.topic			{ max-width: 60em; margin: 0 auto; color: #06C;
				text-align: right; line-height: 1; position: relative;
				height: 160px; }
.topic .box		{ position: absolute; right: 0; bottom: 1.5em;
				background: white; opacity: .9; padding: .5em .75em; }
.topic p		{ max-width: none; margin: 0; font-size: 140%; }
.topic h1		{ margin: 0; padding: 0; font-size: 280%; color: #06C; }
.topic h1 a		{ font-weight: bold; color: #06C; }
@media screen and (max-width: 640px) {
	.topic p		{ padding: 0; margin: 0; }
}
@media screen and (max-width: 480px) {
	.topic			{ height: 80px; }
	.topic .box		{ bottom: .5em; }
	.topic h1		{ font-size: 140%; }
	.topic p		{ font-size: 70%; }
}

/* errors */

p.error, div.error
				{ background: #C00; color: white; max-width: 30em;
				padding: .25em; font-weight: bold; }
.note			{ font-size: 120%; }
.note strong	{ color: #C00; }

/* numbers */

#content .number	{ text-align: right; padding-right: .25em; }
#content .no_number.number /* internal */
				{ text-align: left; }

/* list of short links floating */

.quicklinks		{ list-style: none; margin: .5em 0 1.5em 0; padding: 0;
				overflow: hidden; }
.quicklinks li	{ float: left; padding: 0 .5em; border-left: 1px solid #CCC; }
.quicklinks li:first-child
				{ padding-left: 0; border-left: none; }
@media screen and (max-width: 640px) {
	.quicklinks		{ padding: 0 .75em; }
}


/* calendar */

.events			{ margin: 0 0 1em 0; border-collapse: collapse; }
.events h2		{ margin: 1.5em 0 0; padding: 0; }
.events td, .events th
				{ border-top: 1px dotted #999; vertical-align: top; }
.events td		{ text-align: left; padding: .25em .5em .15em 0; }
.events th 		{ text-align: right; padding: .25em .5em .15em 0; white-space: nowrap; }
.events tr:first-child td, .events tr:first-child th
				{ border-top: none; }
.events tr.identical td, .events tr.identical th
				{ border-top: none; padding-top: 0; }
.events td p, .events th p
				{ margin: 0; }
.events ul, .events li
				{ padding-top: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 0;}
.events ins		{ color: #b73b53; } /* does not take place */
.events th em	{ font-weight: normal; font-style: normal; } /* time */
.events .anreisser
				{ color: #666; }
@media screen and (max-width: 640px) {
	.events			{ margin: 0 .75em 1em; }
	.events th		{ text-align: left; font-weight: normal; padding-top: .5em; }
	.events th br	{ display: none; }
	.events td		{ border-top: none; padding-left: 1em; }
	.events .month	{ padding-left: 0; }
	.events td, .events th
					{ display: block; }
	.events .anreisser
					{ font-size: 90%; }
}

.event .details	{ margin-top: 1em; }
.event .details table
				{ border-collapse: collapse; font-size: 90%;
				margin: .75em 0 1.5em 0; }
.event .details td
				{ padding-right: 1.5em; padding-top: .25em; vertical-align: top;
				border-bottom: 1px dotted #CCC; padding-bottom: .25em;
				max-width: 32em; }
.event .details thead th
				{ border-bottom-width: 2px; border-style: none none solid;
				border-color: #CCC; text-align: left; }
.event .details p.date
				{ margin: .5em 0 0; color: #C00; font-weight: normal;
				font-size: 120%; }
.event .details em
				{ color: #666; }
.event .details dd, .event .details dt
				{ margin: 0; padding: 0; }
.event .details dt
				{ padding-right: .25em; display: inline; }
.event .details dt:after { content: ": "; }
.event .details dt:before { content: "\A"; white-space: pre; }
.event .details dt:first-child:before
				{ content: ""; }
.event .details dd
				{ display: inline; }
.event .details h3
				{ font-size: 100%; clear: left; float: left; 
				padding-right: .5em; margin: 0; }
.event .details h3:after { content: ": "; }
.event .details ul
				{ clear: left; }
.event .more_desc
				{ margin-left: 1.8em; }
.event .js-expand_hidden .more_desc
				{ display: none; }
.event .choice	{ padding-top: .2em; }
.event .js-expand .choice
				{ font-weight: bold; }
.event .js-expand_hidden .choice
				{ font-weight: normal; color: #7094bb; cursor: pointer; }
.event .js-expand_hidden .choice:after
				{ content: " [\2026]"; }
.event .costs	{ margin: 0; }
.event .costs_desc
				{ color: #666; font-size: 90%; margin: .25em 0 .5em 0; }
.event .zeitplanbeschreibung p
				{ margin: 0; }

.event .foerderer 		{ font-style: italic; overflow: hidden; }
.event .foerderer ul	{ padding: 0; margin: 0; }
.event .foerderer li	{ list-style: none; float: left; padding: 0 1em 1em 0; margin: 0; }

.wichtig		{ font-weight: bold; text-align: center; }
@media screen and (max-width: 640px) {
	.event .details table	{ margin: .75em }
	body .event .info dd			{ margin-left: .75em; } 
}

/* calendar: archive */

.years			{ margin: 0; padding: 0; }
.years li		{ list-style: none; float: left; border-left: 1px solid #CCC; 
				padding: 0 .5em; }
.years li:first-child
				{ border-left: none; padding-left: 0; }
@media screen and (max-width: 640px) {
	.years			{ margin: 0 .75em; }
}

/* calendar: info */

.calendar .info
				{ float: right; width: 16em; padding: .75em; margin: 0;
				background: #EEE; margin: 1em 0 1em 1em; }
.calendar .info h2
				{ margin-top: 0; }
.calendar .info ul
				{ list-style: none; margin: 1em 0; padding: 0; }
.calendar .info li
				{ margin: .5em 0; padding: 0; }
@media screen and (max-width: 50em) {
	.calendar .info
				{ width: auto; float: none; margin: 1em 0; }
}

/* calendar: event */

.event			{ max-width: 72em; }
.event h1 small	{ font-weight: normal; }
.event .info	{ float: right; width: 20em; padding: 0 0 1em 1em; margin: 0;
				background: white; }
.event .info h3:first-child
				{ margin-top: .5em; }
.event .info #calendarmap
				{ width: 320px; height: 320px; background: #CCC;
				margin: 1em 0 0; padding: 0; }
.event .info dt	{ margin: 1em 0 .25em 0; }
.event .info dt.desc
				{ font-weight: normal; font-size: 90%; color: #666; }
.event .info dd	{ padding: 0; margin: 0 0 .5em 0; line-height: 1.3; }
.event .details dd
				{ margin-bottom: .5em; }
.event .info ul	{ margin: .5em 0; padding: 0 0 0 1em; }
@media screen and (max-width: 640px) {
	.event .info #calendarmap
				{ width: 100%; }
	.event .info ul
				{ padding: 0 .75em 0 1.75em; }
}
@media screen and (max-width: 50em) {
	.event .info	{ width: auto; float: none; padding: 1em 0; }
}
.event .anfahrt, .event .detail, .calendar .detail
				{ line-height: 1.3; font-size: 90%; color: #666; }

.event .farbklecks /* Ausbildung */
				{ display: inline-block; width: .8em; height: .8em;
				border: .2em solid white; margin-right: .5em; margin-top: .1em;
				vertical-align: top; line-height: 1; }

.event #anmeldung
				{ max-width: 36em; border: none; padding: 0; margin: 1em 0; }
.event #anmeldung div, .event #anmeldung #zzform
				{ padding: 0; margin: 0; }
.event #anmeldung #zzform
				{ padding-top: .5em; }
.event #anmeldung h2
				{ display: none; }
.event #anmeldung table
				{ margin: 1em 0 0; padding: 0; }
.event #anmeldung textarea
				{ max-width: 32em; }
.event #anmeldung legend
				{ font-weight: bold; padding: 0; }


/* Bearbeiten */

form.edit		{ margin: 1em 0; }
a.edit			{ background: #fdf0be; }
a.edit:before	{ content: "\2192  "; }


/* Spieler des Jahres */

#logbuch, #allgemeines
				{ width: 20%; vertical-align: top; font-size: 90%; }
#aktuelles		{ padding: 0 1em; width: 55%; vertical-align: top; }
#allgemeines td	{ vertical-align: top; }
#allgemeines ul { padding: 0 0 0 1.5em; margin: 1em 0; }
@media screen and (max-width: 640px) {
	#logbuch, #allgemeines, #aktuelles
				{ width: auto; padding: 0; display: block; }
	#logbuch	{ padding-bottom: 28em; }
	#allgemeines
				{ position: absolute; bottom: 8em; }
	#logbuch, #allgemeines
				{ margin-left: .75em; margin-right: .75em; }

}

.action_call	{ padding: 0 0 0 1em; margin: 1em 0; }
.action_call li	{ list-style: square; margin: 0; padding: 0 0; }

@media screen and (min-width: 640px) {
	.col-3-2		{ float: right; width: 63%; margin-right: 5%; }
	.col-3-1		{ float: right; width: 32%; }
}
@media screen and (max-width: 640px) {
	.action_call	{ margin: 1em; }
}

/* competition results */

table.data		{ border-collapse: collapse; }
table.data td, table.data th
				{ padding: .15em .5em .15em .5em; }
table.data td:first-child, table.data th:first-child
				{ padding-left: 0; }
.data tr.place1 td
				{ font-weight: bold; }
table.data tbody tr:first-child
				{ border-top: 1px solid black; }
table.data tbody tr:last-child
				{ border-bottom: 1px solid black; }
.data .place	{ width: 16px; height: 16px; text-align: right; }

.data tr.place1 .place
				{ background-color: #C98910; color: white; }
.data tr.place2 .place
				{ background-color: #A8A8A8; color: white; }
.data tr.place3 .place
				{ background-color: #965A38; color: white; }
@media screen and (min-width: 720px) {
	.data .player	{ width: 15em; }
	.data .club		{ width: 15em; }
}

/* login form */
/* calendar: online registration */

#login, .application
				{ max-width: 60em; margin: 0 auto; }
.login label	{ display: block; float: left; width: 10em; }
.login .submit	{ margin-left: 10em; }
.login fieldset, fieldset.application
				{ background: #d6e4b3; max-width: 32em; border: none; }
				/* @todo green, @todo stripes */
.login legend, .application legend
				{ background: #d6e4b3; padding: .25em .5em; }
.login p, .application p
				{ padding: 0 .5em; clear: left; margin: .5em 0; }
.login, .application
				{ margin-top: 1.5em; }
.logintext		{ float: right; max-width: 28em; padding: .5em 0 1em 2em; }


/* internal area */

.col2 			{ width: 47%; float: left; padding: 0 2% 1em 0;
				overflow: hidden; }
@media screen and (max-width: 640px) {
	.col2			{ width: auto; float: none; padding: 0; margin: 0; }
}

.buttonliste	{ list-style: none; margin: 1em 0; padding: 0; }
.buttonliste li	{ margin: .25em 0; padding: 0; }

@media screen {
	.wide			{ max-width: none; margin: 0 auto; display: inline-block; }
	.wide div.zzfilter
					{ max-width: 60em; margin-left: auto; margin-right: auto; }
	.wide table.data td
					{ max-width: 20em; }
}
@media screen and (min-width: 62em) {
	.wide			{ min-width: 60em; }
}
#zzform .add-new	{ max-width: 60em; }

/* internal: Meldung Teamaufstellung */

input.rangno	{ width: 3em; }
input.jahr		{ width: 4em; }
input.geburt	{ width: 6em; }

input.hidden	{ display: none; }

/* internal: Mails */

.mail_empfaenger	{ font-style: italic; }

/* internal: liveergebnisse */

.turnier		{ border-collapse: collapse; }
.turnier td
				{ padding-right: .75em; }
.turnier th
				{ padding-right: .5em; text-align: left; }
.turnier th, .turnier td
				{ vertical-align: top; }
.turnier .teamname td
				{ font-weight: bold; border-bottom: 1px solid black;
				padding-top: 1em; }

/* internal: traffic ligths */

.ja, .nein, .vielleicht, .teilweise, .befreit
				{ float: left; width: 1em; height: 1em; border: 1px solid black; 
				margin-right: .5em; }
.ja				{ background-color: green; }
.nein			{ background-color: red; }
.vielleicht		{ background-color: yellow; }
.teilweise		{ background-color: black; }
.befreit		{ background-color: cornflowerblue; }

.infomsg		{ background-color: green; color: white; font-weight: bold;
				padding: .25em; }

/* internal: team meldung */

.hinweisbox		{ float: left; max-width: 24em; padding: 0 1.5em 1em 0; }
.hauptbox		{ float: left; max-width: 34.5em; }
span.komplett	{ color: green; font-weight: bold; }
span.unvollstaendig	{ color: red; font-weight: bold; }
p.fuss			{ clear: both; padding: 1.5em 0; text-align: center; 
				max-width: none; font-weight: bold; }
.results p.error
				{ max-width: 25em; }
.results p.explanation
				{ margin: 0; max-width: 25em; font-size: 90%; }
.results td.heading
				{ padding-top: .5em; font-style: italic; }
body .results tbody td.reselect
				{ background-color: green; color: white; }
.results tbody td.error, .results tbody tr.error td
				{ background-color: red; color: white; }
@media screen and (max-width: 50em) {
	.hauptbox	{ float: none; }
}

/* internal: map */

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

/* Bilder */

.left			{ float: left; padding: 0 0 .5em .5em; }
.right			{ float: right; padding: 0 .5em .5em 0; }


/* internal: persons */

.person th		{ padding: .25em .5em .25em 0; vertical-align: top; }
.person td		{ padding: .25em 0 .25em; vertical-align: top; }

.person table	{ border-collapse: collapse; margin: 1em 0; }
.person tbody tr:nth-child(2n+1) td, .person tbody tr:nth-child(2n+1) th
				{ background: #F0F0F0; }
.person tbody tr:nth-child(2n) td, .person tbody tr:nth-child(2n) th
				{ background: #FFF; }
.person tbody tr:target:nth-child(2n+1) td, .person tbody tr:target:nth-child(2n) td,
.person tbody tr:target:nth-child(2n+1) th, .person tbody tr:target:nth-child(2n) th
				{ background: yellow; }
.person ul		{ margin: 0; padding: 0; list-style: none; }
.person li		{ margin: 0; padding: 0; }
.person p		{ margin: 0 0 .5em; }

.person .teilnahmen
				{ margin: 0; }
.person .teilnahmen th
				{ padding: .1em .5em .1em 0;
				font-weight: normal; font-style: italic; }
.person .teilnahmen tbody th
				{ text-align: right; }
.person .teilnahmen td
				{ padding: .1em .5em .1em 0; }
.person .teilnahmen tbody tr:nth-child(2n+1) td, .person .teilnahmen tbody tr:nth-child(2n+1) th
				{ background: transparent; }
.person .teilnahmen tbody tr:nth-child(2n) td, .person .teilnahmen tbody tr:nth-child(2n) th
				{ background: transparent; }
.person .nurmeldung, .person .nurmeldung a
				{ color: #CCC; }
.person .platz1	span { background-color: #C98910; color: white; padding: 0 .25em; }
.person .platz2	span { background-color: #A8A8A8; color: white; padding: 0 .25em;}
.person .platz3	span { background-color: #965A38; color: white; padding: 0 .25em;}

/* Glossar */

.glossar dl		{ margin: 1em 0; hyphens: auto; }
.glossar dt		{ font-size: 1.5em; float: left; clear: left; width: 4em;
				color: #FC0; margin-top: -.4em; }
.glossar dd		{ margin: 0 0 1.4em 6em; }
.glossar dt a, .glossar h2 a
				{ display: inline-block; visibility: hidden; width: 1em; margin-left: -1em; }
.glossar dt:hover a, .glossar h2:hover a
				{ visibility: visible; }
.glossar img	{ float: right; padding: 0 0 1em 1em; max-width: 320px; }
.glossary		{ font-style: italic; }
@media screen and (max-width: 640px) {
	.glossar dt				{ padding: 0; width: 4em; }
	.glossar dd				{ padding: 0; margin: 0 0 1.4em 6em; }
	.glossar dd	p			{ margin: 0; padding-left: 0; }
}
@media screen and (max-width: 320px) {
	.glossar dt				{ padding: 0; float: none; }
	.glossar dd				{ padding: 0; margin: 0 0 1em; }
}

/* Feedback */

@media screen and (max-width: 640px) {
	textarea#feedback		{ margin: 0 .75em; max-width: 92%; }
	.feedback input			{ max-width: 98%; }
}

/* Intern Termine */

.berechtigung ul
				{ margin: 1em 0; padding: 0; }
.berechtigung li
				{ list-style: none; margin: 0 0 .75em; padding: 0 0 0 2em; }
.berechtigung li input
				{ margin-left: -2em; }

@media print {
	body 		{ background: white; color: black; font-size: 11pt; }
	@page		{ margin: 1.5cm 1.5cm 2cm 2cm; }

	h1, h2, h3	{ page-break-after: avoid; }
	img			{ max-width: 100%; }
	figure, img	{ page-break-inside: avoid; }

	a:link, a:visited
				{ color: black; text-decoration: none; }
	a[href^=http]:after
				{ content: " [" attr(href) "] "; }
	.banner		{ display: none; }
	.noprint	{ display: none; }
}

@media screen and (max-width: 640px) {
	h1			{ font-size: 130%; padding: 0 .58em; }
	#map h1		{ color: #000; }
	h2			{ font-size: 120%; padding: 0 .625em; }
	h3			{ padding: 0 .68em; }
	p, #text, dl, legend
				{ padding: 0 .75em; }
	td p		{ padding: 0 0; }
	p.teamphoto, p.logo-top, p#breadcrumbs, p.date, .costs p, p.logo-wide
				{ padding: 0; }
}