.mod_visitors .invisible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    float: left;
	width:0px;
	height:0px;
}
/* reset  */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {margin:0; padding:0; border:0; font-size:100%; font:inherit; vertical-align:baseline;}
article,aside,footer,header,main,nav,section,figure {display:block;}
body {line-height:1;}
ol,ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:''; content:none;}
table {border-collapse:collapse; border-spacing:0;}
* {box-sizing:border-box;}

/* encode-sans-100 - latin */
@font-face {
  font-family:'Encode Sans';
  font-style:normal;
  font-weight:100;
  src:url('../../files/fonts/encode-sans-v19-latin-100.woff2') format('woff2');
}
/* encode-sans-200 - latin */
@font-face {
  font-family:'Encode Sans';
  font-style:normal;
  font-weight:200;
  src:url('../../files/fonts/encode-sans-v19-latin-200.woff2') format('woff2');
}
/* encode-sans-300 - latin */
@font-face {
  font-family:'Encode Sans';
  font-style:normal;
  font-weight:300;
  src:url('../../files/fonts/encode-sans-v19-latin-300.woff2') format('woff2');
}
/* encode-sans-regular - latin */
@font-face {
  font-family:'Encode Sans';
  font-style:normal;
  font-weight:400;
  src:url('../../files/fonts/encode-sans-v19-latin-regular.woff2') format('woff2');
}
/* encode-sans-500 - latin */
@font-face {
  font-family:'Encode Sans';
  font-style:normal;
  font-weight:500;
  src:url('../../files/fonts/encode-sans-v19-latin-500.woff2') format('woff2');
}
/* encode-sans-600 - latin */
@font-face {

  font-family:'Encode Sans';
  font-style:normal;
  font-weight:600;
  src:url('../../files/fonts/encode-sans-v19-latin-600.woff2') format('woff2');
}
/* encode-sans-700 - latin */
@font-face {
  font-family:'Encode Sans';
  font-style:normal;
  font-weight:700;
  src:url('../../files/fonts/encode-sans-v19-latin-700.woff2') format('woff2');
}
/* encode-sans-800 - latin */
@font-face {
  font-family:'Encode Sans';
  font-style:normal;
  font-weight:800;
  src:url('../../files/fonts/encode-sans-v19-latin-800.woff2') format('woff2');
}
/* encode-sans-900 - latin */
@font-face {
  font-family:'Encode Sans';
  font-style:normal;
  font-weight:900;
  src:url('../../files/fonts/encode-sans-v19-latin-900.woff2') format('woff2');
}



:root {
	--std-color:#666;
	--dark:#000;	
	--footer-col:#fff;
	--link-color:#c30000;

	--h1:#c30000;
	--h2:#666;

	--header-border:#ccc;
	--nav-link-color:#767676;
	--nav-active-color:#c30000;
	--mobile-nav-bg:rgb(0 0 0 / 55%);
	--mobile-nav-ul-bg:#f6f6f6;	
	--mobile-nav-link-color:#444;
	--footer-nav-link-color:#fff;

	--std-bg-col:#fff;
	--img-bg-col:#f1f1f1;
	--img-border-col:#ddd;
	--footer-bg-col:#555;
	--footer-bg-col:#666;

	--listview-link-col:#fff;
	--listview-link-bg:#666;
	--listview-link-bg-hover:#222;
	--info-layer-border:#ccc;
	--preview-no-detail-bg:#f1f1f1;
	--pagination-active-col:#000;
	--pagination-active-bg:#fff;

	--form-bg:#f5f5f5;
	--button-col:#fff;
	--button-bg:#666;
	--form-element-border:#999;
}


html {height:100%; min-width:320px;}
body {height:100%; font-family:'Encode Sans', sans-serif; font-weight:400; font-size:1.125em; line-height:135%; margin:0; padding:0; color:var(--std-color); background:var(--std-bg-col); /* container-type:inline-size; */}

/* hyphens */
#main p, #main li, #main dl {-webkit-hyphens:auto; -webkit-hyphenate-limit-before:5; -webkit-hyphenate-limit-after:3; hyphens:auto; hyphenate-limit-chars:9 5 3; hyphenate-limit-lines:2; }

@media screen and (max-width:420px)
{
	#main * {overflow-wrap:break-word;}   
	#main h1, #main h2, #main h3, #main h4 {-webkit-hyphens:auto; -webkit-hyphenate-limit-before:5; -webkit-hyphenate-limit-after:3; hyphens:auto; hyphenate-limit-chars:7 4 3; hyphenate-limit-lines:2;} 
}

#main .no-hyphens {-webkit-hyphens:none; hyphens:none;}

.skip {position:absolute; display:block; top:-10em; width:50%; padding:0.5em; font-size:1em; font-weight:500; text-align:center; text-decoration:none; letter-spacing:0.05em; z-index:999; text-decoration:none; border:1px solid var(--std-color); border-radius:0.25em; color:var(--std-color);background:var(--std-bg-col);}
.skip:focus {top:1.0em; left:25%; outline:none; text-decoration:none;}

#wrapper {display:flex; flex-direction:column; width:100%; min-height:100%; margin:0 auto;}

div#container {flex:1;}

#header {position:relative; width:100%; margin:0 auto; border-bottom:1px solid var(--header-border);}
#footer {position:relative; clear:both; width:100%; margin:0 auto 0 0; padding:1.5em 0 1.25em 0; background:var(--footer-bg-col);}


#footer .inside {position:relative; display:flex; flex-direction:row; justify-content:space-between; align-items:center; width:100%; max-width:1280px; margin:0 auto; padding:0 20px;}

h1 {margin:0 0 0.85em 0; margin:0 0 0.5em 0; color:var(--h1); font-weight:300; font-size:2.3em; line-height:120%;}
h2 {margin:0 0 0.75em 0; padding:1em 0 0 0; color:var(--h2); font-size:1.6em; font-weight:normal; line-height:120%;}
h1 + div > h2:first-child, h1 + h2 {margin-top:-1em;}
.nur-h1 h1 {margin:0 0 2.425em 0;}
.nur-h1 h1 + div > h2 {margin:0 0 1.25em 0;}

.content-text +  h2, p + h2 {padding-top:1.25em;}
h3 {margin:0 0 1.25em 0; font-weight:600;}
.content-text +  h3, p + h3 {padding-top:0.75em;}
h4 {margin:0em 0; font-weight:400;}
h5,h6 {margin:0 0 1.25em 0;}
p {margin:0 0 1em 0;}
p.ta-r {text-align:right;}
p.smaller{font-size:90%;}

figure {margin:0;}
img {display:block; max-width:100%; height:auto;}
figcaption{padding:0.45em 0.25em 0 0.25em; font-size:89%; line-height:130%;}

dl {display:grid; grid-template-columns:15em auto; column-gap:0; font-size:0.86363636em; border-bottom:1px solid var(--std-color);}
dt {display:block; padding:0.35em; border-top:1px solid var(--std-color);}
dd {display:block; margin:0; padding:0.35em; border-top:1px solid var(--std-color);}
dd *:last-child {margin-bottom:0;}

ul,ol {margin:0;}
ul.no-bullets {list-style-type:none; margin:0 0 0 0; padding:0;}
ul li {margin:0 0 1.25em 0;}


#main ul {margin:0 0 1em 0;}
#main li {margin:0 0 0 1.2em;}
#main ul li:before {content:""; position:absolute; width:7px; height:7px; margin:0.5em 0 0 -1.125em; border-radius:50%; background:var(--std-color);}
#main ul ul {margin:0.35em 0 1.5em 0;}
#main ul ul li {margin:0 0 0.175em 1.25em;}
#main ul ul li:before {content:"– "; position:absolute; margin:0 0 0 -1.25em; color:var(--std-color); width:1em; height:1em; background:none;}

button {font-family:inherit;font-weight:inherit;outline:none;}
button:focus-visible { outline:1px solid var(--std-color); outline-offset:0.25em; border-radius:0.125em;}

strong, .fett {font-weight:600;}
.uppercase {text-transform:uppercase;}

.invisible, .sr-only, #sprach-nav span span {position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); margin:-1px; padding:0; border:0;}

@media screen and (max-width:800px)
{
    h1 {margin:0 0 0.5em 0; font-size:2.1em;}
    h2 {margin:0 0 0.5em 0; font-size:1.4em;}
}

nav ul {list-style-type:none; margin:0; padding:0;}
nav li {margin:0; padding:0 0.75em 0 0; float:left;}
#main nav li:before {content:none;}
nav > button + ul:after, #footer nav:after {content:""; clear:both; position:absolute; display:table; height:0; overflow:hidden;}

#header .inside {display:flex; flex-direction:row; align-items:center; justify-content:space-between; max-width:1280px; margin:0 auto; padding:30px 20px 24px 20px;}

#logo {width:350px; min-width:304px; vertical-align:middle; padding:0 20px 0 0;}
#logo a {position:relative; text-decoration:none;}
#logo a:focus-visible {outline:none;}
#logo a img {transition:transform 150ms ease;}
#logo a:focus-visible img, #logo a:hover img {transform:scale(1.025);}
#logo a:focus-visible img {outline:1px solid var(--std-color); outline-offset:0.25em; border-radius:0.125em;}

header nav a, header nav strong {color:var(--nav-link-color); text-decoration:none;}
header nav ul li {font-size:1rem; font-weight:500; padding:0;}

#header nav ul {display:block; float:right; text-align:left;}
#header nav a {text-decoration:none; transition:color .75s ease; text-decoration:underline; text-decoration-color:transparent; text-decoration-thickness:1px; text-underline-offset:0.25em; transition:text-decoration-color .75s ease;}
#header nav a:focus-visible {outline:1px solid var(--std-color); outline-offset:0.1em; border-radius:0.125em;}
#header nav a:focus, #header nav a:hover {color:var(--std-color); text-decoration-color:inherit;}
#header nav .trail > a {color:var(--nav-active-color);}
#header nav .active strong {font-weight:600; color:var(--nav-active-color); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:0.25em;}

#header nav ul li { float:left; position:relative;}
#header nav ul li > a, #header nav ul li > span, #header nav ul li > strong {display:inline-block; margin:0 0 0 1.75em; padding:0; line-height:1.2;}
#header nav ul li ul {position:absolute; right:0; width:430px; height:auto; top:1.8533em; z-index:99; background:var(--std-bg-col); overflow:hidden; padding:0; transition:all .25s ease;}

#header nav ul > li.open > ul {display:block;}

#header nav ul li ul.level_3 {position:static; left:0; z-index:99; padding:0; border:0; transition:all .25s ease;}
#header nav ul ul li {display:block; float:none;}
#header nav ul ul li > a, #header nav ul ul li > strong {display:inline-block; margin:0; padding:0.5em 3em 0.25em 1em;}
#header nav ul ul ul li > a, #header nav ul ul ul li > strong { display:block; padding:1.0em 1.75em 0.65em 1.75em;}
#header nav ul li.submenu  {padding-right:48px;}
#header nav ul li.submenu li.submenu {padding-right:58px;}
#header nav ul  li.submenu button {position:absolute; right:0.125em; top:0;}

#header nav ul ul {float:none; display:none;}
#header nav ul li ul li.active > ul, #header nav ul li ul li.trail > ul {display:block; height:auto;}
#header nav ul li ul li.trail > a, #header nav ul li ul li strong {font-weight:600;}
#header nav button {position:relative; width:32px; height:36px; margin:0 auto; padding:0; cursor:pointer; display:none; background:none; border:none;}
#header nav button::-moz-focus-inner {border:0;}
#toggle:focus-visible {outline:1px solid var(--std-color); outline-offset:0.5em; border-radius:0.125em;}

#header nav button span.top-bar, #header nav button span.middle-bar, #header nav button span.bottom-bar {position:absolute; top:9px; width:32px; height:2px; background:var(--std-color); left:0; right:auto;}
#header nav button:focus-visible span, #header nav button:hover span {margin-left:-3px; width:38px;}
#header nav button span.middle-bar {top:17px;}
#header nav button span.bottom-bar {top:25px;}
#header nav button span.menu {border:0; width:1px; height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute;}

#toggle {width:3.5em;}
#toggle span {position:absolute; top:0; right:0; width:36px; height:4px; transition:width 0.25s ease,margin 0.25s ease;}
#toggle .menu {border:0; width:1px; height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute;}
#toggle span.top-bar{top:10px; transition:width 0.25s ease, margin 0.25s ease,top 175ms ease .12s,transform 175ms cubic-bezier(.55,.055,.675,.19);}
#toggle span.middle-bar{transition:width 0.25s ease, margin 0.25s ease,opacity 175ms ease .12s; opacity:1;}
#toggle span.bottom-bar{transition:width 0.25s ease, margin 0.25s ease,top 175ms ease .12s,transform 175ms cubic-bezier(.55,.055,.675,.19);}
.show-mobile-nav #toggle span.top-bar {top:15px; transition:top 175ms ease,width 0.25s ease, margin 0.25s ease, transform 250ms cubic-bezier(.215,.61,.355,1) .12s; transform:rotate(45deg)}
.show-mobile-nav #toggle span.middle-bar{ top:20px; transition:opacity 75ms ease 0s; opacity:0}
.show-mobile-nav #toggle span.bottom-bar {top:15px; transition:top 175ms ease, width 0.25s ease, margin 0.25s ease, transform 250ms cubic-bezier(.215,.61,.355,1) .12s; transform:rotate(-45deg);}



@media screen and (max-width:920px)
{
	#logo {width:70%; padding:0 14px 0 0;}
	#header .inside {padding:18px 20px 14px 20px}
	#header nav button {display:block;}	
	#header nav > button + ul {display:none; width:100%; position:static;}
    body.show-mobile-nav {position:fixed; width:100%; overflow-y:scroll; display:block;}
    body.show-mobile-nav #header nav button div.top-bar {transform:rotate(45deg); top:7px;}
    body.show-mobile-nav #header nav button div.middle-bar {opacity:0;}
    body.show-mobile-nav #header nav button div.bottom-bar {transform:rotate(-45deg); top:7px;}
    body.show-mobile-nav #header .inside {position:relative;}
    body.show-mobile-nav #header #haupt-nav {display:block; padding:0;}
    body.show-mobile-nav #header nav a:focus-visible {outline:1px solid var(--std-color); border-radius:0.125em;}
    body.show-mobile-nav #header nav ul > li.open > ul {position:static; width:auto;}
    #header nav ul li ul {position:static; display:none; width:auto; overflow:hidden;}
    #header nav ul li.trail > ul, #header nav ul li.active > ul {position:static; display:block; width:auto; height:auto;}	
    body.show-mobile-nav #header #haupt-nav > ul {position:fixed; top:222px; left:0; bottom:0; z-index:9999; width:100%; overflow:hidden; overflow-y:auto; padding:0; font-size:1.35rem; background:var(--mobile-nav-bg);}
	body.show-mobile-nav #header #haupt-nav ul li {display:block; position:relative; float:none; min-width:0; margin:0; padding:0.25em 20px;}
	body.show-mobile-nav #header #haupt-nav > ul > li {display:table; width:100%;background:var(--mobile-nav-ul-bg);}

    body.show-mobile-nav #header nav a, header nav strong {color:var(--mobile-nav-link-color);}
    body.show-mobile-nav #header nav strong, body.show-mobile-nav #header nav .trail > a {color:var(--nav-active-color); font-weight:600;}
    body.show-mobile-nav #header #haupt-nav ul li:first-child {padding-top:2em;}	
    body.show-mobile-nav #header #haupt-nav ul li:last-child {padding-bottom:2em;}	

    #header nav ul.level_1 li > a, #header nav ul.level_1 li > strong {line-height:1;}
	body.show-mobile-nav #header #haupt-nav > ul > li > a, body.show-mobile-nav #header #haupt-nav > ul > li > strong {margin:0.335em 0 0.2em 0.65em;}
	body.show-mobile-nav #header #haupt-nav ul li ul li:last-child {border-bottom:none;}
    body.show-mobile-nav #header nav ul ul ul li {font-size:85%;}
    body.show-mobile-nav #header nav ul ul li > a, body.show-mobile-nav #header nav ul ul li > strong {padding:0.75em 1.75em 0.4em 1em;}
    body.show-mobile-nav #header nav ul ul ul li > a, body.show-mobile-nav #header nav ul ul ul li > strong {padding:1.0em 1.75em 0.65em 2em;}
}

@media screen and (max-width:480px)
{
    #logo {width:83%; min-width:0; max-width:304px;}
}

#footer nav {font-size:1rem; font-weight:500;}
#footer a {color:var(--footer-nav-link-color); text-decoration:none;}
#footer nav strong {font-weight:600; color:var(--footer-nav-link-color);text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:0.25em;}
#footer a {text-decoration:underline; text-decoration-color:transparent; text-decoration-thickness:1px; text-underline-offset:0.25em; transition:text-decoration-color .75s ease;}

#footer nav a, #footer nav strong {margin:0 1.75em 0 0;}
#footer a:focus,#footer a:hover {text-decoration-color:inherit; outline:none;}
#footer a:focus-visible {outline:1px solid var(--footer-nav-link-color); outline-offset:0.2em; border-radius:0.125em;}
#social-media a {width:32px; height:32px; margin:0 0 0 12px; background-size:32px; border:none !important; transition:transform 0.25s ease;}
a.instagram {width:26px; height:26px; display:inline-block; 
background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M16 0c-4.347 0-4.889 0.020-6.596 0.096-1.704 0.080-2.864 0.348-3.884 0.744-1.052 0.408-1.945 0.956-2.835 1.845s-1.439 1.781-1.845 2.835c-0.396 1.020-0.665 2.18-0.744 3.884-0.080 1.707-0.096 2.249-0.096 6.596s0.020 4.889 0.096 6.596c0.080 1.703 0.348 2.864 0.744 3.884 0.408 1.051 0.956 1.945 1.845 2.835 0.889 0.888 1.781 1.439 2.835 1.845 1.021 0.395 2.181 0.665 3.884 0.744 1.707 0.080 2.249 0.096 6.596 0.096s4.889-0.020 6.596-0.096c1.703-0.080 2.864-0.349 3.884-0.744 1.051-0.408 1.945-0.957 2.835-1.845 0.888-0.889 1.439-1.78 1.845-2.835 0.395-1.020 0.665-2.181 0.744-3.884 0.080-1.707 0.096-2.249 0.096-6.596s-0.020-4.889-0.096-6.596c-0.080-1.703-0.349-2.865-0.744-3.884-0.408-1.052-0.957-1.945-1.845-2.835-0.889-0.889-1.78-1.439-2.835-1.845-1.020-0.396-2.181-0.665-3.884-0.744-1.707-0.080-2.249-0.096-6.596-0.096zM16 2.88c4.271 0 4.78 0.021 6.467 0.095 1.56 0.073 2.407 0.332 2.969 0.553 0.749 0.289 1.28 0.636 1.843 1.195 0.559 0.56 0.905 1.092 1.195 1.841 0.219 0.563 0.48 1.409 0.551 2.969 0.076 1.688 0.093 2.195 0.093 6.467s-0.020 4.78-0.099 6.467c-0.081 1.56-0.341 2.407-0.561 2.969-0.299 0.749-0.639 1.28-1.199 1.843-0.559 0.559-1.099 0.905-1.84 1.195-0.56 0.219-1.42 0.48-2.98 0.551-1.699 0.076-2.199 0.093-6.479 0.093-4.281 0-4.781-0.020-6.479-0.099-1.561-0.081-2.421-0.341-2.981-0.561-0.759-0.299-1.28-0.639-1.839-1.199-0.561-0.559-0.92-1.099-1.2-1.84-0.22-0.56-0.479-1.42-0.56-2.98-0.060-1.68-0.081-2.199-0.081-6.459 0-4.261 0.021-4.781 0.081-6.481 0.081-1.56 0.34-2.419 0.56-2.979 0.28-0.76 0.639-1.28 1.2-1.841 0.559-0.559 1.080-0.919 1.839-1.197 0.56-0.221 1.401-0.481 2.961-0.561 1.7-0.060 2.2-0.080 6.479-0.080zM16 7.784c-4.54 0-8.216 3.68-8.216 8.216 0 4.54 3.68 8.216 8.216 8.216 4.54 0 8.216-3.68 8.216-8.216 0-4.54-3.68-8.216-8.216-8.216zM16 21.333c-2.947 0-5.333-2.387-5.333-5.333s2.387-5.333 5.333-5.333 5.333 2.387 5.333 5.333-2.387 5.333-5.333 5.333zM26.461 7.46c0 1.060-0.861 1.92-1.92 1.92-1.060 0-1.92-0.861-1.92-1.92s0.861-1.919 1.92-1.919c1.057-0.001 1.92 0.86 1.92 1.919z'%3E%3C/path%3E%3C/svg%3E"); 
background-size:26px;}
#social-media .instagram:focus-within, #social-media a.instagram:hover {transform: scale(1.075);}

@media screen and (max-width:540px) {
    #footer nav {display:block; clear:both;}
    #footer nav a, #footer nav strong {margin:0 0.5em 0 0;}      
}

#main {max-width:1280px; margin:0 auto; padding:2.5em 0; /*container-type:inline-size;*/}

@media screen and (max-width: 800px) {
    #main {padding:1.5em 0;}
}

#main .inside {padding:0 20px; overflow-x:hidden;}
#main a {color:var(--link-color); font-weight:600; text-decoration:underline; text-decoration-color:transparent; text-decoration-thickness:2px; text-underline-offset:0.15em; transition:text-decoration-color .75s ease;}
#main a:focus,#main a:hover {text-decoration-color:inherit; outline:none;}
#main a:focus-visible {outline:1px solid var(--std-color); outline-offset:0.2em; border-radius:0.125em;}
#main a.button-style {width:auto; display:table; margin:0 auto; padding:0.5em 1em 0.2em 1em; color:var(--std-bg-col); text-align:center; text-decoration:none; background:var(--link-color); border:2px solid var(--link-color); transition:background 0.25s ease-in-out .125s, color 0.25s ease-in-out .125s; 
    transition:background 0.35s ease-in-out .125s, color 0.35s ease-in-out .125s;}
#main a.button-style:focus,#main a.button-style:hover {background:var(--std-bg-col); outline:none; color:var(--link-color);}

.content-text, .ce_text {max-width:920px;}
.content-text.kontakt {max-width:840px;}
.content-text.wide {max-width:none;}
.content-text img, .ce_text img {border:1px solid #ddd;}
.js .content-text img, .js .ce_text img {opacity:0; transition:opacity .65s ease;}
.js .content-text.active img, .js .ce_text.active img {opacity:1;}

.content-text.flex  {max-width:none;}
.content-text:after {content:""; clear:both; position:relative; display:table; height:0;}
    

/* Seitenteaser */
.ce_teaser_container.ivp > .inside > .ce_teaser_wrapper {opacity:1; top:100px; position:relative;}
#main .ce_page_teasers ul {display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-evenly; flex-direction:row; align-content:center; position:relative; margin:0 -1em 0 -1em;}
#main .ce_page_teasers ul li {display:block; margin:0 0 1.75em 0; width:33.333%; padding:1em;}
.ce_page_teasers img {border:1px solid var(--img-border-col);}
.js .ce_page_teasers li img {opacity:0; transition:opacity .65s ease;}
.js .ce_page_teasers li.active img {opacity:1;}

.page_teaser div {padding:0.5em; text-align:center;}
#main .ce_page_teasers .page_teaser a {font-size:1.2em; font-weight:400; line-height:135%;}

@media screen and (max-width:840px)
{
    #main .ce_page_teasers ul li {width:50%; padding:1em;}
}

@media screen and (max-width:480px)
{
    #main .ce_page_teasers ul li {width:100%;}
}



/* Blätter-Nav */
.mod_booknav {clear:both; max-width:1120px; margin:3.25em auto 0 auto; padding:0 20px;}
.mod_booknav.block li.previous {text-align:left; float:left; padding:0 2em 1em 0;}
.mod_booknav.block li.next {text-align:right; float:right; padding:0 0 0 2em;}
.mod_booknav.block li.previous a {padding:0 0 0 1.5em;}
.mod_booknav.block li.next a {padding:0 1.5em 0 0;}
.mod_booknav a {position:relative; display:block; padding:0; transition:background 1.35s ease-in-out .125s, border 0.35s ease-in-out .125s !important;}
.mod_booknav .next a:after {margin:0 0 0 1em; transform:rotate(180deg); left:auto; right:-0.2em;}
.mod_booknav a:focus-visible:before, .mod_booknav a:hover:before, .mod_booknav a:focus-visible:after, .mod_booknav a:hover:after {background-size:1em; background-position:-2px 50%;}
#main .mod_booknav a {color:var(--booknav-link-color);}
#main .mod_booknav a:focus-visible {outline:1px solid var(--std-color); outline-offset:0.25em; border-radius:3px;}



/* News */
.mod_newslist .inner {display:flex; flex-wrap:wrap; justify-content:center;  margin:0 -1em;}
.mod_newslist .inner > div {width:33.333%; padding:1em; margin:0 0 1.5em ;}
.mod_newslist .inner img {margin:0 0 0.85em 0;}
.js .layout_latest img {opacity:0; transition:opacity .65s ease;}
.js .layout_latest.active img {opacity:1;}
.mod_newslist .inner h2 {padding:0;}

@media screen and (max-width:840px)
{
    .mod_newslist .inner > div {width:50%;}
}

@media screen and (max-width:600px)
{
    .mod_newslist .inner > div {width:100%;}
}

.mod_newsreader .ce_text, .mod_newsreader .layout_full .ce_text figure {margin-bottom:1.5em;}
.mod_newsreader figure.float_left {margin-bottom:1.5em;}
.mod_newsreader .back {clear:both;}

/* Galerie */
.ce_gallery ul {display:flex; flex-direction:row; flex-wrap:wrap; width:100%;}
#main .ce_gallery ul li {display:flex; flex-direction:row; align-items:center; justify-content:center; width:33.333%; margin:0; padding:0.5em; background:#f1f1f1; border:1px solid #fff;}
#main .ce_gallery ul li:before {content:none;}
#main .ce_gallery ul li figure {margin:1.5em;}

@media screen and (max-width:840px)
{
    #main .ce_gallery ul li {width:50%;}
}

@media screen and (max-width:600px)
{
    #main .ce_gallery ul li {width:100%;}
}


.cm_master .item-row-1, .cm_master .item-row-2 {display:flex; justify-content:space-between; width:100%; margin:0 0 4em 0;}
.cm_master .item-row-1{margin:0 0 4em 0;}
.cm_master .item-row-2 {margin:0 0 2em 0;}
.cm_master .item-row-1 > div, .cm_master .item-row-2 > div {width:50%;}
.cm_master .img {width:auto; display:flex; justify-content:flex-end; padding-right:1em;}
.cm_master .img img {max-height:92vH; width:auto;}
.cm_master .infos {display:flex; flex-direction:column; justify-content:flex-end; padding-left:1em;}
.cm_master .infos h1 {margin:0 0 0.5em 0;}
.cm_master .infos #preis {margin:0 0 1.4em 0;}
.cm_master #preview-outer {overflow:hidden; padding-right:1em;}
.cm_master .detail {padding-left:1em;}
.cm_master + .back {padding:2em 0 0 0;}

.js .cm_master .item-row-1 img {opacity:0; transition:opacity .65s ease;}
.js .cm_master .item-row-1.active img {opacity:1;}
.js .cm_master .item-row-2 img {opacity:0; transition:opacity .65s ease;}
.js .cm_master .item-row-2.active img {opacity:1;}



/* Preview */
#preview-outer.no-detail {width:100%; max-width:none; padding:0; border:none; background:var(--preview-no-detail-bg);}
#preview {position:relative; display:flex; justify-content:center; width:auto; margin:0 auto;}
#preview-outer.no-detail #preview {width:50%;}
#background {width:100%;}
#image {position:absolute; width:100%; display:flex; justify-content:center; align-items:center; top:0; bottom:32%;}
#image.kleinformat {bottom:18%;}
#image.mittelformat {bottom:21%;}
#image img {margin-left:10%; box-shadow:2px 2px 4px 0px #666;}



@media screen and (max-width:640px)
{
    .cm_master .item-row-1 {display:block; width:100%; margin:0 0 2em 0;}
    .cm_master .item-row-2 {display:block; width:100%;}
    .cm_master .item-row-1 > div, .cm_master .item-row-2 > div, #preview-outer.no-detail #preview {width:100%;}
    .cm_master .img {display:block; padding:0;}
    .cm_master .img img {width:100%; max-height:none;}
    .cm_master .infos {display:block; padding:1em 0 0 0;}
    .cm_master #preview-outer {margin:0 0 2em 0; padding:0;}    
    .cm_master .detail {justify-content:flex-start; padding:0;}
}





.media--left figure, .mod_newsreader .layout_full .ce_text figure {float:left; margin:0 1.5em 0.35em 0;
    max-width:50vW;}
.mod_newsreader .layout_full .ce_text figure {margin-bottom:1.5em;}    

.flex.content-text {display:flex; flex-wrap:nowrap; flex-direction:row; justify-content:flex-start; width:100%;}
.flex.content-text figure {margin:0 0 1.2em 1.5em; display:flex;}
.flex.content-text picture {display:flex;}
.flex.content-text img {object-fit:cover; object-position:50% 50%; width:100%; height:100%;}
.flex.content-text > div {width:50%;}

@media screen and (max-width:720px)
{
   .flex.content-text {display:block;}
   .flex.content-text > div {width:100%;}
   .media--left figure {float:none; width:100%; max-width:none; background:var(--img-bg-col);}
   .media--left figure img {margin:0 auto 1.2em auto;}
   .flex.content-text figure  {width:100%; margin:0; background:var(--img-bg-col);}
   .flex.content-text picture {margin:0 auto;}   
}



/* Werke Listenansicht */
.content-text + .ce_listview {margin:-1em 0 0 0;}
.ce_listview .inner {display:flex; flex-wrap:wrap; flex-direction:row; justify-content:center; align-items:stretch; margin:1.5em -8px; padding:4px;}
.ce_listview .no-result {margin:1.5em 20px; text-align:center;}    
.ce_listview .list-item {width:32.333%; margin:0.5%; display:flex; flex-wrap:nowrap; justify-content:center; align-items: center; transition:opacity .65s ease; background:#f6f6f6;}
.js .ce_listview .list-item {opacity:0;}
.js .ce_listview .list-item.active {opacity:1;}
.ce_listview .list-item div.titel {margin:0 0 0.5em 0; padding:0 0.15em; color:var(--h1); font-weight:300; font-size:2.3em; line-height:120%; hyphens:auto; overflow-wrap:break-word;}
.ce_listview .list-item .img {position:relative; margin:30px;}
.ce_listview .list-item.mittelformat .img {padding:7.5%;}
.ce_listview .list-item.kleinformat .img {padding:15%;}
.ce_listview .list-item .img img {width:auto; max-height:33vW; margin:0 auto;}
.ce_listview .list-item .info-layer {position:absolute; top:0; bottom:0; left:0; right:0; display:flex; flex-direction:column; justify-content:center; width:auto;height:auto;overflow:hidden;text-align:center;background:var(--std-bg-col); border:1px solid var(--info-layer-border); opacity:0; transition:all .4s ease;}

@media screen and (max-width:1096px) and (min-width:840px)
{
    .ce_listview .list-item .info-layer div.titel {font-size:2em;}
}

@media screen and (max-width:720px) and (min-width:600px)
{
    .ce_listview .list-item .info-layer div.titel {font-size:2em;}
}

.ce_listview .list-item .img:focus-within .info-layer, .ce_listview .list-item .img:hover .info-layer {background:rgb(255 255 255 / 92%); opacity:1;}
#main .ce_listview.block a, #main .ce_listview.block strong {display:flex; align-items:center; justify-content:center; margin:0 auto; padding:0.75em; color:var(--listview-link-col); font-size:0.9em; font-weight:400; text-decoration:none; background:var(--listview-link-bg); border-radius:3px; transition:all .4s ease;}
#main .ce_listview.block a:focus-visible, #main .ce_listview.block a:hover {background:var(--listview-link-bg-hover);}

@media screen and (max-width:840px)
{
    .ce_listview .list-item {width:49%;height:auto;}
    .ce_listview .list-item .img img {max-height:none;}    
}

@media screen and (max-width:600px)
{
    .ce_listview .list-item {width:100%;height:auto; margin:8px 0;}
    .ce_listview .list-item:first-child .img {margin-top:30px;}
    .ce_listview .list-item .img img {max-height:none;}
}

#main nav.pagination.block {width:100%; font-size:90%; text-align:center;}
#main nav.pagination.block li {float:none; display:inline-block; margin:0.35em; padding:0; line-height:1;}
#main nav.pagination.block li a, #main nav.pagination.block li strong {display:flex; align-items:center; justify-content:center; width:2.4em; height:2.4em; margin:0 auto; padding:0.75em; border-radius:3px; text-decoration:none; font-size:0.9em; font-weight:400; color:#fff; background:var(--listview-link-bg); border:1px solid #666; transition:all .4s ease;}
#main nav.pagination.block li strong {color:var(--pagination-active-col); background:var(--pagination-active-bg);}
#main nav.pagination.block li a:focus-visible, #main nav.pagination.block li a:hover {background:var(--listview-link-bg-hover);}



/* Galerie */
#main .content-gallery ul {display:flex; flex-wrap:wrap; flex-direction:row; justify-content:center; align-items:flex-start; margin:1em -20px 1.5em -20px;}
#main .content-gallery ul li {width:33.333%; display:flex; flex-wrap:nowrap; align-content:center; align-items:center; justify-content:center; margin:0; opacity:1; transition:opacity .65s ease;}
#main .content-gallery ul li:before {content:none;}
#main .content-gallery ul li figure {position:relative; margin:20px;}

.js .content-gallery li img {opacity:0; transition:opacity .65s ease;}
.js .content-gallery li.active img {opacity:1;}

@media screen and (max-width:840px)
{
    #main .content-gallery ul li {width:50%;height:auto;}
}

@media screen and (max-width:600px)
{
   #main .content-gallery ul li {width:100%;height:auto;}
}


/* Filterleiste */
.ce_form {padding:1em; background:var(--form-bg); font-size:90%;}
.ce_form legend {position:relative; top:0; width:100%; margin:0 0 -0.5em 0; font-weight:600; border-bottom:1px solid #999;}
.ce_form .widget-select label  {display:block;font-weight:600;}
.ce_form .widget-select select {-webkit-appearance:none; -moz-appearance:none; appearance:none; 
    min-height: 2em; color:var(--dark);font-size:1em; font-family:inherit; padding:0.35em; border:1px solid var(--form-element-border); border-radius:2px; background: #fff no-repeat right center url("data:image/svg+xml,%3Csvg version='1.1' id='Ebene_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='81.731px' height='36.83px' viewBox='-15.731 0 81.731 36.83' enable-background='new -15.731 0 81.731 36.83' xml:space='preserve'%3E%3Cg%3E%3Cline fill='none' stroke='%23000000' stroke-width='5' stroke-linecap='round' stroke-miterlimit='10' x1='0.156' y1='6.987' x2='23' y2='29.83'/%3E%3Cline fill='none' stroke='%23000000' stroke-width='5' stroke-linecap='round' stroke-miterlimit='10' x1='45.844' y1='6.987' x2='23' y2='29.83'/%3E%3C/g%3E%3C/svg%3E%0A"); background-size:1.4em; }
.ce_form .widget-select select option {padding:0.35em;}
.ce_form .widget-select select.select {width:100%;}
.ce_form .widget-select select.select option{padding:5px;}
.formbody {display:flex; flex-wrap:nowrap; justify-content:space-between; align-items:flex-end;}
.formbody .input {display:flex; flex-wrap:wrap; justify-content:center; width:100%;}
#filter-formular label {display:block; font-weight:500;}
#filter-formular .widget-checkbox, .widget-radio, .widget-select {width:33.333%; padding:0 0.75em 0 0;}
fieldset {padding:1em;}
.widget-submit {width:100%; padding:1em 0 0 0; text-align:center;}
.formbody .input + .widget-submit {width:9em; padding:0; }
.widget-submit button {min-width:8em;padding:0.5em; font-size:1em;font-weight:500; color:var(--button-col); background:var(--button-bg); border:none;border-radius:2px; transition:all .25s ease;}
#filter-formular .widget-submit button {min-height:2em; padding:0 0.425em;}
.widget-submit button:focus {border-radius:2em;}

@media screen and (max-width:640px)
{
    .widget-checkbox, .widget-radio, .widget-select {width:100%;}
    #filter-formular .input .widget-select:last-child {padding:0;}    
    .formbody {flex-wrap: wrap;}
    .formbody .input {flex-wrap: nowrap;}
    .formbody .input + .widget-submit {width:100%; margin:0 auto; padding: 0.85em 0 0 0;}
}

@media screen and (max-width:520px)
{
    .formbody .input {flex-wrap:wrap;}
    #filter-formular .input .widget-select, #filter-formular .input .widget-select:last-child {padding:0 0 0 0.35em; width:50%; float:left;}
    #filter-formular .input .widget-select:first-child {padding:0 0.35em 0 0;}
    #filter-formular .input .widget-select:last-child {float:none; clear:both; width:100%; padding:0.75em 0 0 0;}
}


/* Kontaktformular */
#kontakt {max-width:840px; padding:1em 1em 0.75em 1em; font-size:100%; background:var(--form-bg);}
#kontakt form {max-width:600px; margin:0 auto; padding-top:0.25em;}
#kontakt input, #kontakt textarea {font-family:inherit; font-size:95%; color:var(--std-color);}
#kontakt .formbody {display:block;}
#kontakt .col {display:flex; flex-direction:column; justify-content:space-between; width:100%; padding:0;}
#kontakt .col + .col {padding:1.5em 0 0 0;}
#kontakt .cols {display:flex; flex-direction:row; justify-content:space-between; align-items:flex-start;}
#kontakt .widget-text {width:100%;padding:0.5em 0;}
#kontakt .cols > div {padding:0 0 0 0.75em;}
#kontakt .cols > div:first-child {padding:0 0.75em 0 0;}
#kontakt .widget-text input, #kontakt textarea {width:100%; padding:0.25em 0.35em; border:1px solid var(--form-element-border); border-radius:2px;}
#kontakt label {display:block; font-weight:500; font-size:90%;}
#kontakt .widget-text.e-mail, #kontakt .widget-textarea {padding:1em 0;}
#kontakt textarea {height:6em; min-height:6em; max-height:9em; resize:vertical;}
#kontakt .widget-submit {padding:0.5em 0;}
.widget-captcha {padding:0 0 1em 0;}
input.captcha {width:2em;}

fieldset.datenschutzerklaerung {padding:0 0 0.5em 0;}
.datenschutzerklaerung.widget-checkbox {padding:0 0 0.5em 0;}
form .widget-checkbox span {display:table;}
#kontakt .widget-checkbox input.checkbox {padding:0; vertical-align:top;}
#kontakt .datenschutzerklaerung.widget-checkbox label {position:static; display:table-cell; vertical-align:top; padding:0 0 0 0.5em; font-size:90%; line-height:120%;}
input[type="checkbox"] {-webkit-appearance:none; -moz-appearance:none; appearance:none; width:1em; height:1em; background:#fff; border:1px solid var(--std-color); border-radius:2px;}
input[type=checkbox]:checked {background:var(--std-color) no-repeat 1px 1px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25' viewBox='0 0 50 50'%3E%3Cpath stroke-linejoin='round' d='m8.226 27.98l13.08 13 22.81-32' stroke='%23fff' fill='none' stroke-linecap='round' stroke-width='10'/%3E%3C/svg%3E"); background-size:80%;}



/* scroll to top */
#scroll-to-top-outer {position:sticky; display:block; width:1px; height:38px; left:calc(50vW + 640px - 55px); bottom:1.25em; z-index:999;}
.scrollbar-vis #scroll-to-top-outer {left:calc(50vW + 640px - 63px);}

#scroll-to-top {position:sticky; display:none;opacity: 0.95;color:var(--footer-col);text-decoration: none;}
#scroll-to-top  > span {display:block;width: 36px;height: 36px;padding: 0.25em; border-radius:3px; background: no-repeat 50% 50% var(--listview-link-bg);text-indent:-20em;background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='81.731px' height='36.83px' viewBox='-15.731 0 81.731 36.83' enable-background='new -15.731 0 81.731 36.83' xml:space='preserve'%3E%3Cg%3E%3Cline fill='none' stroke='%23ffffff' stroke-width='7' stroke-linecap='round' stroke-miterlimit='10' x1='0.156' y1='6.987' x2='23' y2='29.83'/%3E%3Cline fill='none' stroke='%23ffffff' stroke-width='7' stroke-linecap='round' stroke-miterlimit='10' x1='45.844' y1='6.987' x2='23' y2='29.83'/%3E%3C/g%3E%3C/svg%3E%0A"); overflow:hidden;background-size:24px;
    transform: rotate(180deg); }
#scroll-to-top  > span span {display:block; transform:rotate(180deg);}
#scroll-to-top:focus-visible  > span, #scroll-to-top:hover  > span {background-color:var(--listview-link-bg-hover);}

@media screen and (max-width:1280px)
{
    #scroll-to-top-outer {left:calc(100vW - 54px);}
    .scrollbar-vis #scroll-to-top-outer {left:calc(100vW - 68px);}
}

@media print
{
    body {margin:0 auto; font-size:1em;}
    #wrapper {display:block; margin:0 auto; max-width:1024px;}
    #header {border:none;}
    #header .inside {padding:24px 20px 0 20px;}
    #header nav, #footer, .mod_booknav, #filter-formular, #scroll-to-top-outer {display:none;}
    #preview-outer.no-detail {max-width: 50%;}
    .cm_master .item-row-1 {margin:0 0 2em 0;}
    .cm_master .item-row-3 #tags {margin:0;}
    .back {display:none;}
}

