*, *::after, *::before {box-sizing: inherit}
* {font: inherit}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
html {box-sizing: border-box}
body {line-height:1;font-size:100.01%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,.custom {display:block;}
nav ul {list-style:none;padding: 0;margin: 0;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,q:before, q:after {content:'';content:none;}
a {margin:0;padding:0;vertical-align:baseline;background:transparent;}
ins {background-color:#ff9;color:#000;text-decoration:none;}
mark {background-color:#ff9;color:#000; font-style:italic;font-weight:bold;}
hr {display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom:1px dotted;cursor:help;}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
sub,sup,small {font-size: 75%;}
sub,sup {line-height: 0;position: relative;vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
svg {overflow: hidden;}
img{display:block;max-width:100%;height:auto;border:0}

button {
    all: unset;
    display: inline-block;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    text-align: inherit;
    font: inherit;
    color: inherit;
    line-height: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

button::-moz-focus-inner {
    border: 0; /* Entfernt den inneren Rand bei Firefox */
    padding: 0;
}

button:focus {
    outline: none; /* Entfernt den standardmäßigen Fokusrahmen */
}

/* Optional: Falls du einen benutzerdefinierten Fokusstil möchtest */
button:focus-visible {
    outline: 2px solid blue;
}

@media screen{
    #container,.inside,#left,#right{position:relative;}
    #container{margin-left: auto;margin-right: auto;}
    #footer {clear:both;}
    #main .inside {min-height:1px;}
    .float_left {float:left;}
    .float_right {float:right;}
    .block {overflow:hidden;}
    .clear,#clear {height:0.1px;font-size:0.1px;line-height:0.1px;clear:both;}
    .invisible {border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}
    .custom {display:block;}
    #container:after,.custom:after {content:"";display:table;clear:both;}
}

a{text-decoration:none}
@media screen{
	#container,.inside,#left,#right{position:relative;}
	#container{margin-left: auto;margin-right: auto;}
	#footer {clear:both;}
	#main .inside {min-height:1px;}
	.float_left {float:left;}
	.float_right {float:right;}
	.block {overflow:hidden;}
	.clear,#clear {height:0.1px;font-size:0.1px;line-height:0.1px;clear:both;}
	.invisible {border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}
	.custom {display:block;}
	#container:after,.custom:after {content:"";display:table;clear:both;}
}
@media (max-width:767px){
	#wrapper {margin:0;width:auto;}
	#container {padding-left:0;padding-right:0;}
	#main,#left,#right {float:none;width:auto;}
	#left {right:0;margin-left:0;}
	#right {margin-right:0;}}

a{color:#383838}
.mainmenue ul.level_2{background:#ccc}

a:focus, button:focus {
	outline: 3px solid #005fcc; /* Deutliche Fokusmarkierung */
	outline-offset: 3px;
}


@media (prefers-reduced-motion: reduce) {
	.menu {
		transition: none; /* Keine Animationen für diese Benutzergruppe */
	}
}

/* CSS für Screenreader-only Text */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

:root {
    --dark: #e4dcda;
    --outer:#fff;
    --content-bg: #f4f4f4;
    --basictext: #373737;
    --fontslim: 'Euklid B Light', Verdana, sans-serif;
    --fontbold: 'Euklid B Medium', Verdana, sans-serif;
    --ref-1: #b5b7b7;
    --ref-2: #babebe;
    --ref-3: #e0e4e5;
    --ref-4: #e0e4e5;
    --ref-5: #eaedee;
    --ref-6: #eef0f1;
}
body.darkmode {
    --dark: #e4dcda;
    --outer:#000;
    --content-bg: #1b2325;
    --basictext: #cdcdcd;
    --ref-1: #131616;
    --ref-2: #1e2223;
    --ref-3: #3d4648;
    --ref-4: #556164;
    --ref-5: #9aa6aa;
    --ref-6: #a4afb2;
}
    *,
    *::before,
    *::after {
        box-sizing: inherit;
    }
    html {
        scroll-behavior: smooth;
        background-color:var(--outer)
    }
    html, body {
        min-height: 100%;
    }
    body {
        font-family:var(--fontslim),Verdana, sans-serif;
        color: var(--basictext);
        -webkit-text-size-adjust: 100%;
        font-size:1rem;
        line-height: 1.35;
        letter-spacing:-0.1px;
        text-rendering: geometricPrecision;
        background: #fff;
}

#wrapper {background:var(--content-bg);width:100%}
#header{min-height:var(--headerheight);background:#ccc;width:100%;position:fixed;z-index:200}

#header .inside{
    display:flex;
    justify-content: flex-end;
    min-height:60px;
    align-items: center;
    overflow:visible;
}
#topheader{width:100%;
    position: relative;
    background:#fff;z-index:800}
#topheader .inside{
    display:flex;
    justify-content: flex-end;
    align-items: center;
    min-height:30px;
    overflow:visible;
}

.logo{
    position: absolute;
    top:0;
    left:0;
    z-index:950;
        max-width: 280px;
        height: 60px;
        background:red;
display:flex;
align-items: center}


.mainmenue{
    display:flex

}

@media (min-width: 992px) {
   body{}
    #header{position:relative;}






}
:root {
    --headerheight: 60px;
    --bordercolor:#cccccc
}
.mainmenue {
    overflow: visible;
    z-index:900
}
.mobile_handle {
    display: block;
    cursor: pointer;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 25px;
    z-index: 1001;
}
.mobile_handle span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #000;
    margin: 5px 0;
    transition: all 0.3s ease-in-out;
}
/* Animation für Burger-Icon */
.mobile_handle.change span:nth-child(1) {transform: translateY(8px) rotate(45deg);}
.mobile_handle.change span:nth-child(2) {opacity: 0;}
.mobile_handle.change span:nth-child(3) {transform: translateY(-8px) rotate(-45deg);}


.mainmenue > ul {
    max-height: calc(100vh - var(--headerheight));
    min-height:calc(100vh - var(--headerheight));
    height: auto;
    overflow: auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: #fff;
    position: absolute;
    left: -100%;
    top: 60px;
    z-index: 1000;
    transition: left 0.3s ease, visibility 0.3s ease;
}

.mainmenue > ul.active {
    visibility: visible;
    left: 0;
}

.mainmenue ul.level_1 > li {
    display: block;
    width: 100%;
    padding:0;
}

.mainmenue ul.level_2 {
    max-height: 0;
    background:#fff;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.5s ease, visibility 0.6s ease;
}

.mainmenue ul.level_1 > li.active ul.level_2 {
    max-height: 500px;
    opacity: 1;
    visibility: visible;
    transition: max-height 0.5s ease, opacity 0.5s ease, visibility 0.5s ease;
}


.mainmenue li a:focus,
.submenu-trigger:focus,
.mainmenue li.trail button:focus,
.mainmenue li a:focus-visible,
.submenu-trigger:focus-visible{
    border:0;
    outline:0;
    background:#000;
    color:#fff;
}



.mainmenue li a{
    display:inline-block;
    width:100%;

}
.mainmenue li a, .submenu-trigger{
    padding:0 0 0 1rem;
    border-bottom: 1px solid var(--bordercolor);
    line-height:2;
    transition: color 0.3s ease;
}
.submenu-trigger{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width:100%;
}
.submenu-trigger::after {
    transition: transform 0.3s ease;
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right:calc(1rem + 5px);
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    transform: rotate(45deg);
}
button[aria-expanded="true"]::after {
    transform: rotate(135deg);
}
.mainmenue ul.level_2 li a{
    padding:0 0 0 1.5rem
}

.mainmenue li.active a{color:red}
.mainmenue li.trail button{color:red}

.mainmenue ul.level_2 li:last-of-type a{}




/* Desktop-Styling (ab 992px) */
@media screen and (min-width: 992px) {
    .mobile_handle,
    .menucontent{
        display: none;
    }

    /* Zeige das Hauptmenü */
    .mainmenue > ul {
        flex-direction: row;
        justify-content: flex-end;
        /* justify-content: space-around;*/
        /* justify-content: space-between; */
        position: static;
        max-height: none;
        min-height:auto;
        visibility: visible;
        overflow:visible;
    }
    .mainmenue ul.level_1 li{margin:0 1rem}
    .mainmenue ul.level_2 li{margin:0;padding:0}
    .mainmenue li a, .submenu-trigger{
        line-height:2;
        padding:0;
        border:2px solid transparent;
    }
    .mainmenue li a:hover, .submenu-trigger:hover{
        color:#CCC
    }
    .mainmenue li a:focus,
    .submenu-trigger:focus,
    .mainmenue li.trail button:focus{
        outline:0;
        background:#000;
        color:#fff
    }
    .mainmenue li a:focus-visible, .submenu-trigger:focus-visible{
        background:#000;
        color:#fff
    }

    .mainmenue li a:focus,
    .submenu-trigger:focus,
    .mainmenue li.trail button:focus{
        border:2px solid transparent;
    }

    .mainmenue li a:focus-visible,
    .submenu-trigger:focus-visible{border:2px solid #199eff;
    }


    .mainmenue ul.level_1 > li {
        display: inline-block;
        width:auto;
        padding:0;
        position: relative;
        border-bottom: 0;
    }

    .mainmenue ul.level_2 {
        position: absolute;
        top: 100%;
        left: 0;
        list-style: none;
        padding:0;
        margin: 0;
        background:limegreen;
        overflow: hidden;
        max-height: 0; /* Startwert, Submenü geschlossen */
        opacity: 0; /* Unsichtbar, wenn geschlossen */
        visibility: hidden; /* Versteckt es vollständig */
        transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
    }

    .mainmenue ul.level_2 li a{
        padding:0 10px;
        white-space: nowrap; /* nicht schön */
        min-width:200px; /* auch nicht schön */
    }

    button[aria-expanded="true"] + ul.level_2 {
        max-height: 500px; /* Platzhalter, dynamisch von JS angepasst */
        opacity: 1; /* Sichtbar */
        visibility: visible;
    }
    .submenu-trigger {
        position: relative;
        display: inline-flex;
        cursor: pointer;
        background: none;
        align-items: center;
        justify-content: center;
        padding-right:25px;
    }
    .submenu-trigger::before,
    .submenu-trigger::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 1px;
        background-color: #333;
        transform: translateY(-50%);
        margin:0;
        border:0;
        transition: transform 0.1s ease, background-color 0.3s ease;
        transform-origin: center;
    }
    .submenu-trigger:hover::before,
    .submenu-trigger:hover::after
    {
        background-color:#ccc
    }
    .submenu-trigger:focus::before,
    .submenu-trigger:focus::after {
        background-color: #fff;
    }
    .submenu-trigger::before {
        transform: rotate(45deg);
        right:7px
    }
    .submenu-trigger::after {
        transform: rotate(-45deg);
        right:0;
    }
    button[aria-expanded="true"]::before {
        transform: rotate(-45deg);
    }
    button[aria-expanded="true"]::after {
        transform: rotate(45deg);
    }
}
:root {
    --headerheight: 60px;
    --bordercolor:#cccccc
}


/* Desktop-Styling (ab 992px) */
@media screen and (min-width: 992px) {

    .metanav{display:flex}


    .metanav > ul {
        flex-direction: row;
        justify-content: flex-end;
        /* justify-content: space-around;*/
        /* justify-content: space-between; */
        position: static;
        max-height: none;
        min-height:auto;
        visibility: visible;
        overflow:visible;
    }
    .metanav li{
        display:inline-block;width:auto;margin:0 0 0 1rem}
    .metanav li a{
        line-height:40px;
        display:inline-block;
        padding:0;
        border:2px solid transparent;
    }
    .metanav li a:hover{
        color:#CCC
    }
    .metanav li.active strong{
        color:red
    }
    .metanav li a:focus{
        border:2px solid #000;
        outline:0;
        background:#000;
        color:#fff
    }
    .metanav li a:focus-visible{
        border:2px solid #199eff;
        background:#000;
        color:#fff
    }

}

.metasuche .suche{
    display: flex;
    margin-right: 50px;
    position: relative;
}


.metasuche  .suche button{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    width: 40px;
    background: #fff;
    border: none;
    cursor: pointer;
    padding: 0;}
.metasuche .suche svg{
    width: 20px;
    height: 20px;
    fill: #333;
}



/* Container */
.metasuche  .formbody {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 400px;
    margin: 0 auto 0 1rem;
    border: 0;
}
.metasuche .widget-text{
    display:flex;
    flex: 1;
}
/* Input-Feld */
.metasuche  .formbody .widget-text input.text {
    flex: 1;
    padding: 3px 10px;
    font:inherit;
    border: 1px solid #666;
    outline: none;
    width:100%;
    transition: border-color 0.3s;
    background:#FFF
}

.metasuche .formbody .widget-text input.text:focus {
    border-color: #007bff;
    box-shadow: 0 0 4px rgba(0, 123, 255, 0.5);
}

/* Such-Button */
.metasuche .formbody .widget-submit {
    flex-shrink: 0; /* Verhindert, dass der Button schrumpft */
}
.metasuche .formbody .widget-submit button.submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin:2px 10px 2px 10px;
    background-color: #666;
    border: none;
    border-radius: 50%;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
}

.metasuche .formbody .widget-submit button.submit:hover {
    background-color: #0056b3;

}

.metasuche .formbody .widget-submit button.submit:focus {
    outline: 2px solid #0056b3;
    background-color: #cf0;
    outline-offset: 0px;
}

/* SVG-Icon */
.metasuche .formbody .widget-submit button.submit svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: white;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Unsichtbarer Text für Barrierefreiheit */
.metasuche .formbody .widget-submit button.submit .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.metasuche ::placeholder
{
    color: #383838;
    opacity: 1;

}













@media (min-width: 992px) {

    .suche{
        margin: 0;
        order: 1000;
    }



}
