@charset 'utf-8';

                                                                                
                     /*@@@@@@@@@@@#                                             
                #@@@@@@@@@@@@@@@@@@@@                                           
             ,@@@@@*           @@@@@@@.                                         
           (@@@@                 @@@@@@                                         
         .@@@@                   .@@@@@                                         
        @@@@(   @@@@    @@@@@     @@@@@                                         
      (@@@@     @@@@    @@@@#     @@@@/                                         
     &@@@@       @&              .@@@@                                          
    #@@@@                       *@@@@                                           
   /@@@@                       @@@@#                                            
  ,@@@@@                     @@@@@                                              
  @@@@@.                  .@@@@@                   ,@@@%                        
 .@@@@@.               @@@@@@#                    #@@@@@@@@@,                   
 @@@@@@@@@@@@***@@@@@@@@@@/                      @@@@%   @@@@@@    *@@@/*       
 @@@@@@@@@@@@@@@@@@@@@,                         @@@@/      *@@@@@@@@@@@@@@@@@@@ 
 @@@@@@@@@@@@@@.                               @@@@         (@@@@@      @@@@@   
 @@@@@@.                                     #@@@@        ,@@@@       #@@@@#    
 .@@@@@@                                     %@@@@@@*    @@@@*       @@@@@      
  @@@@@@@                                        @@@@@@@@@@@       @@@@@        
   @@@@@@&                                         ,@@@@@@@@@@@,,@@@@@.         
    @@@@@@@                                      @@@@@@@@@@@@@@@@@@@@           
     @@@@@@@(                                 &@@@@@@                           
      ,@@@@@@@@                           %@@@@@@@                              
        (@@@@@@@@@@*                (@@@@@@@@@(                                 
           &@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(                                     
               &@@@@@@@@@@@@@@@@@@@*/            

/* ¡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: 4; -webkit-hyphenate-limit-after: 4; -ms-hyphenate-limit-chars: 8 4 4; hyphenate-limit-chars: 8 4 4; -webkit-hyphenate-limit-lines: 3; -ms-hyphenate-limit-lines: 4; hyphenate-limit-lines: 4; -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;} ::placeholder {color: inherit; opacity: .25;} :-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 {
--r: 180,0,0;    /* Rot */
--g: 246,246,246; /* sehr helles grau */
--pad: 2em;       /* Global Padding */
--max: 1280px;    /* maximale Breite */
scroll-behavior: smooth;
}

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

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

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

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

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

a,
a::after,
p::after,
a img,
input[type='submit'] {
transition: all 333ms ease-in;
}

::selection {
color: rgb(var(--r));
background: rgba(255,255,255,.8);
}

img, ul.seitenvorschau li {
-moz-user-select: none;
-webkit-user-select: none;
user-select: none;
-moz-user-drag: none;
-webkit-user-drag: none;
user-drag: none;
}

body {
font-family: 'CharisSIL', Georgia, Serif;
font-size: 18px;
line-height: 1.4em;
background: rgb(var(--g));
}

.icon::before,
.boden span.icon::after {
display: inline-block;
font-family: 'Icons';
margin: 0 .35em 0 0;
}

.icon::after {
display: inline-block;
font-family: 'Icons';
margin: 0 0 0 .35em;
}

.down-open::before {content: "\F004";}
.down::before {content: "\E802";}
.right::after {content: "\E804";}
.left::before {content: "\E803";}

.knopf.icon::after,
.knopf.icon::before {
transform: translateY(.05em);
}

header,
footer {
display: flex;
flex-flow: row wrap;
gap: .25em .5em;
background: rgb(var(--r));
padding: var(--pad) 5vw;
}

header > * {
font-family: 'Sassoon';
font-size: 1.5em;
line-height: 1.2em;
color: white;
}

header h1 {
margin-right: auto;
}

header a {
color: white;
}

header h1 a svg {
display: inline-block;
vertical-align: top;
height: 2em;
margin: 0 .5em 0 0;
}

header h1 a span {
display: inline-block;
vertical-align: top;
margin: .5em 0 0 0;
}

header nav ul {
display: flex;
flex-flow: row wrap;
margin: 0;
}

header nav ul li a,
header nav ul li form input,
header a.tuete {
display: block;
padding: .5em .5em .2em .5em;
border-bottom: .1em solid transparent;
}

header nav ul li.aktiv a {
border-bottom-color: white;
}

header nav ul li a:hover,
header a.tuete:hover {
background: rgba(255,255,255,.2);
}

header li.suche form {
min-width: 4.5em;
transition: all 333ms ease-out;
}

header li.suche form label {
display: none;
}

header li.suche form input {
color: white;
max-width: 4.5em;
background: transparent;
transition: all 333ms ease-out;
background-image: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" width="14px" height="14px" viewBox="0 0 14 16"><g style="fill: none; stroke: white; stroke-width: .125em;"><circle cx="5.625" cy="8" r="5"/><line x1="9.691" y1="11.815" x2="12.691" y2="14.815"/></g></svg>');
background-position: top .375em right .3em;
background-size: 1em;
background-repeat: no-repeat;
border-radius: none;
}

header li.suche form input::placeholder {
color: inherit;
opacity: 1;
}

header li.suche form input:focus,
header li.suche form input:not(:placeholder-shown) {
max-width: 9em;
border-bottom-color: white;
outline: none;
}

header a.tuete {
display: block;
position: relative;
margin: -1em -.75em -.5em .5em;
border-radius: .25em;
}

header a.tuete img {
display: block;
height: 3em;
width: auto;
}

header a.tuete span.counter {
display: inline-block;
position: absolute;
right: 0;
bottom: 0;
font-size: .75em;
line-height: 1;
color: rgb(var(--r));
background: white;
padding: .25em .35em .075em .35em;
border-radius: 0.75em;
}

@-moz-document url-prefix() {
  header a.tuete span.counter {
  padding-bottom: .05em;
  }
}

nav.kat {
padding: 0 5vw;
background: white;
}

nav.kat > ul {
display: flex;
flex-flow: row wrap;
width: calc(100% + 1em);
margin: 0 -.5em;
}

nav.kat > ul > li > a,
nav.kat > ul > li > span {
display: flex;
flex-flow: column wrap;
font-family: 'Sassoon';
font-size: 1.25em;
line-height: 1.45em;
color: rgb(var(--r));
background: transparent;
padding: .55em .5em .2em .5em;
border-bottom: .15em solid transparent;
}

nav.kat > ul > li > span {
color: black;
}

nav.kat > ul > li.aktiv > a {
border-bottom-color: rgb(var(--r));
}

nav.kat > ul > li > a:hover {
background: rgba(var(--r),.25);
}

nav.subkat > ul {
display: flex;
flex-flow: row wrap;
gap: .5em;
margin: -2em 0 var(--pad) 0;
}

nav.subkat > ul li a {
display: block;
line-height: 1;
box-shadow: none !important;
background: white;
padding: .2em .6em .4em .6em;
border-radius: 1em;
}

nav.subkat > ul li.aktiv a {
color: white;
background: rgb(var(--r));
}

nav.subkat > ul li a:hover {
color: black !important;
background: rgba(var(--r),.25);
}

article.startbild {
position: relative;
max-width: var(--max);
margin: calc(var(--pad)) auto 0 auto;
transition: margin 333ms ease-in;
}

article.startbild a {
display: block;
box-shadow: none !important;
border-bottom: none;
background: rgb(var(--r));
}

article.startbild img {
display: block;
max-width: 100%;
height: auto;
/* mix-blend-mode: normal; */
filter: hue-rotate(0);
opacity: 1;
}

article.startbild a:hover img {
/* mix-blend-mode: plus-lighter; */
filter: hue-rotate(90deg);
opacity: .8;
}

article.startbild p {
position: absolute;
left: var(--pad);
bottom: var(--pad);
font-size: 2em;
line-height: 1.2em;
font-style: italic;
color: white;
margin: 0;
text-shadow: 0 0 .75em black;
}

article.startnews,
article.novis,
article.artikel {
max-width: var(--max);
padding: var(--pad) 0;
margin: 0 auto;
}

.wartung article {
display: flex;
flex-flow: column wrap;
justify-content: center;
gap: 1em;
min-height: calc(100vh - 9.5em);
background: white;
padding: var(--pad);
}

.wartung article > * {
margin: 0 auto;
}

article.artikel {
display: flex;
flex-flow: row wrap;
gap: var(--pad);
min-height: calc(100vh - 16.75em);
align-content: flex-start;
}

article.artikel div.text {
flex: 1 1 calc(50% - var(--pad));
max-width: 36em;
margin: 0 auto auto 0;
}

article.artikel aside {
position: relative;
flex: 1 1 calc(50% - var(--pad));
max-width: 512px;
margin: 4em 0 0 0;
}

article.artikel aside p.counter {
position: absolute;
top: 1em;
left: 1em;
font-family: 'Sassoon';
line-height: 1em;
color: white;
background: rgb(var(--r));
padding: .35em .5em .2em .5em;
border-radius: 1em;
}

article.artikel aside ul.galerie li + li {
display: none;
}

article.artikel figure img,
article.artikel figure a {
display: block;
width: 100%;
}

article.artikel figure a:hover img {
box-shadow: 0 0 .5em rgba(0,0,0,.2);
}

article.artikel figcaption {
font-family: 'Sassoon';
margin: .5em 0;
}

ul.news,
ul.novis {
display: flex;
flex-flow: row wrap;
gap: 1em;
}

ul.news li {
flex: 0 1 calc(25% - (3em / 4));
min-width: 14em;
max-width: 30em;
}

ul.novis li {
/* MUSS FLEXIBEL FÜR VERSCHIEDENE ANZAHLEN WERDEN */
flex: 0 1 calc(25% - (3em / 4));
}

ul.news li.programm {
background: transparent;
}

ul.news li > a {
display: flex;
flex-flow: column nowrap;
width: 100%;
height: 100%;
padding: 1em;
color: black;
background-color: rgba(var(--r),.1);
cursor: pointer;
}

.aktuelles ul.news li > a {
background-color: white;
}

ul.novis li a {
display: block;
background-color: rgb(var(--r));
box-shadow: 0 0 1em rgba(0,0,0,.1);
}

ul.novis li a:hover {
box-shadow: 0 0 .5em rgba(0,0,0,.2);
}

ul.news li.programm > a {
align-items: center;
background-color: rgb(240,240,240);
}

ul.news li > a:hover {
color: white;
background-color: rgba(var(--r),.95);
}

ul.news li > a:hover h3 {
color: white;
}

ul.news li > a p:last-child,
ul.news li > a div.text:last-child {
margin: 0;
}

p.boden {
margin-top: auto;
}

ul.news li > a p.boden {
margin-top: auto;
text-align: center;
}

ul.novis li img {
display: block;
max-width: 100%;
opacity: 1;
}

ul.novis li > a:hover img {
opacity: .75;
}

ul.news li img.news {
max-width: 100%;
margin: 0 0 1em 0;
max-height: 9em;
object-fit: cover;
opacity: 1;
}

ul.news li.programm img {
display: block;
max-height: 16em;
max-width: 100%;
width: auto;
margin: 0 auto .75em auto;
opacity: 1;
}

ul.news li a:hover img {
opacity: .5;
}

ul.news li div.text {
padding: 1em;
}

article h2 {
font-family: 'Sassoon';
font-size: 2em;
line-height: 1.3em;
color: rgb(var(--r));
margin: 0 0 .5em -.05em;
}

.bestellung article h2 {
margin-top: 1em;
}

article h2 a {
color: rgb(var(--r));
border-bottom: .1em solid transparent;
}

article h2 a:hover {
color: rgb(var(--r));
border-bottom-color: rgb(var(--r));
}

article h2 a::after,
article li.alle a h2::after,
article.startbild a p:after {
font-family: 'Icons';
content: "\E804";
font-style: normal;
line-height: 1;
margin: 0 0 0 .35em;
color: transparent;
}

article h2 a:hover::after,
article li.alle a h2::after {
color: rgb(var(--r));
}

article.startbild a:hover p::after {
color: white;
}

article li.alle a h2 {
margin: auto 0;
}

article li.alle a:hover h2,
article li.alle a:hover h2::after {
color: white;
}

article h3 {
font-family: 'Sassoon';
font-size: 1.5em;
line-height: 1.2em;
color: rgb(var(--r));
margin: 1em 0 .5em -.05em;
}

article.buch h3 {
margin-top: 0;
}

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

article.tuete ul.tuete h3 {
font-size: 1.25em;
line-height: 1.2em;
}

article h3 span {
display: block;
font-size: .75em;
color: black;
}

article h3 a {
color: rgb(var(--r));
}

article h4 {
font-family: 'Sassoon';
font-size: 1.25em;
line-height: 1.2em;
margin: 1em 0 .5em -.05em;
}

article h4.downloads {
margin: 1em 0 .25em -.05em;
}

article h5 {
font-weight: bold;
margin: .5em 0 .5em 0;
}

article h5 {
font-weight: bold;
margin: .5em 0 .25em 0;
}

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

article.startnews h3 {
font-size: 1.25em;
margin: 0 0 .25em 0;
}

article p > a,
article :not(.obj) li > a,
article ul.obj li.text p a,
form.bestellung label a {
color: black;
box-shadow: 0 .2em 0 rgba(var(--r),.1);
}

article p > a:hover,
article :not(.obj) li > a:hover,
article ul.obj li.text p a:hover,
form.bestellung label a:hover {
color: rgb(var(--r));
box-shadow: 0 0 0 rgba(var(--r),0);
}

p.pubdate {
font-size: .75em;
color: rgba(0,0,0,.5)
}

article ul.downloads li {
margin: 0 0 .75em -.25em;
}

article ul.downloads li > a {
display: inline-flex;
box-shadow: none;
border-radius: 10em;
padding: .25em .35em .25em .25em;
}

article ul.downloads li > a:hover {
background: white;
}

span.dok {
display: inline-block;
vertical-align: baseline;
font-family: 'Sassoon';
text-transform: uppercase;
line-height: 1em;
color: white;
background: rgb(var(--r));
padding: .25em .5em .2em .5em;
border-radius: .75em;
margin: auto .5em auto 0;
}

div.daten > a {
display: block;
color: black;
width: 100%;
}

p.info {
font-family: 'Sassoon';
}

ul.buecher li figure,
ul.buecher li div.daten {
transition: all 200ms ease-out;
}

ul.buecher li.hover figure,
ul.buecher li.hover div.daten {
background: white;
box-shadow: 1em 1em 0 white, -1em -1em 0 white, -1em 1em 0 white, 1em -1em 0 white;
}

article.startnews p > a,
article.novis p > a,
article.startnews li > a,
article.novis li > a {
display: inline-flex;
vertical-align: baseline;
color: black;
box-shadow: none;
}

article.startnews p > a:hover,
article.novis p > a:hover,
article.startnews li > a:hover,
article.novis li > a:hover {
color: white;
box-shadow: initial;
}

article p,
article > ul:not(.obj), 
article > ol:not(.obj) {
margin: 0 0 .5em 0;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}

article > *:not(.obj) > li {
margin: 0 0 .35em 0;
}

article > *:not(.obj) > li {
padding-left: 1.5em;
text-indent: -1.5em;
}

article > ul:not(.obj) > li::before {
content: '» ';
display: block;
float: left;
width: 1.5em;
}

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

article > ol:not(.obj) > li::before {
counter-increment: liste;
content: counter(liste) ".";
display: block;
float: left;
width: 1.5em;
}

div.kasten {
max-width: 36em;
padding: 1em;
background: white;
}

div.weiter {
display: flex;
flex-flow: row wrap;
gap: 1em;
margin: 0 0 1em 0;
}

div.weiter a.right {
margin-left: auto;
}

.rot,
.error {
color: rgb(var(--r));
}

.knopf {
display: inline-block;
vertical-align: baseline;
font-weight: bold;
color: white;
background: rgb(var(--r));
line-height: 1;
padding: .3em .5em .5em .5em;
border-radius: .2em;
box-shadow: none;
cursor: pointer;
}

.knopf:hover {
color: rgb(var(--r));
background: rgba(var(--r),.2);
}

/* Bücher */

article.rand,
article.artikel {
padding: calc(var(--pad) * 2) 5vw;
}

article.buecher.buch {
display: flex;
flex-flow: row wrap;
gap: var(--pad);
width: fit-content;
margin: var(--pad) auto;
padding: 0 var(--pad);
}

article.buecher.buch p.zurueck,
article.aktuelles.artikel p.zurueck {
flex: 0 0 100%;
width: 100%;
}

article.buecher.buch div.daten {
display: flex;
flex-flow: column wrap;
flex: 0 1 calc(50% - var(--pad));
max-width: 36em;
}

article.buecher.buch div.daten form {
order: 100;
}

article.buecher h3 {
margin: 0;
}

ul.buecher {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(14em, 1fr));
gap: 2em 3em;
}

ul.tuete {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(18em, 1fr));
gap: 2em 3em;
}

ul.tuete {
padding: 0 0 2em 0;
border-bottom: .1em solid rgb(var(--r));
margin: 2em 0 3em 0;
}

ul.buecher li,
article.buch figure {
position: relative;
}

article.buecher figure {
aspect-ratio: 1 / 1;
display: flex;
align-items: end;
margin: 0 0 .75em 0;
}

article.buecher.buch figure {
flex: 0 1 50%;
max-width: 512px;
align-items: start;
}

article.buecher a.reinschauen {
display: inline-block;
position: absolute;
top: 0;
left: 0;
font-family: 'Sassoon';
color: white;
width: auto;
padding-bottom: .25em;
aspect-ratio: auto;
box-shadow: 0 0 .5em rgba(0,0,0,.1);
transform: translate(-.75em,-1em) rotate(-9deg);
z-index: 100;
}

article.buecher.buch a.reinschauen {
left: auto;
right: 0;
transform: translate(.75em,-1em) rotate(9deg);
}

article.buecher a.reinschauen:hover {
color: white;
}

article.buecher figure > a {
display: flex;
width: 100%;
aspect-ratio: 1 / 1;
align-items: end;
}

article.buecher.buch figure,
article.buecher.buch figure > a {
aspect-ratio: auto;
}

article.buecher.buch figure > a {
margin: 0;
}

article.buecher li img {
display: block;
max-height: 100%;
max-width: 100%;
box-shadow: 0 0 .5em rgba(0,0,0,.1);
margin: auto auto 0 0;
z-index: 10;
}

article.buecher.buch figure a:hover img {
box-shadow: 0 0 .75em rgba(0,0,0,.35);
}

article.buecher.buch figure img {
max-width: 100%;
box-shadow: 0 0 .5em rgba(0,0,0,.1);
}

article.buecher p.autor {
font-style: italic;
font-size: .875em;
line-height: 1.4em;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}

article.buecher fieldset,
article.tuete fieldset {
display: inline-block;
text-align: center;
padding: .25em;
background: white;
border-radius: .3em;
max-width: 512px;
margin: 0 0 1em 0;
}

article.tuete fieldset {
width: 100%;
max-width: 100%;
margin-top: 0;
}

fieldset input.anzahl {
font-family: 'Sassoon';
line-height: 1em;
padding: .25em 0 .1em 0;
text-align: center;
width: 2em;
margin: 0 .5em 0 0;
border-bottom: .1em solid rgba(var(--r),.5);
background: white;
}

fieldset.wasdrin input.anzahl {
border-bottom-color: rgba(var(--r),.75);
background: rgba(255,255,255,.5);
}

article.buecher fieldset input.anzahl:focus {
color: white;
background: rgba(var(--r),.8);
}

article.buecher fieldset input[type='submit'],
article.tuete fieldset input[type='submit'] {
width: 100%;
margin: .25em 0 0 0;
color: rgb(var(--r));
background: white;
border: .1em solid rgba(var(--r),.25);
}

article.buecher fieldset input[type='submit']:hover,
article.tuete fieldset input[type='submit']:hover {
color: white;
background: rgb(var(--r));
border-color: rgb(var(--r));
}

article.tuete fieldset p {
margin: .5em 0 .25em 0;
}

article.buecher li fieldset.wasdrin,
article.tuete li fieldset {
background: rgba(var(--r),.2);
}

article.buecher li a.mehr {
display: inline;
}

article.buecher li a.mehr::before {
color: rgb(var(--r));
}

article.buecher p.alter,
article.tuete p.alter,
article.bestellung p.alter {
display: inline-block;
float: right;
font-family: 'Sassoon';
font-size: .875em;
line-height: 1;
color: rgb(var(--r));
background: white;
padding: .2em .3em .1em .3em;
margin: .2em 0 .25em .25em;
border-radius: .2em;
}

article.bestellung,
article.einkaufstuete,
article.einkaufstuete,
article.buecher.buch {
min-height: calc(100vh - 16.75em);
align-content: flex-start;
}

article.buecher.buch p.alter {
margin: 0 auto .5em 0;
}

.summe p.alter {
background: rgba(var(--r),.05) !important;
}

article.tuete p.alter,
article.bestellung p.alter {
font-size: 1em;
}

article.bestellung p.alter {
float: none;
margin: 0;
}

ul.tuete li figure {
height: 5em;
float: left;
margin: 0 .75em .75em 0;
}

ul.tuete li figure img {
width: auto;
height: 100%;
}

ul.bestellung li {
display: flex;
flex-flow: row wrap;
gap: 0 1em;
border-bottom: .05em solid black;
padding: .5em 0;
margin: 0;
}

ul.bestellung li.summe {
border-bottom-width: .1em;
}

ul.bestellung li p:first-child {
padding: 0 .5em 0 0;
margin: 0 auto 0 0;
}

.versteckt {
display: none !important;
}

article blockquote {
font-size: 1.25em;
line-height: 1.45em;
font-style: italic;
padding: .25em .5em .45em .5em;
margin: .25em 0;
color: rgba(0,0,0,.9);
background: white;
border-radius: .2em;
}

article cite {
font-family: 'Sassoon';
color: rgb(var(--r));
margin: 0 0 .5em .5em;
}

article cite::before {
content: '— ';
}

/* Seitenvorschau */
html.vorschau {
overflow: hidden;
}

html.vorschau body {
padding: 16px;
}

.stf__block li {
box-shadow: 0 0 .5em rgba(0,0,0,.25);
}

.stf__item:not(:last-of-type) {
cursor: pointer;
}

li.--left:after {
position: absolute;
content: '' !important;
display: block;
width: 100%;
height: 100%;
top: 0;
right: 0;
background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 80%,rgba(0,0,0,.1) 100%);
}

ul.seitenvorschau {
margin: auto;
}

ul.seitenvorschau li img {
max-width: 100%;
max-height: 100%;
}
/* / Seitenvorschau */


/* Formular Bestellung */
form.bestellung {
padding: 1em;
background: white;
margin: 1em 0;
max-width: 64em;
}

form.bestellung fieldset {
display: flex;
flex-flow: row wrap;
gap: 1em;
margin: 0 0 2em 0;
}

form.bestellung fieldset:last-of-type {
margin: 0 0 .5em 0;
}

form.bestellung fieldset.abschicken {
gap: 0;
}

form.bestellung label {
flex: 0 0 100%;
display: flex;
flex-flow: column nowrap;
font-family: 'Sassoon';
padding: 0 0 1em 0;
}

fieldset label.halb {
flex: 0 0 calc(50% - .5em);
}

fieldset label.drittel {
flex: 0 0 calc(100% / 3 - 1em);
}

fieldset label.viertel {
flex: 0 0 calc(100% / 4 - .5em);
}

fieldset label.dreiviertel {
flex: 0 0 calc(100% / 4 * 3 - .5em);
}

form.bestellung fieldset label span {
display: block;
margin-top: auto;
color: black;
}

form.bestellung fieldset label.error span {
color: rgb(var(--r));
}

form.bestellung fieldset label span.required:after {
content: '*';
}

form.bestellung label input {
width: 100%;
padding: 0;
font-family: 'Sassoon';
font-size: 1.25em;
color: black;
background: transparent;
border-bottom: .1em solid black;
transition: all 200ms ease-out;
}

form.bestellung label input::placeholder {
color: inherit;
opacity: 0;
}

form.bestellung label input:placeholder-shown {
max-height: 1px;
}

form.bestellung label input:focus, 
form.bestellung label input:placeholder-shown:focus {
max-height: 2em;
padding: .25em .25em .1em .25em;
outline: none;
border-radius: 0;
-webkit-tap-highlight-color: transparent;
background: WhiteSmoke;
}

form.bestellung label.checkbox {
display: flex;
flex-flow: row nowrap;
}

form.bestellung label.checkbox.error {
background: rgba(var(--r),.1);
padding: .5em;
border-radius: .2em;
}

form.bestellung label.checkbox input[type="checkbox"] {
flex: 0 0 auto;
width: 1em;
height: 1em;
margin: auto .75em auto 0;
border: .1em solid black;
border-radius: .2em;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: transparent;
}

form.bestellung label.checkbox input[type="checkbox"]:checked {
background: white);
border: .3em solid rgb(var(--r));
}

form.bestellung label.checkbox span {
flex: 0 1 auto;
margin: .1em 0 0 0;
transition: all 200ms ease-out;
}

form.bestellung label.checkbox input[type="checkbox"]:focus + span, 
form.bestellung label.checkbox:focus input[type="checkbox"] + span {
padding: 0 .25em;
background: WhiteSmoke;
border-radius: .1em;
}

form.bestellung label.select {
position: relative;
}

form.bestellung label select {
display: block;
width: 100%;
padding: 0 2em 0 0;
font-family: 'Sassoon';
font-size: 1.25em;
line-height: 1em;
color: black;
background: transparent;
border: none;
border-bottom: .1em solid black;
border-radius: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
-ms-appearance: none;
transition: all 200ms ease-out;
}

form.bestellung label select option {
color: black;
}

form.bestellung label select:focus {
padding: .5em .25em .125em .25em;
outline: none;
-webkit-tap-highlight-color: transparent;
background: WhiteSmoke;
}

form.bestellung label select[value=''] {
max-height: 0;
}

form.bestellung label.select span {
margin: 0 0 .25em 0;
}

form.bestellung label.select:after {
content: '\F004';
font-family: 'Icons';
font-size: 1.25em;
line-height: 0;
display: block;
position: absolute;
top: 1.75em;
right: .05em;
pointer-events: none;
transition: all 200ms ease-out;
}

form.bestellung label.select:focus:after,
form.bestellung label.select:focus-within:after {
top: 2.25em;
right: .25em;
}

form.bestellung textarea {
font-size: 1.25em;
line-height: 1.4em;
background: WhiteSmoke;
padding: .5em;
width: 100%;
height: 5em;
}

form.bestellung input[type='submit'] {
margin-top: 2em;
}

/* / Formular Bestellung */



footer {
display: flex;
flex-flow: row wrap;
gap: calc(var(--pad) / 2) calc(var(--pad) * 2);
background: whitesmoke;
}

footer img {
display: block;
margin: 0 auto auto 0;
}

footer img.figur {
margin: 0 0 0 auto;
}

footer ul {
font-size: .875em;
line-height: 1.4em;
}

footer nav,
footer > ul {
margin: auto 0;
}

footer a {
color: black;
}

ul.social a::before {
display: inline-block;
font-family: 'Icons';
margin: 0 .5em 0 0;
}

a.facebook::before {content: '\F308';}
a.instagram::before {content: '\F16D';}




/*! Flickity v2.3.0 https://flickity.metafizzy.co */
.flickity-enabled{position:relative}.flickity-enabled:focus{outline:0}.flickity-viewport{overflow:hidden;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-button{position:absolute;background:hsla(0,0%,100%,.75);border:none;color:#333}.flickity-button:hover{background:#fff;cursor:pointer}.flickity-button:focus{outline:0;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:.6}.flickity-button:disabled{opacity:.3;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;opacity:.25;cursor:pointer}.flickity-page-dots .dot.is-selected{opacity:1}

/* FlickityBox */
div#fbox {
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 48px 0 32px 0;
background-color: rgba(250,250,250,.975);
z-index: 1000;
text-align: center;
}

div#fbox .flickity-viewport {
position: static;
margin: auto;
}

div#fbox ul {
display: flex;
max-width: 100%;
height: 100%;
}

div#fbox ul li {
display: flex;
width: 100%;
height: 100%;
}

.flickity-enabled div#fbox figure {
opacity: 0.2;
-webkit-transition: opacity 250ms ease-in;
-moz-transition: opacity 250ms ease-in;
transition: opacity 250ms ease-in;
}

div#fbox figure {
margin: auto;
}

div#fbox .is-selected figure {
opacity: 1;
}

div#fbox figure img {
margin: 16px;
display: inline-block;
box-shadow: 0 0 1em rgba(0,0,0,.25);
}

/* 
div#fbox .is-selected figure img {
box-shadow: 0 0 1em rgba(0,0,0,.4);
}
 */

div#fbox figure img {
max-height: calc(100vh - 128px);
max-width: calc(100vw - 64px);
}

div#fbox figcaption {
font-family: 'Sassoon';
color: black;
margin: 0 auto;
padding: .5em 0;
max-width: calc(100vw - 100px);
}

div#fbox .flickity-page-dots {
bottom: auto;
top: -32px;
text-align: left;
padding: 0 8px;
}

div#fbox .flickity-page-dots .dot {
background: rgba(var(--r),.4);
opacity: 1;
margin: 0 4px;
}

div#fbox .flickity-page-dots .dot.is-selected {
background: rgb(var(--r));
}

button.zu {
font-weight: bold;
-webkit-appearance: none;
-moz-appearance: none;
text-overflow: '';
border: none;
padding: 4px 8px;
color: rgb(var(--r));
background: transparent;
cursor: pointer;
border-radius: .2em;
}

button.zu:hover {
color: white;
background: rgb(var(--r));
}

div#fbox button.zu {
position: absolute;
top: 8px;
right: 8px;
z-index: 1001;
}

div#fbox.iframe figure {
height: 98%;
width: 100%;
}

div#fbox.iframe figure iframe {
height: 100%;
width: 100%;
}











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

  header,
  footer {
  padding: var(--pad);
  }
  
  nav.kat {
  padding: 0 var(--pad);
  }
  
  nav.subkat > ul {
  margin-top: 0;
  }
  
  article.rand {
  padding: var(--pad);
  }
  
  article.startbild {
  margin: calc((100vw - 1280px) / 2) auto 0 auto;
  }
  
  article.startnews,
  article.novis,
  article.artikel,
  footer {
  padding: var(--pad);
  }

}




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


  
  article.startbild {
  margin: 0 auto;
  }
  
  article.startbild p {
  font-size: 2.8125vw;
  }

  ul.news {
  flex-wrap: wrap;
  }
  
  ul.news li {
  flex: 0 1 calc(50% - .5em);
  max-width: 28em;
  }
  
  ul.news li.programm img {
  max-height: 12em;
  }

}




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

  :root {
  --pad: 1.5em;
  }

  header > * {
  font-size: 1.25em;
  line-height: 1.5em;
  }
  
  header h1 a span {
  margin: .3em 0 0 0;
  }
  
  header nav ul {
  margin: .05em 0 0 0;
  }
  
  header nav ul li a,
  header nav ul li form input,
  header a.tuete {
  padding: .25em .5em .05em .5em;
  }
  
  header a.tuete span.counter {
  padding: .2em .3em .1em .25em;
  }
  
  nav.kat > ul > li > a {
  font-size: 1em;
  }

}



/* ### Screens bis 800px ### */
@media only screen and (max-width: 800px) {
  
  header {
  padding: calc(var(--pad) / 2) var(--pad) 0 var(--pad);
  }
  
  header h1 {
  order: 1;
  }
  
  header nav {
  width: calc(100% + 1em);
  margin: .5em -.5em 0 -.5em;
  order: 3;
  }
  
  header a.tuete {
  margin-top: -.5em;
  margin-left: auto;
  order: 2;
  }
  
  header li.suche {
  margin-left: auto;
  }
  
  article.startbild p {
  font-size: 1.5em;
  }
  
  ul.novis {
  flex-wrap: wrap;
  }
  
  ul.novis li {
  flex: 1 1 8em;
  }
  
  article.artikel div.text,
  article.artikel aside {
  flex-basis: 100%;
  }
  
  article.buecher.buch {
  gap: 1em;
  }
  
  article.buecher.buch figure,
  article.buecher.buch div.daten {
  flex-basis: 100%;
  }
  
  article.buecher.buch div.daten form {
  order: 0;
  }

}




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

  nav.kat > ul > li > a, 
  nav.kat > ul > li > span {
  padding: .25em .3em .1em .3em;
  }

  article.startbild p {
  bottom: auto;
  top: calc(var(--pad) * .75);
  left: calc(var(--pad) * .75);
  padding-right: calc(var(--pad) * .75);
  }
  
  article.startbild a p::after {
  color: white;
  }

  ul.news li {
  flex: 0 1 100%;
  max-width: 100%;
  }

}





/* ### Screens bis 480px ### */
@media only screen and (max-width: 480px) {
  
  :root {
  --pad: 1em;
  }
  
  header > * {
  font-size: 1.2em;
  }
  
  header nav {
  margin-top: .5em;
  }
  
  header li.suche {
  margin-left: 0;
  }
  
  header a.tuete img {
  height: 2.5em;
  }
  
  fieldset label.halb,
  fieldset label.viertel,
  fieldset label.dreiviertel {
  flex-basis: 100%;
  }
  
  footer {
  flex: column nowrap;
  gap: calc(var(--pad) * 2);
  }
  
  footer > * {
  margin-right: auto;
  }
  
  footer img.figur {
  margin-left: 0;
  }

}






/* ### Screens bis 400px ### */
@media only screen and (max-width: 400px) {
  
  header {
  padding: 0 calc(var(--pad) / 1.5);
  }
  
  header h1 {
  margin: auto 0;
  }
  
  header h1 a svg {
  margin: .25em 0;
  }

  header h1 a span {
  display: none;
  }
  
  header nav {
  flex: 1 1 calc(100% - 76px);
  width: auto;
  margin: 0;
  }
  
  header.tuete nav {
  flex: 1 1 calc(100% - 140px);
  order: 2;
  }
  
  header nav ul li a, 
  header nav ul li form input {
  padding: 0 .35em;
  }
  
  header li.suche form input {
  background-position: top .175em right .25em;
  }

  header a.tuete {
  margin: 0 0 auto 0;
  order: 3;
  }  
  
  
}
