@charset 'utf-8';



				 /*''..      ..''''..            .;dKk'                     ..',;::;,.          
				.oXN0c.      .;ONXd'.             .:0Wl                  ';,'...',;o0Xx.        
				 lWWo         '0M0'                 :0;               .:do'         .kk.        
				.kMX;         cNMx.          ...   'o;               ,OKc            ';.        
				,KMO.        .xMNc       .,..,lOOxol.               :XNl                        
				lWWo         '0M0'     .lk:   ,kx,...;:;'.    .dc. ;KMO.                        
			 .kMNd;;;;;;;;;xWMd.    .xNo  ,:;. 'c:cdkXNKxc,.'xd..xMMd                         
			 ;XMk.        .xMN:     lWNo,;,.  .OWx.  .:kKKKOo;. '0MWo        ........         
			 oWWl         ,KM0'     dMWx.     .:o:.   .c'...    '0MMd        ..;xK0d.         
			.OMK,         cWMd      cNMO.            .c;        .dWM0'         .dMNc          
			;XMx.        .xMX:      .dWWO;          ,o:          .kWWx.        .OM0'          
		 .dWWo         ;KMK,       .:ONNOl;''',;col'            .l0N0:.     .oNMk.          
		.,ldd:.      ..:ddl,.        .,lxkOkxddoc.                .,looc::;,:ooc'           
																																		··*/                 
																																											


/* ¡Renormasaniset */
*, ::before, ::after {background-repeat: no-repeat; box-sizing: border-box;} html {-webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-hyphenate-limit-before: 3; -webkit-hyphenate-limit-after: 3; -ms-hyphenate-limit-chars: 6 3 3; hyphenate-limit-chars: 6 3 3; -webkit-hyphenate-limit-lines: 3; -ms-hyphenate-limit-lines: 3; hyphenate-limit-lines: 3; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; overflow-y: scroll;} body {background-color: transparent;} a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,button,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,input,kbd,label,legend,li,main,mark,menu,nav,object,ol,option,output,p,pre,q,ruby,s,samp,section,select,small,span,strike,strong,sub,summary,sup,table,tbody,td,textarea,tfoot,th,thead,time,tr,tt,u,ul,var,video {margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;} input {overflow: visible;} button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button;} [type="checkbox"], [type="radio"] {padding: 0;} [type="search"] {-webkit-appearance: textfield; outline-offset: -2px;} textarea {overflow: auto; resize: vertical;} ::-webkit-input-placeholder {color: inherit; opacity: 0.4;} :-webkit-search-decoration {-webkit-appearance: none;} [hidden] {display: none;} audio, video {display: inline-block;} a {background-color: transparent; text-decoration:none } a, area, button, input, label, select, summary, textarea, [tabindex] {-ms-touch-action: manipulation; touch-action: manipulation;} ol,ul{list-style:none} blockquote,q{quotes:none} blockquote:after,blockquote:before,q:after,q:before{content:'';content:none} table{border-collapse:collapse;border-spacing:0} b,strong{font-weight:bold} em,i{font-style:italic} h1,h2,h3,h4,h5,h6{font-weight:400} button, input, select, textarea {font-family: inherit; font-size: inherit; line-height: inherit;} abbr[title]{text-decoration: underline; text-decoration: underline dotted; cursor:help;} img {border-style: none; -moz-user-select: text; -webkit-user-select: text; user-select: text; -moz-user-drag: none; -webkit-user-drag: none; user-drag: none;} svg {fill: currentColor;} svg:not(:root) {overflow: hidden;} 
/* Renormasaniset! */


:root {
--b: 230,220,200;    /* Beige */
--hb: 255,250,240;   /* Hell-Beige */
--s: 40,30,0;        /* Fast-Schwarz */
--z: 130,105,55;     /* Bronze */
--pad: 2em;          /* Global Padding */
scroll-behavior: smooth;
}


@font-face {
font-family: 'Cormorant';
src: url("../fonts/Cormorant-Bold.subset.woff2") format("woff2");
font-weight: bold;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'Cormorant';
src: url("../fonts/Cormorant-BoldItalic.subset.woff2") format("woff2");
font-weight: bold;
font-style: italic;
font-display: swap;
}

@font-face {
font-family: 'Cormorant';
src: url("../fonts/Cormorant-Medium.subset.woff2") format("woff2");
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'Cormorant';
src: url("../fonts/Cormorant-MediumItalic.subset.woff2") format("woff2");
font-weight: normal;
font-style: italic;
font-display: swap;
}


body {
font-family: 'Cormorant', 'Georgia', serif;
font-size: 20px;
line-height: 1.35em;
background: rgb(var(--b));
}

ul.debug {
display: block;
font-family: monospace;
font-size: 12px;
line-height: 1.4em;
color: white;
background: rgb(0,40,60);
padding: var(--pad);
white-space: pre-line;
width: 100%
}

ul.debug li {
display: flex;
flex-flow: row wrap;
gap: 1em;
}

ul.debug li > b {
flex: 0 0 10em;
}

ul.debug li > span {
flex: 1 0 0;
}

a,
a *,
button,
.toggle {
cursor: pointer;
transition: all 200ms ease-in;
}

::selection {
background: rgba(var(--b),.1);
color: rgb(var(--z));
}

header {
padding: 0 var(--pad) var(--pad) var(--pad);
background: white;
}

header,
main,
footer {
max-width: 60em;
margin: 0 auto;
}

h1 {
display: flex;
flex-flow: row wrap;
/* background: rgb(var(--b)); */
background-image: linear-gradient(135deg, rgb(var(--b)) 5.56%, white 5.56%, white 50%, rgb(var(--b)) 50%, rgb(var(--b)) 55.56%, white 55.56%, white 100%);
background-size: 16px 16px;
background-repeat: repeat;
}

h1 a {
display: inline-block;
position: relative;
font-size: 2em;
line-height: 1em;
font-weight: bold;
text-align: center;
color: rgb(var(--s));
padding: calc(var(--pad) / 2);
background: rgba(var(--z),.5);
margin: 0 auto calc(var(--pad) / 4) auto;
z-index: 100;
}

h1 a * {
position: relative;
display: inline-block;
z-index: 150;
}

h1 i {
padding: .2em 0 0 0;
border-top: .1em solid rgb(var(--s));
margin: .25em 0 0 0;
}

h1 span {
font-size: 1.75rem;
text-transform: uppercase;
font-feature-settings: "c2sc" 1;
letter-spacing: .1em;
}

h1 a:hover {
color: white;
background: rgba(var(--z),.8);
}

h1 a:after {
content: '';
display: block;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background: white;
box-shadow: 0 0 .5em rgba(var(--s),.2);
transform: rotate(-4deg);
transition: all 250ms ease-out;
z-index: 10;
}

h1 a:hover:after {
background: rgb(var(--z));
transform: rotate(-2deg);
}

h1 a:hover i {
border-top-color: white;
}

header nav {
padding: 0 var(--pad);
background: white;
border-bottom: .15rem solid rgb(var(--b));
}

nav ul {
display: flex;
flex-flow: row wrap;
gap: 0 1em;
justify-content: center;
}

header nav ul li a {
display: block;
font-weight: bold;
font-size: 1.2em;
line-height: 1.5em;
color: rgb(var(--z));
padding: .3em 0 .15em 0;
border-bottom: .2em solid transparent;
}

header nav ul li a.aktiv {
color: black;
border-bottom-color: rgb(var(--b));
}

header nav ul li a:hover {
border-bottom-color: rgb(var(--b));
}

main {
display: flex;
flex-flow: row wrap;
gap: var(--pad);
padding: var(--pad);
background: white;
}

main > article {
flex: 2 1 0;
max-width: 36em;
}

main > aside {
flex: 1 1 0;
max-width: 36em;
min-width: 12em;
}

aside.news {
background: rgba(var(--b),.15);
padding: 1.5em 1em .5em 1em;
margin-top: -1.5em;
}

main h2 {
font-weight: bold;
font-size: 1.75rem;
line-height: 1em;
text-transform: uppercase;
font-feature-settings: "c2sc" 1;
letter-spacing: .1em;
padding: 0 0 .35em 0;
border-bottom: .15rem solid rgb(var(--b));
margin: -.5em 0 .75em 0;
width: 100%;
}

main h3 {
font-weight: bold;
font-size: 1.2em;
line-height: 1.4em;
margin: 2em 0 .5em 0;
width: 100%;
}

main h3.sub {
margin-bottom: 0;
}

main h2 + h3,
main hr + h3 {
margin-top: -.25em;
}

main h4 {
font-weight: bold;
text-transform: uppercase;
font-feature-settings: "c2sc" 1;
letter-spacing: .1em;
margin: .75em 0 .5em 0;
}

main h5 {
font-weight: bold;
margin: 1em 0 .25em 0;
}

main h6 {
font-weight: bold;
font-style: italic;
margin: 1em 0 .25em 0;
}

main h7 {
font-style: italic;
margin: 1em 0 0 0;
}

main p {
margin: 0 0 .5em 0;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}

main aside * {
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}

main h3 + p em {
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}

main p span {
text-transform: uppercase;
font-feature-settings: "c2sc" 1;
letter-spacing: .05em;
}

article > *:not(.obj) > li,
aside > *:not(.obj) > li {
display: flex;
flex-flow: row nowrap;
margin: 0 0 .35em 0;
}

article > ul:not(.obj) > li:before,
aside > ul:not(.obj) > li:before {
content: '\2022';
display: block;
flex: 0 0 .75em;
width: .75em;
color: rgb(var(--z));
}

article > ol:not(.obj),
aside > ol:not(.obj) {
counter-reset: liste;
list-style-type: none;
}

article > ol:not(.obj) > li:before,
aside > ol:not(.obj) > li:before {
counter-increment: liste;
content: counter(liste) ".";
display: block;
flex: 0 0 1em;
font-weight: bold;
color: rgb(var(--z));
}

main img.inline {
display: block;
float: left;
max-width: 100%;
margin: .35em 1.5em 1em 0;
opacity: 1;
}

main a:hover img.inline {
opacity: .5;
}

article a,
aside a {
color: black;
border-bottom: .1em solid rgba(var(--z),.25);
}

article a:hover,
aside a:hover {
color: rgb(var(--z));
border-bottom-color: transparent;
}

.toggle {
display: flex;
padding: 0 0 .35em 0;
border-bottom: .15rem solid rgb(var(--b));
margin: 1em 0 .75em 0;
}

.toggle:hover {
color: rgba(var(--z),.75);
}

.toggle:after {
content: '↓';
font-weight: bold;
margin: 0 0 0 auto;
}

.toggle.offen:after {
content: '↑';
}

article hr {
width: 100%;
border: none;
height: .05em;
background: rgba(var(--z),.5);
margin: 1.5em 0;
}

article pre {
display: flex;
font-family: 'Source Code Pro', monospace;
font-size: .7em;
line-height: 1.35em;
white-space: break-spaces;
background: magenta;
padding: .5em .75em;
margin: 0 0 2em 0;
}

ul.downloads li {
margin: 0 0 .5em 0;
}

ul.downloads li a:before {
content: '';
display: block;
float: left;
height: 2em;
width: 1.5em;
margin: .4em .5em .25em 0;
background: rgba(var(--b),.8);
clip-path: polygon(75% 0, 100% 20%, 100% 100%, 0 100%, 0 0);
}

ul.downloads li a span {
text-transform: uppercase;
font-feature-settings: "c2sc" 1;
letter-spacing: .05em;
color: rgba(var(--z),.8);
}

footer {
background: rgba(var(--z),.8);
}

footer nav ul {
justify-content: flex-start;
padding: 0 var(--pad);
}

footer nav ul li a {
display: block;
font-weight: bold;
color: white;
padding: .15em 0 .3em 0;
border-top: .1em solid transparent;
}

footer nav ul li a.aktiv {
color: white;
border-top-color: white;
}

footer nav ul li a:hover {
color: rgba(255,255,255,.75);
border-top-color: white;
}


/* FlickityBox Galerie 2.0 */
div#fbox {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 333ms ease-out;
background: rgba(0,0,0,.9);
z-index: 1000;
}

div#fbox.aktiv {
opacity: 1;
}

div.flickity-viewport,
div#fbox ul,
div#fbox ul li {
display: flex;
width: 100%;
height: 100vh;
margin: 0;
}

div#fbox ul li figure {
display: flex;
flex-flow: column;
margin: auto;
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100%;
object-fit: contain;
}

div#fbox ul li figure img {
display: block;
width: 100%;
height: 100%;
max-width: 100%;
max-height: calc(100% - 4em);
padding: var(--pad) var(--pad) 0 var(--pad);
object-fit: contain;
box-shadow: 0 0 1em rgba(0,0,0,.2);
margin: auto;
}

div#fbox ul li figure figcaption {
flex: 1 0 auto;
min-height: 4em;
max-width: 42em;
padding: .75em;
margin: 0 auto;
text-align: center;
color: white;
}

button.zu {
position: fixed;
right: var(--pad);
top: var(--pad);
/* font-size: .875em; */
font-weight: bold;
color: white;
background: rgb(var(--z));
padding: .2em .5em;
box-shadow: 0 0 1em rgba(0,0,0,.2);
cursor: pointer;
z-index: 10000;
}

button.zu:hover {
background: black;
}

div#fbox .flickity-page-dots {
left: 0;
bottom: 0;
width: 100%;
height: .25em;
line-height: 0;
display: flex;
flex-flow: row nowrap;
}

div#fbox .flickity-page-dots .dot {
flex: 1 0 auto;
width: .5em;
height: .25em;
background: white;
border-radius: 0;
margin: 0;
}

div#fbox .flickity-page-dots .dot:hover {
opacity: .75;
}

.start .flickity-prev-next-button.previous {
left: .5em;
}

.start .flickity-prev-next-button.next {
right: .5em;
}

.start .flickity-prev-next-button .flickity-button-icon {
fill: rgb(var(--z));
}

/* ENDE FlickityBox Galerie 2.0 */




/* ############# Screens bis 800px ############# */
@media only screen and (max-width: 800px) {
  
  main * {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	}
  
  header nav ul li a {
  padding: 0;
  }
  
  main img.inline {
  float: none;
  }

}




/* ############# Screens bis 640px ############# */
@media only screen and (max-width: 640px) {

  :root {
  --pad: 1em; 
  }
  
  header {
  padding: 0 0 var(--pad) 0;
	}
	
	main > article,
	main > aside {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
	}
	
	main > aside,
	main > aside.news {
	margin-top: var(--pad);
	}

}




