/* cmsms stylesheet: neu-css modified: Freitag, 9. Oktober 2026 17:33:45 */
@import url("/fonts/font.css");
* {
margin : 0;
padding : 0;
}
html, body {
font-family : 'Signika';
font-weight: 300;
line-height : 130%;
color: #3d3e3e;
font-size : 100%;
width : 100%;
max-width : 100%;
background: #fcfaf4;
}
p {margin-bottom: 1em;}

.top-container {
  background-color: #b7dace;
  text-align: center;
padding: 1em 0 0 0;
}

.screenreader-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}


.screenreader-only:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 10px 15px;
  margin: 0;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
  background-color: #fff;
  color: #000;
  outline: 2px solid #000;
  z-index: 999;
}
.top-container img {width: 20em; margin-bottom: 1em;}






.autor {
position : absolute;
bottom : 1em;
right : 2em;
font-size : 80%;
z-index: 1000;
color : #fcfaf4;
}
.noshadow {
width: 80% !important;
}
.smallink {
font-size : 80%;
}

/* 1. Den Skiplink im Normalzustand visuell verstecken */
.skiplink a {
  position: absolute;
  top: -100px; /* Schiebt den Link weit außerhalb des sichtbaren Bereichs nach oben */
  left: 0;
  background: #bf360c; /* Nutze hier eine auffällige Farbe aus deinem Praxis-Design */
  color: #ffffff;
  padding: 10px 20px;
  z-index: 99999; /* Stellt sicher, dass der Link über allen anderen Elementen liegt */
  font-weight: bold;
  text-decoration: none;
  border-radius: 0 0 5px 5px; /* Schicke Abrundung unten */
  box-shadow: 0 2px 5px rgba(0,0,0,0.3);
  transition: top 0.2s ease; /* Macht das Einblenden geschmeidig */
}

/* 2. Den Skiplink sichtbar machen, sobald er per Tab-Taste fokussiert wird */
.skiplink a:focus,
.skiplink a:active {
  top: 0; /* Holt den Link direkt an den oberen Bildschirmrand */
  outline: 3px solid #ffb74d; /* Zusätzlicher, deutlicher Fokus-Rahmen für Barrierefreiheit */
}

.tdli {
padding-right : 1em;
}

.menuright {
position: absolute;
right: 5%;
top: 4em;
}
.menuright ul {
padding : 0;
margin : 0;
list-style-type : none;
}

.menuright li {
width : 2.5em;
float : right;
margin-left : 1.5em;
text-align : center;
padding-top : 0.3em;
}
.menuright img {
width : 100% !important;
}
.mleft {
position : absolute;
top: 5.5em;
left : 5%;
letter-spacing : 0.05em;
text-transform: uppercase;
font-weight: bold;
color: #fcfaf4;
}
.mleft span {
color: #427777;
}
.mr2 {
width: 10em;
position: absolute !important;
right: 0 !important;
top: 0.2em;
}

.box {
background : rgba(255,255,255,0.9);
display : none;
padding : 2em;
color : #fcfaf4;
position : absolute !important ;
top : 1.5em;
right : 0;
z-index : 2004;
text-align : left;
width : 30%;
animation-duration : 0.5s;
animation-name : opa;
box-shadow : 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.11), 0 4px 4px rgbA(0,0,0,0.11), 0 6px 8px rgba(0,0,0,0.11), 0 8px 16px rgba(0,0,0,0.11);
border-radius : 2px;
}
.box a {
color : #000;
padding : 0.3em;
display : block;
width : 100%;
height : 1em;
}
.box:target {
outline : none;
display : block;
}

.oben {
position : fixed;
right : 0;
bottom : 1em;
z-index : 100;
width : 2em;
}
.oben img {
width : 100%;
height : auto;
}

.cont {
width : 70%;
max-width : 1000px;
min-height : 18em;
margin : 0 auto;
padding : 3em 0 5em 0;
}
.news {clear: both;
padding : 2em;
margin-bottom : 2em;
background : #95be24;
color: #fcfaf4;
text-align: center;
}
.news h2 {
margin-bottom: 0.2em;
}
.news h3 {font-size: 90%;}
.thumb {
display : inline;
width : 100% !important ;
}
.teaser-text {
font-weight: normal !important;
padding-bottom: 3.5em;
}
.thteam {
border-width: 2px;
  border-style: solid;
  border-image: linear-gradient(to right, #bf953f, #fcf6ba, #d9b362, #fbf5b7, #aa771c) 1;
}
.team {width: 50% !important;}
#thumblist {
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
padding : 0;

}
.closeall {
position : absolute;
width : 100%;
height : 100%;
display : block;
z-index : 102 !important ;
}
.previous {
position : absolute;
left : 4em;
top : 2em;
width : 2.5em !important ;
z-index : 150 !important ;
}
.next {
display : block;
position : absolute;
left : 8em;
top : 2em;
width : 2.5em !important ;
z-index : 150 !important ;
}
.exit {
display : block;
position : absolute;
top : 2em;
right : 4em;
width : 2.5em !important ;
z-index : 150 !important ;
}
.cont h3 {
font-size : 125%;
margin : 1em 0 0.5em 0.75em;
}
.cont ul {
margin : 0 0 0 2em;
}

ul {
margin : 5% 0 0 5%;
}
a {
text-decoration : none;
color : #732454;
}
h2, .cont h1 {
display : block;
margin-bottom : 1em;
text-align : left;
font-size : 250%;
line-height : 120%;
font-weight : bold;
hyphens: auto;
}

.hidden {
opacity : 0;
}
.visible {
opacity : 1;
}
h3 {
font-size : 120%;
margin : 0.7em 0 0.7em;
font-weight : bold;
}
.center h3 {
font-size :120%;
margin-top : 1em;
line-height: 120%;
}

.parallax {
width : 100%;

padding: 2% 0 2% 0;
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
position: relative;
background-position : center center !important ;
background-repeat : no-repeat;
background-attachment: scroll;
background-size : cover !important ;
hyphens: auto;
}

.parallax h1, .title {
position: relative;
padding-top: 3em;
padding-bottom: 3em;
color: #fcfaf4;
width: 80%;
line-height: 110%;
font-size: 250%;
font-weight: normal;
}
.parasmall h1, .title {
padding-top: 3em;
padding-bottom: 3em;
}
.subtitle {font-size: 50%;
background: rgba(159,20,28,0.6);
text-shadow: 2px 2px #000;
color: #fbdeca;
clear: both;
padding: 0.25em;
line-height: 130%;
margin-top: 0.4em;
}
/* .anker {
display : block;
position : relative;
top : -8em;
visibility : hidden;
}*/
.bigwrap {
padding : 1em 0 1em 0;
}

.dark {
background : #b7dace;
background-size : 40%;
border-top-width: 4px;
  border-top-style: solid;
  border-image: linear-gradient(to right, #bf953f, #fcf6ba, #d9b362, #fbf5b7, #aa771c) 1;}


.bigwrap a {color: #732454; font-weight: bold;}
.teaser-card-link, .teaser-text a {
font-weight: normal !important;
}

.leimore {
font-size: 120%;
position: absolute;
bottom: 0;
width: 100%;
display: block;
background: #87c9bb !important;
color: #fcfaf4 !important;
padding: 0.5em 0 0.5em 0;
font-weight: bold !important;
}
.mitte {
clear : both;
width : 100%;
hyphens: auto;
}
.mitte img {
width : 100%;
height : auto;
}
.center {
margin : 0 auto;
text-align : left;
width : 80%;
padding : 2% 0 2% 0;
}
.det h1 {
font-size: 270%;
margin: 2em 0 1em 0;
hyphens: auto;
line-height: 110%;
}
.det h2 {
font-size: 220%;
margin: 0.5em 0 0.5em 0;
hyphens: auto;
}
.sub {
padding : 0 !important ;
margin: 0;
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
list-style-type : none;
font-size: 90%;
}

.sub li {
float : left;
margin-right : 0.5em;
}
.sub a {
color : #626566;
padding-left : 0.5em;
letter-spacing : 0.05em;
}


.headcenter {
width : 80%;
max-width : 1920px;
position : relative;
height : 90%;
}


.pic {
position: relative;
display : block;
float : left;
width : 27%;
margin : 0 3em 2em 0;
vertical-align : middle;
}


.kursmore {
display: block;
width: 100%;
background: #732454;
color: #fcfaf4;
border-radius: 0.25em;
padding: 0.8em 0 0.8em 0;
margin-top: 0.5em;
position: absolute;
bottom: 0;
font-weight: 300;
}
.itemtermine a {
color: #732454;}
a.terminmore {
padding: 1em 2em 1em 2em;
display: block;
background: #732454;
color: #fcfaf4;
border-radius: 0.25em;
margin-top: 1.5em;
}

.kurs-leitung-block {
    display: block;
    margin-bottom: 12px; 
    font-weight: 500; 
}

.item {
padding: 2em 1em 2em 1em;
border-bottom: solid 1px;
}
/* Der Container, der die Items umschließt */
.panel > div {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; /* Abstand zwischen den Kursen */
}

/* Die einzelnen Kurs-Karten */
.itemtermine {
  flex: 1 1 calc(33.333% - 20px); /* Bricht sauber in 3 Spalten um */
  min-width: 280px; /* Verhindert, dass die Karten auf Mobilgeräten zu quetschen */
  box-sizing: border-box;
border: 1px solid #000;
padding: 1em;
}

.color {
background: #b7dace;
}
.item-title {
font-size: 150%;
margin-bottom: 1em;}
.item .more {
display: inline-block !important;
width: auto !important;
margin-top: 1em;}

.angeb img {
object-fit: cover;
height: 14em;
border-width: 2px;
  border-style: solid;
  border-image: linear-gradient(to right, #bf953f, #fcf6ba, #d9b362, #fbf5b7, #aa771c) 1;
}
.angeb h3 {font-size: 140%;}
.lightbox2 .pic {
width : 22%;
float : none;
margin-bottom : 0;
margin-left : 3em;
}
.lightbox2 {
position : fixed;
display : block;
overflow : hidden;
z-index : 99999;
width : 100%;
min-height : 100% !important ;
height : auto !important ;
height : 100% !important ;
overflow-y : scroll;
top : 0;
left : 0;
background : rgba(0,0,0,0.8);
opacity : 0;
pointer-events : none;
text-align : center !important ;
transition : all 0.3s;
scrollbar-width : none;
}
.lightbox2::-webkit-scrollbar {
display : none;
}
.lightbox2 img {
margin-top : 2em;
float : left;
}
.lightbox2:target {
opacity : 1;
pointer-events : auto;
}
.description {
position : relative;
z-index : 10000 !important ;
width : 70%;
margin-left : auto;
margin-right : auto;
margin-top : 1em;
margin-bottom : 3em;
padding : 3em 5em;
background : #fcfaf4;
text-align : left;
}
.description ul {
margin-bottom : 2em !important ;
margin-left: 1em;
padding: 0;
margin-top: 0;
}
.description h2 {margin-top: 1em;}
.description h3 {
margin-bottom: 1em !important;
}
.center li {
margin-bottom: 0.5em;
}
.teampic {
float : right !important;
width : 47% !important;
margin : 0 0 1em 1em !important;
border-width: 2px;
  border-style: solid;
  border-image: linear-gradient(to right, #bf953f, #fcf6ba, #d9b362, #fbf5b7, #aa771c) 1;
}

.description h3 {
font-size : 130%;
}
.topnav  {
width : 100%;
letter-spacing : 0.05em;
background: linear-gradient(to right, #bf953f, #fcf6ba, #d9b362, #fbf5b7, #aa771c);
position: relative;
position: -webkit-sticky;
position: sticky;
top: 0;
font-weight : 300;
z-index: 15000;
display : flex;
flex-wrap : wrap;
justify-content : center;
text-align : center;

}
.topnav ul {
list-style-type : none;
list-style-image : none !important ;
text-align : center;
margin: 0;
}
.topnav li {
float : left;
list-style-type : none;
text-align : center;
}

.topnav a {
padding: 0.8em 0 0.8em 0;
display : block;
margin-right : 1em;
color: #251b05;
font-size : 95%;
transition : text-decoration 1s ease, letter-spacing 1s ease;
cursor: pointer;
}

.topnav a:hover, .sectionheader:hover {
text-decoration: underline;
letter-spacing: 2px;
}
.topnav a.currentpage, .topnav a.activeparent {
text-decoration: underline;
letter-spacing: 2px;
}
/* ==========================================================================
   BARRIEREFREES DESKTOP-SUBMENÜ (Ersetzt die alte -999em-Logik komplett)
   ========================================================================== */

/* 1. DAS UNTERMENÜ (Die zweite Ebene <ul>)
   --------------------------------------------------------------------------
   Standardzustand: Das Untermenü ist sauber versteckt. Moderne Screenreader 
   ignorieren es jetzt richtigerweise, solange es geschlossen ist. */
.topnav li ul {
    display: none;
    position: absolute;
 background: rgba(183,218,206,0.95);
padding: 1em;
width: 60%;
box-shadow: 4px 7px 15px 1px rgba(0,0,0,0.2);
border-radius: 5px 5px 5px 5px;
    z-index: 99999;             /* Stellt sicher, dass das Menü über dem Content schwebt */
    list-style: none;
  
    margin: 0;
}
.topnav li ul:after {
bottom: 100%;
        left: 10%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-color: rgba(116, 209, 229, 0);
        border-bottom-color: rgba(183,218,206,0.95);
        border-width: 8px;
        margin-left: -8px;}

/* Einzelne Listenelemente im Untermenü floaten wieder sauber nebeneinander */
.topnav li ul li {
                 /* FIX: Von 100% auf auto gesetzt, damit Platz zum Floaten ist */
    float: left !important;
    display: block;
text-align: left;
width: 50%;
}

/* 2. INTERAKTIONS-STEUERUNG (Maus & Tastatur)
   -------------------------------------------------------------------------- */

/* MAUS-BEDIENUNG: Menü klappt beim Überfliegen mit der Maus sofort auf */
.topnav li:hover > ul {
    display: block !important;
}

/* TASTATUR- & KLICK-BEDIENUNG: Das JavaScript schaltet bei Enter die Klasse 
   .is-open hinzu, was das Menü visuell erzwingt – ohne Fokusverlust! */
.topnav li ul.is-open {
    display: block !important;
}

/* SEITEN-LOGIK: Wenn man sich auf einer aktiven Unterseite befindet, 
   bleibt das Menü bei Bedarf im Fokus sichtbar */
.topnav li.activeparent > ul,
.topnav li.currentpage > ul {
    display: block;
}


/* ==========================================================================
   DEIN UNVERÄNDERTES VISUELLES LINK-DESIGN
   ========================================================================== */
.topnav li ul li a {
    color: #363737;
    letter-spacing: 0;
    padding: 0.8em !important;
    display: block;
    text-decoration: none;
}

.topnav li ul a:hover {
    letter-spacing: 0;
    background-color: rgba(0, 0, 0, 0.03); /* Leichter visueller Feedback-Effekt */
}

.topnav li ul a.activeparent {
    color: #fcfaf4;
    letter-spacing: 0;
}

.topnav li ul a.activeparent:hover {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    letter-spacing: 0;
}

.topnav li ul a.currentpage {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}


/* ==========================================================================
   BUTTON-RESET & TASTATUR-FOKUS-RAHMEN
   ========================================================================== */

/* Nativer HTML-Button-Reset: Passend zur Reihe deines Original-Designs */
.sectionheader-click-btn[aria-expanded="true"] + ul {
    display: block !important;
}
.sectionheader-click-btn {
    background: none;
    border: none;
    color: inherit;
    font: inherit;
    text-align: left;
    width: auto;                /* FIX: Auf auto gesetzt, um der Flexbox die Reihe zu erlauben */
    padding: 0.8em 0 0.8em 0 !important; /* FIX: Seitliches Padding gelöscht, exakt wie deine <a>-Links oben */
    margin-right: 1em;          /* FIX: Rechten Abstand hinzugefügt, exakt wie deine <a>-Links oben */
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


/* Kleine Kennzeichnung für Sehende, dass hier ein Untermenü folgt */
.sectionheader-click-btn .arrow {
    margin-left: 8px;
    font-size: 0.8em;
    opacity: 0.7;
}

/* DEUTLICHER TASTEN-FOKUS-RAHMEN:
   Erhöht die Barrierefreiheit für sehende Tastaturnutzer drastisch, 
   indem beim Tabben ein klar erkennbarer Rahmen eingeblendet wird. */
.sectionheader-click-btn:focus,
.topnav a:focus {
    outline: 3px solid #bf360c !important; /* Auffälliges Orangerot deiner Praxis */
    outline-offset: -2px;
    background-color: rgba(0, 0, 0, 0.05) !important;
}
.topnav li.activeparent > ul,
.topnav li.currentpage > ul {
    display: none;
}

.li-text {
float : left;
width : 45%;
margin : 0 0 1.5em 0 !important;
hyphens: auto;
}

.re-text img {
float : right;
}
figure, .rightpic {
float : right;
width : 40% !important ;
margin : 0 0.5em 1.5em 1.5em;
border-width: 2px;
  border-style: solid;
  border-image: linear-gradient(to right, #bf953f, #fcf6ba, #d9b362, #fbf5b7, #aa771c) 1;
}
figcaption {
font-size: 80%;
font-style: italic;
text-align: center;
}
.li-text img, .rightpic {

border-radius : 2px;
}
.li-text img, .re-text img {
width : 100%;
height : auto;
border-width: 2px;
  border-style: solid;
  border-image: linear-gradient(to right, #bf953f, #fcf6ba, #d9b362, #fbf5b7, #aa771c) 1;
margin-bottom : 0.5em;
}
.re-text {
float : right;
width : 42%;
margin : 0 0 1em 3% !important;

hyphens: auto;
}
.re-text ul, .li-text ul, .mitte ul {
margin : 0.5em 0 0.5em 1em;
}
.re-text h3, .li-text h3 {margin-top: 0 ! important;}
.preis {
background: #a00807;
color: #fcfaf4;
width: 100%;
padding: 0.8em;
}
.champ { background-color: #fb9042;}
.preis-li, .preis-re {
float: left;
}
.preis-li {
width: 70%;
margin-right: 1em;}



.termin {
background: #eff0ee;
color: #363737;
width: 100%;
padding: 0.8em;
font-size: 90%;
}
.termin ul {padding: 0 !important; margin: 0 !important; overflow: hidden;}
.termin li {list-style-type: none; float: left; margin: 0 0.5em 0 0; border-left: 1px solid #363737; margin-left: -1px; padding-left: 0.6em;}
.red {
color: #a00807;
text-decoration: line-through;
}
.or {
color: #f7781b;
}
.green {
color: green;}

.kom {
clear: both;
float: left;
width: 70%;
padding: 0.4em 0 0.4em 0;
margin-right: 1em;
}
.kompr {
float: left;padding: 0.4em 0 0.4em 0;}

.thumblist {
overflow : hidden;
width : 100%;
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
min-height : 100%;
z-index : 10;
}
footer {
font-size : 90%;
background : #2c2c2c;
color : #dfe0e0;
}
footer ul {
margin: 0;
padding: 0;
list-style-type: none;}
footer li {
margin: 0 !important;}
.foo {
margin-bottom : 0 !important ;
}
footer a {
color : #dfe0e0;
}
.foot {
float : left;
margin-right : 2em;
margin-bottom : 2em;
}
.shariff {
width : 20em;
}
.h3trigger {
width: 96%;
background: #732454;
padding: 2%;
color: #fcfaf4 !important;
cursor: pointer;
}
.toggle_container {
    overflow: hidden;
}
.share {
width : 100% !important ;
text-align : center;
display : flex;
flex-wrap : wrap;
margin-bottom: 2em;
}
.required {
width : 100%;
margin-right : 4%;
}
label {
width: 100%;
display : block;
margin-bottom: 0.5em;
}
.url {
  opacity: 0;
        position: absolute;
        top: 0;
        left: 0;
        height: 0;
        width: 0;
        z-index: -1;
}
input, textarea, select {
width : 100%;
border-radius : 3px;
border :  1px solid silver;
height : 2.5em;
font-size : 90%;
box-sizing : content-box;
-webkit-box-shadow: inset 0px -1px 34px 1px rgba(0,0,0,0.09);
-moz-box-shadow: inset 0px -1px 34px 1px rgba(0,0,0,0.09);
box-shadow: inset 0px -1px 34px 1px rgba(0,0,0,0.09);
margin-bottom: 1.5em;
color: #666666;
padding-left: 0.5em;
}
textarea {
height : 10em;
clear : both !important ;
float : none;
}
.cms_checkbox {
width : 1em;
clear : both;
float : left;
margin-right : 0.5em;
margin-top : 0.8em;
}
.cms_submit, .fbsubmit {
width : 60%;
height : 2em;
color : #fcfaf4;
border: none !important;
clear: both;
}
.cms_submit.fbsubmit, .search-button {
background : #732454;
color : #fcfaf4;
font-size : 100%;
margin-top: 2em;
}
.kontaktform h3 {
clear: both;
width: 100%;
}
.search-button {
font-size : 100%;
}
.kontakt .required {
float : none !important ;
width : 100% !important ;
}
.captcha {
width : 65%;
clear : both;
float : none;
}
.captcha img {
clear : both;
box-shadow : none !important ;
width : 60% !important ;
height : auto !important ;
float : none;
margin : 0.5em 0 0.5em 0;
}
.kontakt .captcha {
width : 100%;
float : none !important ;
}
.confirm, .error_message {
background : rgba(255,255,255,0.95);
padding :2%;
top : -5em;
left : 5%;
border : solid 1px;
max-width: 80%;
z-index : 10000;
box-shadow : 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.11), 0 4px 4px rgba(0,0,0,0.11), 0 6px 8px rgba(0,0,0,0.11), 0 8px 16px rgba(0,0,0,0.11);

}
.acc {
  position: absolute;

  z-index: -1;
width: 50%;
}
.accordion {
  overflow: hidden;
margin-top: 2em;
}
.accordion-label {
display: flex;
  padding: 1em;
  font-weight: bold;
  cursor: pointer;
font-size: 130%;
  background: #732454;
  color: #fcfaf4;
text-transform: uppercase;
}
.accordion-content {
max-height: 0;
  padding: 0;

  transition: all 0.35s;
}
.acc:checked ~ .accordion-content {
max-height: 100%;
}
ol {margin: 1em;}
.more {
padding: 1em 2em 1em 2em;
display: block;
background: #732454;
color: #fcfaf4 !important;
border-radius: 0.25em;
margin-top: 1em;
}
.accordeon {
font-size: 130%;
  background: #732454;
  color: #fcfaf4;
text-transform: uppercase;
font-weight: bold;
cursor : pointer;
padding : 18px;
width : 100%;
border : none;
text-align : center;
outline : none;
transition : 0.4s;
margin-top: 1.8em;
margin-bottom : 0.25em;
font-size : 120%;
}
.accoref {
background: #efeeee;
color: #000;
}
.accosmall {
width : 5em !important ;
padding : 0.25em !important ;
background : #fff;
margin-top : 1em;
border: 3px solid #000;
color: #000;
border-radius: 0 !important;
}
.accoarch {
width: 30%;
}
.accordeon:hover {
background : #5ab8b9;
}
.accosmall:hover {
background : #5ab8b9;
}
.accordeon:after {
content : '\002B';
font-weight : bold;
float : right;
margin-left : 5px;
}
.active:after {
content : "\2212";
}
.panel a {
text-decoration: underline;
}
.panel {
  visibility: hidden; /* Wird durch das optimierte JS beim Öffnen auf 'visible' gesetzt */
}
.responsive a, #responsive a {
text-decoration : none !important ;
}
.panel {
margin : 1em 0 1em 0;
text-align : left;
width : 100%;
padding: 0;
max-height : 0;
overflow : hidden;

max-height: 0;
  overflow: hidden;
 
  visibility: hidden;
 
  transition: max-height 0.3s ease-out, visibility 0s linear 0.3s;
}
.accordeon.active + .panel {
  visibility: visible;

  transition: max-height 0.3s ease-out, visibility 0s linear 0s;
}
:focus {
  outline: none;
}

/* 2. Den neuen, barrierefreien Fokus-Rahmen NUR bei Tastaturbedienung aktivieren */
:focus-visible {
  /* Ein deutlicher, 3px breiter gestrichelter oder durchgezogener Rahmen */
  outline: 3px solid #0056b3; /* Wählen Sie hier eine Ihrer kräftigen Design-Farben */
  
  /* Kleiner Abstand zwischen dem Element und dem Rahmen für bessere Optik */
  outline-offset: 3px;
  
  /* Sorgt dafür, dass der Rahmen bei abgerundeten Buttons mitgeht (moderne Browser) */
  border-radius: 4px;
}
.accordeon:focus-visible,
.search-toggle-btn:focus-visible,
.search-close-btn:focus-visible {
  /* Falls Ihre Buttons einen farbigen Hintergrund haben, sorgt ein kontrastierender 
     Rahmen (z.B. Weiß auf dunklem Grund oder eine Komplementärfarbe) für beste Sichtbarkeit */
  outline: 3px dashed #0056b3;
  outline-offset: 2px;
}
.panel {
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: max-height 0.25s ease-out, visibility 0.25s ease-out;
}

/* Offener Zustand: Wenn der Button das Attribut erhält, klappt NUR dieses Panel auf */
.accordeon[aria-expanded="true"] + .panel {
  max-height: 1200px; /* Genug Platz für all deine Referenz-Links */
  visibility: visible;
}
strong {font-weight: 600;}
.extras {

padding: 2%;
width: 22%;
background: #427777;
color: #fcfaf4;
font-size: 120%;
font-weight: bold;
}
.qrcode {
width: 8% !important;
height: 8% !important;
display: block;
float: right;
margin-bottom: 0;
}
.simple {background: #732454;}
.extras a {color: #fcfaf4;}
.qrcode {
width: 8%;
height: 8%;
display: block;
float: right;
margin-bottom: 0;
}
.topnav .toggle-icon, .menu-toggle-btn {
  display: none;
}
@media screen and (max-width: 53em) {
html, body {
min-height: 100% !important;
height: 100% !important;
}
  .topnav a, .topnav .sectionheader {display: none;}
.topnav {
  position: fixed !important; 
top: 0;
left: 0;
width: 100%;
display: block !important;
}


/* Visuelles Verstecken des Texts ohne "Punkte" */
.topnav .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Der Button-Container */
.topnav .menu-toggle-btn {
  display: flex;           
  align-items: center;
  justify-content: center;
  position: absolute;    
  top: 10px !important;              
  right: 10px !important;          
  background: transparent !important; 
  border: none !important;            
  padding: 0;
  width: 24px;             
  height: 24px;
margin: 0 !important;
  cursor: pointer;     
}



.topnav #menuToggle[aria-expanded="true"] {
  position: fixed;         
  top: 15px;               
  right: 15px;      
z-index: 10000005;           
}


.topnav .menu-toggle-btn:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 2px;
}


.topnav .menu-toggle-btn img {
  width: 24px;
  height: 24px;
  display: block;
}



/* Standardzustand (Geschlossen): Hamburger zeigen, Close verstecken */
.topnav .icon-hamburger { display: block; }
.topnav .icon-close { display: none !important; }

/* Geöffneter Zustand: Hamburger verstecken, Close zeigen */
.topnav #menuToggle[aria-expanded="true"] .icon-hamburger { 
  display: none !important; 
}
.topnav #menuToggle[aria-expanded="true"] .icon-close { 
  display: block !important; 
}

/* Das geöffnete mobile Menü-Panel */
.topnav.responsive {
  position: fixed;
  background: #fcfaf4;
  left: 0;
  top: 0;                 
  transition: 0.5s;
  width: 100%;
  height: 100vh;          
  padding: 2em; 
  z-index: 1000;          
}




  .topnav.responsive a, .topnav.responsive .sectionheader {
    display: block;
    float: none !importnat;
    text-align: left;
    border: none !important;
font-size: 105%;
  }
.topnav.responsive li, .topnav.responsive li ul li {
float: none;
}
.topnav.responsive li ul {
position: static;
float: none;
background: none !important;
box-shadow: none;
width: 100%;
}
.topnav li ul li {
                 /* FIX: Von 100% auf auto gesetzt, damit Platz zum Floaten ist */
    float: none !important;
    display: block;
text-align: left;
width: 100%;
}
.topnav.responsive a.currentpage {
background: none;
}
.topnav a::after {
transform: none;
height: 0;
}
.topnav a:hover::after {
transform: none;
}
.parallax {
background-attachment : scroll !important;
background-position : center center !important;
}


.description {
width : 70% !important ;
}
.center {
width : 90% !important ;
}
.topnav {
display : none;
}
.top-container {border-bottom-width: 8px;
  border-bottom-style: solid;
  border-image: linear-gradient(to right, #bf953f, #fcf6ba, #d9b362, #fbf5b7, #aa771c) 1;}
.top-container img {width: 18em; margin-top: 0.8em; margin-bottom: 0;}
.mleft, .menuright {
position: static;
width: auto;
text-align: center;
}
.mleft {
top: 0.5em;
left: 0;

}
.menuright {
width: 100% !important;
float: none;
display : flex;
flex-wrap : wrap;
justify-content : center;
margin-left: -0.5em;
margin-bottom: 0.5em;
}
.menuright li {
margin-left: 1em;
}
#responsive {
margin : 0;
}
#responsive li {
position : relative;
}
#res-call {
position : relative;
z-index : 1000;
}
#mobsearch {
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
}
.mobinpt {
width : 10em;
}
.noshadow {
width: 95% !important;
}

#logo {
bottom : 0.5em;
width : 8em;
height: auto;
}

.sm {
width : 36% !important ;
}
.pic {
width: 40%;
}
#logo {
z-index : 1000;
}
footer {
padding-bottom : 2.5em !important ;
}
.foot {
float : none !important ;
}
}
@media screen and (max-width: 700px) {
.lisetermine {columns: 200px 2;}
.rightpic, figure {
float : none !important ;
width : 95% !important ;
margin : 0 0 1.5em 0;
}
.box {
right: 5%;
width: 80%;}
.teampic {
width : 35% !important;
}
label, .own, .required, input, cms_select, .captcha {
width : 100%;
}
.chk label {
width : 80%;
}
.li-text img, .re-text img {
margin : 1em 0 1em 0;
}
.center {
width : 80% !important ;
}
.li-text, .re-text {
width : 100%;
float : none;
margin : 0 0 1em 0 !important;
}
.thumblist {
overflow : visible !important ;
}
.pic {
width : 100% !important;
margin-right: 0 !important;
}
#thumblist {
margin-left: 0 !important;}
.sm {
width : 86% !important ;
}
.back img {
width : 70%;
text-align : left;
}
}
@media screen and (max-width: 450px) {
.top-container img {width: 14em;}
.captcha img {width: 100%;}
.parallax h1, .title {
padding-top: 1em;
padding-bottom: 1em;
font-size: 200%;
}

h1 {font-size: 200%;}
h2, .headl2 {font-size: 180%;}
#logo {
font-size : 100%;
}
.cont h1 {
font-size : 140% !important ;
}

.pic, .angeb {
width : 100% !important ;
margin-right : 0 !important ;
float: none !important;
}
.teampic {width: 100% !important;}
.description {
width: 100%;
padding: 1em;}
.mleft {display: none;}
}

@media screen and (min-width: 1400px) {
html, body {
font-size: 120%;}
}

@media screen and (min-width: 3800px) {
html, body {
font-size: 180%;}
}
