/* cmsms stylesheet: posi-css modified: Dienstag, 3. November 2026 13:19:07 */
@font-face {
    font-family: 'Ubuntu';
    src: url('/fonts/ubuntu-bold-webfont.woff2') format('woff2'),
         url('ubuntu-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;

}




@font-face {
    font-family: 'Ubuntu';
    src: url('/fonts/ubuntu-regular-webfont.woff2') format('woff2'),
         url('ubuntu-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

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


@font-face {
    font-family: 'crimson text';
    src: url('/fonts/crimsontext-bold-webfont.woff2') format('woff2'),
         url('/fonts/crimsontext-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;

}




@font-face {
    font-family: 'crimson text';
    src: url('/fonts/crimsontext-bolditalic-webfont.woff2') format('woff2'),
         url('/fonts/crimsontext-bolditalic-webfont.woff') format('woff');
    font-weight: bold;
    font-style: italic;

}




@font-face {
    font-family: 'crimson text';
    src: url('/fonts/crimsontext-italic-webfont.woff2') format('woff2'),
         url('/fonts/crimsontext-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;

}




@font-face {
    font-family: 'crimson text';
    src: url('/fonts/crimsontext-regular-webfont.woff2') format('woff2'),
         url('/fonts/crimsontext-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'crimson_textsemibold';
    src: url('crimsontext-semibold-webfont.woff2') format('woff2'),
         url('crimsontext-semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'crimson_textsemibold_italic';
    src: url('crimsontext-semibolditalic-webfont.woff2') format('woff2'),
         url('crimsontext-semibolditalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

* {
margin : 0;
padding : 0;
}
html, body {
font-family : 'Ubuntu';
line-height : 150%;
font-size : 100%;
width : 100%;
max-width : 100%;
background: #fff;
text-align: center;
}
p {margin-bottom: 1em;}

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

/* Macht den Link sichtbar, sobald ein Tastaturnutzer darauf tabbt */
.screenreader-only:focus {
  position: absolute;
  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: 99999;
}
.slide-title {
margin: 0 !important;
padding: 1em 0 !important;
font-size: 200% !important;
}
.slide {
width : 100%;
height : 100%;
min-height : 100%;
margin : 0 auto;
position : relative;
overflow : hidden;
top : 0;
left : 0;
pointer-events : none !important ;
}
.slide ul {
position : relative;
margin : 0 auto;
height : 100%;
min-height : 100%;
}
.slide ul li {
width : 100%;
list-style : none;
position : absolute;
z-index : 1000000;
height : 100%;
top : 0;
left : 0;
}
#wrapper {
width: 80%;
max-width: 1920px;
position: relative;
margin: 0 auto;
text-align:left;
padding-top: 3em;
}

blockquote {font-family: 'crimson text' !important;}
h1, h2, .slide {font-family: 'Varela Round';}

.top-container {
  background-color: #bcf3e4;
  padding: 2.5em 0 2em 0;
  text-align: center;
text-transform: uppercase;
font-size: 110%;
letter-spacing: 0.1em;
color: #000;
border-radius: 20px !important;
margin-bottom: 1.5em;
}
.top-container a {color: #000;}

.top-container img {width: 7em;}

.autor {
position : absolute;
bottom : 1em;
right: 2em;
font-size : 65%;
color : #fff;
}
.autor a {
color : #fff;
}
.smallaut {
font-size : 60%;
text-transform: none;
color: #fff;
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
margin-top: -2em;
}
.noshadow {
width: 80% !important;
}
.smallink {
font-size : 80%;
}
.skiplink{
position:absolute;
top:-9999px;
left:-9999px;
font-size:0;
line-height:0;
}
.termin {
background : #f39200;
padding : 2em;
width : 100%;
color : #fff;
}
.tdli {
padding-right : 1em;
}

.menuright {
margin-right: 5%;
text-align: right;
}

.mleft {
float: left;
margin-left : 5%;
}

.box {
background : rgba(255,255,255,0.9);
display : none;
padding : 2em;
color : #fff;
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;
}
@keyframes opa {
from {
opacity : 0;
}
to {
opacity : 0.9;
}
}
.oben {
position : fixed;
right : 0.5em;
bottom : 3em;
z-index : 100;
width : 2em;
}
.oben img {
width : 100%;
height : auto;
}

.cont {
width : 70%;
min-height : 18em;
margin : 0 auto;
padding : 3em 0 5em 0;
}
.news {clear: both;
padding : 2em;
margin-bottom : 2em;
color: #fff;
text-align: center;
}
.news h2 {
margin-bottom: 0.2em;
}
.news h3 {font-size: 90%;}
.thumb {
display : inline;
width : 100% !important ;
}
#thumblist {
text-align : left;
display : flex;
flex-wrap : wrap;
justify-content : left;
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;
}
@keyframes fadeIn {
from {
opacity : 0;
transform : translate3d(0,3%,0);
}
to {
opacity : 1;
transform : translate3d(0,0,0);
}
}
.fadeIn {
animation-name : fadeIn;
animation-duration : 1s;
}
ul {
margin : 5% 0 0 5%;
}
a {
text-decoration : none;
}
h2, .cont h1, .headl2 {
display : block;
margin-bottom : 1em;
font-size : 300%;
line-height : 120%;
font-weight : normal;
letter-spacing : 0.02em;
color: #41b596;
text-transform: uppercase;
}

.hidden {
opacity : 0;
}
.visible {
opacity : 1;
}
h3 {
font-size : 130%;
margin : 0.7em 0 0.7em;
font-weight : bold;
text-transform: uppercase;
}
.center h3 {
font-size : 130%;
margin-top : 1em;
}

.parallax {
position: relative;
width : 100%;
height: 30em;
background-position : center center !important ;
background-repeat : no-repeat;
background-attachment : fixed;
background-size : cover !important ;
border-radius: 20px !important;
}
.parasmall {
height : 0 !important ;
padding: 12em 0 25em 0 !important;
}
.parallax h1, .title span {
position: absolute;
letter-spacing : 0.05em;
text-transform: uppercase;
color: #fff;
width: 100%;
text-align : center;
display : flex;
flex-wrap : wrap;
justify-content : center;
padding-top: 6em;
line-height: 150%;
font-size: 200%;
font-weight: bold;
}
parasmall h1 {
padding-top: 0 !important;}

.anker {
display : block;
position : relative;
top : -9em;
visibility : hidden;
}
.bigwrap {
padding : 1em 0 1em 0; background: #fff;
border-top:  0.3em solid #fff;
border-bottom:  0.3em solid #fff;
text-align: left;
   margin:0 auto;
  position: relative;
min-height: 100%;
border-radius: 20px;
hyphens: auto;
}
.bigwrap a {color: #6b6d6e;}
.dark {
background : #89d8c3;
background-size : 40%;
}
.dark a {
color: #fff;}
.dark h2, .dark h1 {
color: #fff;
}
.dark .more {

border: none;
color: #fff;
letter-spacing : 0.05em;
font-variant : small-caps;
}

.dark img {
border-color: #fff;}

.mitte {
clear : both;
width : 100%;
overflow : hidden;
}
.mitte img {
width : 100%;
height : auto;
}
.center {
margin : 0 auto;
text-align : left;
width : 90%;
padding : 2% 0 2% 0;
}
.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;
}

h1 {
display : inline;
margin-bottom : 1em;
font-size : 200%;

}
.headcenter {
width : 80%;
position : relative;
height : 90%;
}
.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;
}
.thumblist {
  width: 100%;
  min-height: 100%;
  z-index: 10;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; 
 gap: 2.5rem 2%; 
}

.pic {
  display: block;
 width: 47.5%; 
}

.pic a {
  display: block;
  height: 100%;
  padding: 5%; /* Padding hierhin verschoben, damit die Klickfläche größer ist */
  border: 1px solid #e2fff7;
  border-radius: 12px;
  color: #fff !important;
  text-decoration: none;
  text-align: center;
  font-size: 130%;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-sizing: border-box; /* Verhindert, dass das Padding das Element sprengt */
}

/* Barrierefreiheit: Visueller Rahmen, wenn man mit der Tastatur (Tab) durchgeht */
.pic a:focus-visible {
  outline: 3px solid #ee8042;
  outline-offset: 3px;
}

.pic img {
  width: 100%; /* Sorgt dafür, dass das Bild die Breite ausfüllt */
  height: auto; /* Verhindert Verzerrungen */
  object-fit: cover;
  transition: all 0.3s ease-in-out;
  margin-bottom: 0.5em;
}

/* Der Hover-Effekt triggert jetzt, sobald man das Kärtchen berührt */
.pic a:hover img {
  filter: grayscale(100%);
}

.mo {
  display: inline-block;
  background: #ee8042;
  color: #fff; /* Lesbarkeit des Textes auf Orange */
  padding: 0.2em;
  border-radius: 6px;
  margin-top: 0.5em;
  width: 60%;
}

.lightbox2 {
position : fixed;
display : block;
overflow : hidden;
z-index : 1001;
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 : 1500 !important ;
width : 70%;
max-width : 800px;
min-height : 30em;
margin-left : auto;
margin-right : auto;
margin-top : 5em;
margin-bottom : 3em;
padding : 6em 5em;
background : #fff;
text-align : left;
}
.description ul {
margin-bottom : 1em !important ;
}
.center li {
margin-bottom: 0.5em;
}
.teampic {
float : right !important;
width : 25% !important;
margin : 0 0 1em 1em !important;
}

.description h3 {
font-size : 130%;
}
.topnav  {
width : 100%;
letter-spacing : 0.05em;
text-transform: uppercase;
background: rgba(255,255,255,0.95);
position: relative;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1000;
display : flex;
flex-wrap : wrap;
justify-content : center;
text-align : center;
overflow: hidden;
}
.topnav ul {
list-style-type : none;
list-style-image : none !important ;
text-align : center;
padding: 0.8em 0 0.8em 0;
margin: 0;
}
.topnav li {
float : left;
list-style-type : none;
text-align : center;
}
.topnav a {

display : block;
margin-right : 1em;
font-weight : normal;
color:  #000;
font-size : 95%;
transition : font-size 1s ease;
}
.topnav a:hover {
font-size : 110%;
}
.topnav a.currentpage, .topnav a.activeparent {
font-size : 97%;
font-weight: bold;
}

.li-text {
float : left;
width : 45%;
margin-bottom : 1.5em;
hyphens: auto;
}
.re-text img {
float : right;
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);
}

figure, .rightpic  {
float : right;
width : 32%;
margin : 0 0.5em 1.5em 4em;
}
figure img {
border : #dbdedd solid 3px;
}
figcaption {
font-size: 95%;
font-style: italic;
text-align: center;
padding: 0.6em;
color: gray;
line-height: 105%;
font-family: 'Crimson Text',serif !important;
}
.dark figcaption {
color: #000 !important;}
.li-text img, .rightpic {
border-radius: 12px;
}
.li-text img, .re-text img {
width : 100%;
height : auto;
border : #f3f2ee solid 4px;
margin-bottom : 0.5em;
}
.re-text {
float : right;
width : 42%;
margin-left : 3%;
margin-bottom : 1em;
hyphens: auto;
}
.re-text ul, .li-text ul, .mitte ul {
margin : 0.5em 0 0.5em 1em;
}
a.more {
display : inline-block;
background: #ee8042;
color: #fff;
text-align : center;
font-weight : normal;
text-transform : uppercase;
letter-spacing : 2px;
padding : 0.7em 1em 0.5em 1em;
font-size : 110%;
margin-bottom : 15px;
border-radius: 12px;}

blockquote {

font-family: 'Crimson Text',serif;

font-size: 180% !important;
font-weight: bold;
line-height: 110%;
width: 100%;
text-align: center;}
footer {
font-size : 90%;
background : #525254;
color : #dfe0e0;
padding: 2em 0 2em;
border-radius: 20px;
margin-bottom: 3em;
margin-top: 3em;
}
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 : 4em;
margin-bottom : 2em;
}
.shariff {
width : 20em;
}
.share {
width : 100% !important ;
text-align : center;
display : flex;
flex-wrap : wrap;
}
.required {
float : left;
width : 45%;
margin-right : 4%;
}
label {
float : left !important ;
display : block;
margin-bottom : 0.5em;
}
input, textarea, select {
width : 100%;
margin-bottom : 1em;
border: none;
border-radius : 12px;
background: #e3e7e6;
padding-left : 0.3em;
height : 2.5em;
font-size : 100%;
box-sizing : content-box;
font-family : 'ubuntu';
}
textarea {
height : 10em;
clear : both !important ;
float : none;
}
.cms_checkbox {
width : 1em;
clear : both;
float : left;
margin-right : 0.5em;
margin-bottom : 0;
}
.cms_submit {
width : 60%;
height : 2em;
color : #fff;
border: none !important;
}
.cms_select {
height: auto;
padding: 2%;
}
.cms_submit.fbsubmit, .search-button {
background : #fff;
background : #ee8042;
color : #fff;
font-size : 100%;
}
.search-button {
font-size : 100%;
}
.kontakt .required {
float : none !important ;
width : 100% !important ;
}
.captcha {
width : 45%;
clear : both;
float : none;
}
.captcha img {
clear : both;
box-shadow : none !important ;
width : 40% !important ;
height : auto !important ;
float : none;
margin : 0.5em 0 0.5em 0;
}
.kontakt .captcha {
width : 100%;
float : none !important ;
}
.confirm, .error_message {
position : absolute !important;
background : rgba(255,255,255,0.95);
padding :2%;
top : -0.4em;
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);
}
.topnav .toggle-icon, .menu-toggle-btn {
  display: none;
}



@media screen and (max-width: 53em) {
html, body {
min-height: 100% !important;
height: 100% !important;
}
.parallax {
background-attachment : scroll !important;
background-position : center center !important;
margin-top: 3em;
}

.description {
width : 70% !important ;
max-width : 70% !important ;
}
.center {
width : 90% !important ;
}
.topnav a {
display : none;
}
  .topnav a {display: none;}
.topnav {
  position: fixed !important; 
top: 5.2em;
right: 0;
width: 44px;
height: 44px;
display: block !important;
z-index: 1;
background: none;
text-transform: none;
}


/* 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: 32px;             
  height: 32px;
margin: 0 !important;
  cursor: pointer;     
z-index: 100000;
}



.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: 32px;
  height: 32px;
  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 {
    display: block;
    float: none !importnat;
    text-align: left;
    border: none !important;
font-size: 105%;
  }
.topnav.responsive a.currentpage {
color: #32957b;
}
.topnav.responsive li {
float: none;
margin-top: 1em;
}

.topnav.responsive a.currentpage {
background: none;
}
.topnav a::after {
transform: none;
height: 0;
}
.topnav a:hover::after {
transform: none;
}
.top-container img {width: 6em; margin: 0.4em 0 0.4em 0;}
.mleft, .menuright {
position: static;
width: auto;
text-align: center;
}
.mleft {
left: 0;
}
.menuright {
width: 100% !important;
float: none;
}


#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;
height : 80%;
}

.sm {
width : 36% !important ;
}


#logo {
z-index : 1000;
}
footer {
padding-bottom : 2.5em !important ;
}
.foot {
float : none !important ;
}
}
@media screen and (max-width: 700px) {
.parallax h1, .title span {
hyphens: auto;
font-size: 120%;
font-family: 'Varela Round';
}
#wrapper {
width: 92%;
}
.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 0.3em 0;
}
.thumblist {
overflow : visible !important ;
}
.pic {
width : 95% !important ;
margin : 0 5% 15% 0 !important;
}
.sm {
width : 86% !important ;
}
.back img {
width : 70%;
text-align : left;
}
.top-container {
text-align: center;
padding-right: 1%;
padding-left: 1%;
}
.mleft, .menuright {
float: none;
}
}
@media screen and (max-width: 450px) {
#logo {
font-size : 100%;
}
.cont h1 {
font-size : 140% !important ;
}
.sub {
line-height: 110%;
font-size: 95%;
margin-top: 0.5em;}
h2, .headl2 {font-size: 140% !important;}
#paartherapie {
    font-weight: normal;
}


.pic {
margin-right : 0 !important ;
float: none !important;
margin : 0 5% 25% 0 !important;
}
.teampic {width: 100% !important;}
}



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