/* @@ Re-sort per http://meiert.com/en/blog/20130130/how-to-order-css-selectors/#toc-selectors */

@import url(/setup/cookie-consent.css);

@media screen, projection, print {

	* {
		font-weight: 400;
	}

	html {
		font: 100%/1.6 'sabon lt', palatino, georgia, serif;
	}

	h1,
	h1 img {
		height: 85px;
		width: 77px;
	}

	h1 a,
	img {
		border: 0;
	}

	h2,
	h3,
	h4,
	h5,
	pre,
	form code,
	code,
	kbd,
	var {
		font-family: optima, 'helvetica neue', helvetica, sans-serif;
	}

	h2,
	h3,
	h4,
	fieldset p,
	#about {
		line-height: 1.3;
	}

	h2 {
		font-size: 1.9em;
		margin-bottom: .37em;
	}

	h2#comments,
	h2.alt {
		margin-top: 1em;
	}

	h2.alt,
	#index a.media.alt {
		clear: right;
	}

	h2.alt + a.media.alt {
		margin-top: .8em;
	}

	h2 cite,
	#index h3 cite {
		font-style: normal;
	}

	h2 + h3 {
		margin-top: .4em;
	}

	h2 + #index h3:first-child,
	dd p,
	dd pre,
	dd table,
	table.alt td p:first-child {
		margin-top: 0;
	}

	h3,
	h4,
	#col-1 h2.alt {
		margin: 1em 0 0;
	}

	h3,
	#col-1 h2.alt {
		font-size: 1.5em;
	}

	h3 .smiley {
		margin-bottom: 0;
	}

	h4,
	h4 *,
	strong,
	strong *,
	em *,
	.note,
	.note * {
		font-style: italic !important;
	}

	h4 {
		font-size: 1.31em;
	}

	h5 {
		font-size: 1.125em;
		margin: .8em 0 0;
	}

	p,
	blockquote,
	pre,
	ul,
	ol,
	dl {
		margin: .6em 0;
	}

	blockquote {
		padding: 0 0 0 2.5em;
	}

	blockquote p,
	li div.media {
		margin: 0 0 .6em;
	}

	blockquote del,
	ins {
		text-decoration: none;
	}

	blockquote + blockquote,
	table + blockquote {
		margin-top: 1.2em;
	}

	pre {
		overflow: auto;
		padding: 3px;
	}

	ul,
	ol,
	dd {
		margin-left: 2.5em;
		padding: 0;
	}

	ul ul,
	ul ol,
	ol ul,
	ol ol {
		margin: .1em 0 .15em 1.75em;
	}

	dt {
		margin: .6em 0 0;
	}

	table,
	form p,
	#about p,
	#search,
	.nav {
		margin: 0;
	}

	table,
	input,
	textarea {
		font-size: 1em;
	}

	table {
		border-collapse: collapse;
		margin: 1.2em 0 0;
		width: 100%;
	}

	th,
	td,
	form {
		padding: 5px 3px;
	}

	th,
	td {
		vertical-align: top;
	}

	th {
		text-align: left;
	}

	th + th + td .media img,
	#index a.media.alt img {
		width: 90px;
	}

	td img,
	.smiley {
		margin-bottom: -.125em;
		padding: 0 !important;
	}

	td .media img,
	a.media.alt {
		float: right;
	}

	td .media img {
		margin: .2em 0 .2em .6em;
	}

	div.media,
	#search fieldset,
	#toc-min {
		text-align: center;
	}

	div.media {
		padding: .5em .2em .2em;
	}

	div.media p {
		margin: 0 .8em .3em;
	}

	div.media img {
		max-width: 90%;
	}

	img.meme {
		width: 300px;
	}

	a.media.alt {
		margin: 0 0 1em 1em;
	}

	a.media img,
	#content img {
		border-radius: 3px;
	}

	a.media.alt img {
		width: 121px;
	}

	a.media img {
		border: 1px solid #c08 !important;
	}

	strong strong,
	strong em,
	em strong,
	em em,
	.note strong,
	.note strong *,
	.note em,
	.note cite {
		font-style: normal !important;
	}

	sup,
	sub {
		line-height: 1;
	}

	#content img {
		border: 1px solid #e5e5e5;
		padding: 1px;
	}

	#index h3 {
		margin: .67em 0 -.36em;
	}

	#index a.media.alt {
		margin-top: .5em;
	}

	#index a.media.alt:first-child {
		margin-top: .1em;
	}

	.meta {
		margin-top: -.6em;
	}

	.meta:before,
	.pilot a:before {
		content: '\261E  ';
	}

	.theses {
		list-style-type: upper-roman;
	}

	.theses:not(*:root) { /* WebKit */
		list-style-position: inside;
		margin-left: 0;
	}

}

@media screen, projection {

	* {
		margin: 0;
		padding: 0;
	}

	html,
	#about a {
		color: #333;
	}

	html {
		background: #fdfdfd;
	}

	body,
	blockquote,
	a.media.alt,
	#content,
	#about {
		position: relative;
	}

	body {
		margin: auto;
		max-width: 1050px;
	}

	h1,
	h1 a {
		padding: 15px 0 0 20px;
	}

	h1,
	blockquote:before,
	#search,
	.nav.aux {
		position: absolute;
	}

	h1,
	.nav {
		font-size: 1.25em;
	}

	h1 a,
	p#commentary:target,
	label,
	#col-1.index {
		display: block;
	}

	h1 a {
		margin: -15px 0 0 -20px;
	}

	h2,
	h3,
	h4,
	h5,
	.nav {
		color: #000;
	}

	h2 a,
	h3 a,
	h4 a,
	h5 a,
	a:focus,
	a:hover,
	.nav li a,
	.pilot a,
	.pilot a:focus strong,
	.pilot a:hover strong {
		text-decoration: none;
	}

	h2 a,
	h3 a,
	h4 a,
	h5 a,
	.nav li a {
		border-bottom: 1px solid;
	}

	h2 a:focus,
	h2 a:hover,
	h3 a:focus,
	h3 a:hover,
	h4 a:focus,
	h4 a:hover,
	h5 a:focus,
	.nav li a:focus,
	.nav li a:hover {
		border-bottom: 0;
	}

	p#commentary,
	legend,
	#about #quality span,
	#search,
	#ad-aux,
	#ad-alt-aux,
	#ad-comments-aux {
		display: none;
	}

	p#commentary,
	#promo-social {
		margin: 1.2em 0 0;
	}

	p + #ad-alt,
	form + #ad-alt,
	#promo-social + #ad-alt,
	.pilot + #promo-social {
		margin-top: 1.4em;
	}

	blockquote {
		min-height: .7em;
	}

	blockquote:before {
		color: #ddd;
		content: '\201C';
		font-family: georgia, serif;
		font-size: 5em;
		left: 0;
		line-height: 1;
		top: -.06em;
	}

	blockquote blockquote:before {
		content: '\2018';
	}

	pre,
	th,
	form,
	div.media,
	#search,
	#promo-social,
	.nav,
	.author {
		background: #f1f1f1;
	}

	pre,
	div.media,
	#toc-min,
	.author {
		clear: right;
	}

	pre {
		max-width: 641px;
	}

	li h4,
	.pilot strong,
	.pilot strong * {
		font-style: normal !important;
	}

	li pre {
		max-width: 601px;
	}

	table {
		border: solid #e5e5e5;
		border-width: 1px 0;
	}

	table.alt th,
	td,
	form,
	#about,
	#promo-social {
		border-top: 1px solid #e5e5e5;
	}

	table.alt.promo span,
	#about #epilogue,
	#meta {
		color: #666 !important;
	}

	table.alt td p:last-child {
		margin-bottom: 0;
	}

	td img,
	fieldset,
	#col-1.index,
	#search,
	.smiley {
		border: 0 !important;
	}

	td a[href^='/de/publications/guide/#'],
	a[href^='#'] {
		color: #333 !important;
	}

	form {
		margin: .9em 0 0;
	}

	form * {
		font-family: palatino, georgia, serif;
	}

	fieldset p,
	div.media,
	#about {
		font-size: .9em;
	}

	label,
	input[type='submit'] {
		cursor: pointer;
	}

	label {
		padding-bottom: 2px;
	}

	input,
	textarea,
	#content {
		width: 100%;
	}

	input,
	textarea {
		box-sizing: border-box;
		margin-bottom: .5em;
		padding: 1px;
	}

	input.button,
	input.button + p {
		margin: .5em 0 0;
	}

	input.button {
		padding: .5em 1em;
		width: auto !important;
	}

	textarea {
		line-height: 1.4;
	}

	div.media img {
		filter: grayscale(25%);
		-webkit-filter: grayscale(25%);
	}

	div.media img:hover,
	div.media a.media:focus img,
	div.media a.media:active img {
		filter: grayscale(0);
		-webkit-filter: grayscale(0);
	}

	img.alt,
	#about #quality,
	#ad,
	#ad-comments,
	.nav.aux li,
	.edit {
		float: right;
	}

	img.alt {
		margin: .2em 0 .6em .6em;
	}

	img + #promo-social,
	#about #epilogue {
		margin-top: .6em;
	}

	a {
		color: #c08;
	}

	a:visited {
		color: #a6006e;
	}

	a.media.alt,
	#search,
	#ad * {
		z-index: 1;
	}

	#content {
		display: table;
		margin-bottom: 60px;
		top: 40px;
	}

	#col-1,
	#col-2 {
		display: table-cell;
		padding: 0 20px;
		vertical-align: top;
	}

	#col-1 {
		border-right: 1px solid #e5e5e5;
		max-width: 649px;
	}

	#col-1.index #ad,
	#col-2,
	#ad-alt {
		width: 320px;
	}

	#col-1.index #ad,
	#ad,
	#ad-alt,
	#ad-comments {
		background: #dce7f3;
		border-top: 1px solid #c5d8ed;
		line-height: 0;
		min-height: 50px;
	}

	#col-1.index {
		max-width: none;
	}

	#col-2 ul {
		margin-left: 1.25em;
	}

	#about {
		background: url(/media/logos-xs.png) 20px 11px no-repeat;
		min-height: 29px;
		padding: 7px 20px 14px 56px;
	}

	#about:hover {
		background-position: 20px -250px;
	}

	#about #quality {
		padding-left: 20px;
	}

	#search,
	.nav {
		border-bottom: 1px solid #e5e5e5 !important;
	}

	#search {
		padding: 0 5px 5px;
		right: 20px;
		top: 5.25em;
	}

	#search input {
		margin-bottom: 0;
		width: 21em;
	}

	#search input.button {
		padding: 0;
	}

	#ad,
	#ad-comments {
		margin: .2em 0 .8em .8em;
		min-height: 125px;
		width: 125px;
	}

	#ad-comments + ol {
		min-height: 130px;
	}

	#toc-min,
	.nav,
	.pilot {
		list-style: none;
	}

	#toc-min {
		margin: 1.2em 0 -.6em;
	}

	#toc-min li,
	.nav li {
		display: inline;
	}

	#toc-min li {
		padding: 0 .2em 0 0;
	}

	#index + p {
		clear: left;
	}

	#promo-social,
	.pilot {
		overflow: hidden;
	}

	#promo-social {
		padding: 0 3px;
	}

	#promo-social p {
		margin: 0;
	}

	#promo-social img {
		margin-right: -3px;
	}

	#notification {
		background: #fefcad;
		border-radius: 6px;
		margin: -.2em 0 .2em;
		padding: .2em .6em;
	}

	.nav {
		line-height: 1.5;
		padding: 54px 8.75em 2px 5.25em;
	}

	.nav li {
		margin: 0 2px;
		padding: 0 4px;
	}

	.nav.aux {
		background: transparent;
		border-bottom: 0 !important;
		margin-right: 12px;
		padding: 54px 0 2px;
		right: 0;
		top: 0;
		width: 8.75em;
	}

	.nav.aux li {
		margin: 0 4px 0 5px;
	}

	.author {
		padding: 0 3px;
	}

	.pilot {
		margin: 1em 0 !important;
	}

	.pilot li {
		float: left;
		margin-right: 1.2em;
	}

	.pilot a {
		padding: .2em 0;
	}

	.pilot a strong {
		text-decoration: underline;
	}

	.match,
	.milestone td {
		background: #f5f5f5;
	}

	.ditto {
		color: #999;
	}

	.edit {
		margin: 0 0 0 .3em;
	}

}

@media screen and (max-width: 770px) {

	th + th + td .media img,
	#index a.media.alt img {
		width: 60px;
	}

	td img {
		width: 80px;
	}

	#col-1,
	#col-2 {
		display: block;
	}

	#col-1.index td img,
	#col-2,
	.nav.aux {
		width: auto;
	}

	#col-1 {
		border-right: 0;
		max-width: none;
	}

	#content {
		top: 30px;
	}

	#col-2 {
		margin-top: 30px;
	}

	#about #quality,
	.nav.aux li:last-child {
		display: none;
	}

	.nav {
		min-height: 70px;
		padding: 42px 16px 2px 5.75em;
		text-align: right;
	}

	.nav.aux {
		font-style: italic;
		min-height: 0;
		padding: 0 2px 0 5.75em !important;
		top: 12px;
	}

}

@media screen and (max-width: 370px) {

	.nav {
		min-height: 100px;
		padding-top: 12px;
	}

	.nav.aux {
		display: none;
	}

}

@media print {

	* {
		background: #fff;
		color: #000;
	}

	h3 a,
	a.media,
	#about #quality a {
		border-bottom: 0;
	}

	th,
	td,
	a {
		border-bottom: 1px solid #ddd;
	}

	form,
	#col-2,
	#about p,
	#ad,
	#ad-alt,
	#ad-comments,
	#toc-min,
	#promo-social,
	#notification,
	.nav,
	.pilot,
	.edit {
		display: none;
	}

	a {
		text-decoration: none;
	}

	a.media,
	a[href^='#'],
	#content td img,
	#content .smiley {
		border: 0 !important;
	}

	a.media img,
	#content img {
		border: 1px solid #e5e5e5 !important;
	}

	#about #quality,
	#meta,
	#meta * {
		font-style: italic;
	}

	#about #quality {
		display: block;
		line-height: 1.5;
		margin: .6em 0;
	}

}