@charset "UTF-8";/*
**********************************************
***      created by Boris Schmakowski      ***
***          www.schmakowski.de            ***
**********************************************
*/

.farbe-a { color: #0000ff;}
.farbe-b { color: #00ff00;}
.farbe-c { color: #ff0000;}

body {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-variant: normal;
	font-size: 22px;
	line-height: 1.5em;
	margin: 0;
	padding: 0;
	overflow-y:scroll;
	color: #333333;
	hyphens: manual;
}
@media (max-width: 900px) {
	body {
		font-family: 'Open Sans', Helvetica, Arial, sans-serif;
		font-weight: 300;
		font-size: 20px;
		line-height: 1.4em;
		color: #333333;
		hyphens: manual;
	}
}
@media (max-width: 600px) {
	body {
		font-family: 'Open Sans', Helvetica, Arial, sans-serif;
		font-weight: 400;
		font-size: 18px;
		line-height: 1.3em;
		color: #111111;
		hyphens: auto;
	}
}

p       	{ padding: 0 0 1em 0; margin: 0;  }
td      	{ margin: 0; padding: 0; }
table   	{ border-collapse: collapse; }
strong, b 	{ color: #99141d; font-weight: 400; }
ul { 
	list-style: circle outside;
	margin: 0 0 0 1em;
	padding: 0 0 1em 0;
}
ol { 
	list-style: decimal outside; 
	margin: 0 0 0 1em;
	padding: 0 0 1em 0; 
}
ol li > ol,
ol li > ul,
ul li > ol,
ul li > ul
{ padding: 0; margin: 0 0 0 1em;}

h1,h2,h3,h4,h5,h6 {
	margin: 0;
	letter-spacing: 0.05em;
	font-weight: 300;
	color: #99141d;
}
h1 {  font-size: 2em;   line-height: 1.125; margin: 0 0 0.5em 0; }
h2 {  font-size: 1.5em; line-height: 1.25;  margin: 0 0 0.5em 0; }
h3 {  font-size: 1.25em;line-height: 1.25;  margin: 0 0 0.5em 0; }
h4 {  font-size: 1em;   }
h5 {  font-size: 1em;   }
h6 {  font-size: 1em;   }

a {
	transition: all .35s ease;
}
a 					{ color: #99141d; text-decoration: underline; }
a:visited 			{ color: #99141d; text-decoration: underline; }
a:hover 			{ color: #99141d; text-decoration: none; }
a:active 			{ color: #99141d; text-decoration: none; }
a img 				{ border: 0 none; text-decoration: none; }
a:has(> i) 			{ text-decoration: none; }
a:visited:has(> i)	{ text-decoration: none; }
a:hover:has(> i)	{ text-decoration: underline; }
a:active :has(> i)	{ text-decoration: underline; }
h2 a 				{ color: #99141d; text-decoration: none; }
h2 a:visited  		{ color: #99141d; text-decoration: none; }

.video-responsive {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 0 2em 0;
}
.video-responsive iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

p.button-link a {
	display: inline-block;
	padding: 0.75em 1.5em;
	background-color: #f29307;
	text-decoration: none;
	color: #ffffff;
	text-transform: uppercase;
	font-weight: 400;
	letter-spacing: 0.01em;
}
p.button-link a:hover {
	background-color: #bb1823;
}

a.wf_file::before {
	content: '\f1c1';
	font-family: "Font Awesome 7 Pro";
	font-style: normal;
	font-weight: 300;
	display: inline-block;
	padding: 0 2px 0 2px;
	margin: 0 0.5em 0 0;
}
a.wf_link::before {
	content: '\f0c1';
	font-family: "Font Awesome 7 Pro";
	font-style: normal;
	font-weight: 300;
	display: inline-block;
	padding: 0 2px 0 2px;
	margin: 0 0.5em 0 0;
}

div.infobox  {
	display: flow-root;
	border: 1px solid #99141d;
	background-color: #f9f9f9;
	text-align: center;
	padding: 1em;
	margin: 1em 0 2em 0;
}
div.infobox > :last-child   {
	padding-bottom: 0;
}

/*--- Split Content ----*/

div.split {
	--split-gap: 1em;
	--split-cols: 2;
	display: flex;
	flex-wrap: wrap;
	gap: var(--split-gap);
	margin: 0 0 1em 0;
}
div.s50 { --split-cols: 2; }
div.s33 { --split-cols: 3; }
div.s25 { --split-cols: 4; }
div.split > div {
	flex: 0 0 calc((100% - (var(--split-cols) - 1) * var(--split-gap)) / var(--split-cols));
	min-width: 0;
}
div.split-right 	{ text-align: right; }
div.split-center 	{ text-align: center; }
div.split-bottom {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

/*--- diverse Bilder ---*/

.right 	{ float: right;}
.left	{ float: left;}

figure.right, div.right 	{margin: 0 0 1em 2em;}
figure.left, div.left		{margin: 0 2em 1em 0;}
figure.item-image, div.item-image {
	width: 40%;
	max-width: 500px;
}
figure.small, div.small {
	max-width: 300px;
}
figure.item-image img, div.item-image img {
	display: block;
	width: 100%;
	height: auto;
}
div.category-desc img {
	float: right;
	margin: 0 0 1em 2em;
	width: 30%;
	max-width: 400px;
	display: block;
	height: auto;
}


figcaption, span.wf_caption span {
	font-size: 0.9em;
}
figure.right figcaption {
	text-align: right;
}
@media (max-width: 900px) {
	figure.item-image, div.item-image {
		width: 40%;
		max-width: 400px;
	}
}
@media (max-width: 600px) {
	figure.item-image, div.item-image {
		float: none;
		width: 100%;
		max-width: 400px;
		margin: 0 auto 1em auto;
	}
}

div.gallery {
	--gap-x: 1em;
	--gap-y: 1em;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-y) var(--gap-x);
}

div.gallery.ll-all {
	text-align: center;
	--gap-x: 2em;
	--gap-y: 1.5em;
	font-size: 16px;
}
div.gallery.ll-all img {
	border: 1px solid #d7d8d9;
}
.mp-ausgaben figure.item-image img,
.mp-ausgaben div.item-image img {
	border: 1px solid #d7d8d9;
}

div.gal3 { --cols: 3; }
div.gal4 { --cols: 4; }
div.gal5 { --cols: 5; }
div.gal6 { --cols: 6; }
@media (max-width: 900px) {
	div.gal3 { --cols: 3; }
	div.gal4 { --cols: 3; }
	div.gal5 { --cols: 4; }
	div.gal6 { --cols: 4; }
}
@media (max-width: 600px) {
	div.gal3 { --cols: 2; }
	div.gal4 { --cols: 2; }
	div.gal5 { --cols: 2; }
	div.gal6 { --cols: 2; }
}
@media (max-width: 400px) {
	div.gal3 { --cols: 1; }
	div.gal4 { --cols: 1; }
	div.gal5 { --cols: 1; }
	div.gal6 { --cols: 1; }
}
div.gallery > div {
	flex: 0 0 calc(	(100% - (var(--cols) - 1) * var(--gap-x)) / var(--cols) );
}
div.gallery > div {
	min-width: 0;
}
div.gallery a {
	display: block;
	width: 100%;
}
div.gallery img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
}


/*--- diverse ----*/

::selection {
	color: #000000;
	background: rgba(250, 250, 0, 1);
	text-shadow: none;
}

blockquote {
	padding: 1em 1.5em;
	margin: 0 0 1em 0;
	font-style:italic;
	color: #000000;
	background: #f5f5f5;
	border-left: 5px dotted #99141d;
}
blockquote p:last-child {
	margin: 0;
	padding: 0;
}

pre {
	font-family: Consolas, Monaco, monospace;
	white-space: pre-wrap;
	overflow-wrap: break-word;
	background-color: #f5f5f5;
	border: 5px dotted #99141d;
	padding: 1em 1.5em 1em 1.5em;
	margin: 0 0 1em 0;
}

/*
<div class="scaling-svg-container" 
   style="padding-bottom: 92%  = 100% * 55/60 ">
		   <svg class="scaling-svg" viewBox="0 0 60 55" >
		   <!-- SVG content -->
  </svg>
</div>
*/
.scaling-svg-container {
	 position: relative; 
	 height: 0; 
	 width: 100%; 
	 padding: 0;
	 padding-bottom: 100%; 
	 /* override this inline for aspect ratio other than square */
}
.scaling-svg {
	 position: absolute; 
	 height: 100%; 
	 width: 100%; 
	 left: 0; 
	 top: 0;
}

/*---- print via Browser ----*/
@media print {
	* {
		text-shadow: none !important;
		color: #000 !important;
		background: transparent !important;
		box-shadow: none !important;
		font-family: Arial, sans-serif !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	abbr[title]::after {
		content: " (" attr(title) ")";
	}
	.ir a::after,
	a[href^="javascript:"]::after,
	a[href^="#"]::after {
		content: "";
	}
	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
		break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr,
	img {
		page-break-inside: avoid;
		break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: .5cm;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
		break-after: avoid;
	}
	nav,
	.mobileonly {
		display: none;
	}
	#content_outright,
	#rightcolumn,
	#leftcolumn {
		width: 100%;
	}
	#rightcolumn div.moduletable,
	#leftcolumn div.moduletable {
		border-top: 1px solid #eee;
		padding: 2.5% 0;
	}
	body::before {
		display: none;
	}
	body {
		height: auto;
	}
}


/*---- JCE Editor Spezial ----*/

body.jce-content, body.jce-content td, body.jce-content pre  {
	font-size: 18px;
	background: #ffffff;
}
img.wf_file_icon {
	height: 30px;
	width: auto;
	margin-right: 10px;
	margin-bottom: 2px;
	vertical-align: text-bottom !important;
 }
