@charset "utf-8";

/* Reset & Base ========================= */
:where(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; }
:where(article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section) { display:block; }
ol, ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote::before, blockquote::after, q::before, q::after { content:none; }
table { border-collapse:collapse; border-spacing:0; }
*, *::before, *::after { box-sizing:border-box; }

#cssmenu #menu-button:before,
#cssmenu #menu-button:after,
#cssmenu #menu-button::before,
#cssmenu #menu-button::after { box-sizing: content-box }

html { width:100%; height:100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust:100%; font-size:16px; scroll-behavior: smooth; scroll-padding-top: 10px; /* Optional: Verhindert abruptes Stoppen */}
body { background-color:#fff; font-family: 'Open Sans', sans-serif; font-size: 16px; color:#333; width:100%; height:100%; border:0 none; padding:0; margin:0; scroll-behavior: smooth; transition: filter 0.3s ease; }	
img { image-rendering: -webkit-optimize-contrast;  max-width: 100%; max-height: auto;}

/* Scrollbars */
* {scrollbar-width:thin; scrollbar-color:#A73D4C #ffffff }
/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {width: 15px !important }
*::-webkit-scrollbar-track {background-color: transparent !important }
*::-webkit-scrollbar-thumb {background-color: #A73D4C !important; border-radius: 20px !important; border: 1px solid #fff !important }

#data { position:relative; overflow:hidden; z-index:1; width:100%; margin:0px auto; background:#eaeaea}
#data1 { position:relative; top:0px; z-index:3; width:100%;  margin:0px auto; -moz-box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.8); -webkit-box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.8); box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.8); 
         -moz-box-shadow: 0px -2px 6px rgba(0, 0, 0, 0.8); -webkit-box-shadow: 0px -2px 6px rgba(0, 0, 0, 0.8); box-shadow: 0px -2px 6px rgba(0, 0, 0, 0.8);}
#data4 { position:relative; z-index:2; width:100%; margin:0 auto; padding:100px 0; background-color:#eaeaea; background-position:center center; background-repeat:no-repeat; background-size:cover; background-attachment:fixed; box-shadow:inset 0 10px 10px -10px rgba(0,0,0,1); transition:padding height 0.3s ease; }
#main { position:relative; width:100%; top:0px; margin:0px auto; } 

.bg-aligned {display: block; margin-left: auto; margin-right: 0;}

#header {
 position:absolute; z-index:100; height:160px; width:100%; margin:0px auto; border: 0px solid #000000;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#aaaaaa+0,ffffff+100 */
background: rgb(170,170,170); /* Old browsers */
background: -moz-linear-gradient(45deg,  rgba(170,170,170,0.90) 0%, rgba(255,255,255,0.90) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(45deg,  rgba(170,170,170,0.90) 0%,rgba(255,255,255,0.90) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(45deg,  rgba(170,170,170,0.90) 0%,rgba(255,255,255,0.90) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aaaaaa', endColorstr='#ffffff',GradientType=1 ); }
#head_cont { position:relative; margin:0px auto; width:100%; height:100%; }	

#menu { position:absolute; z-index:90; top:160px; background: rgba(213, 214, 216, 0.95);; width:100%; height:auto; border-top:3px solid ; border-bottom:3px solid ; -moz-border-image: -moz-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%);
	    -webkit-border-image: -webkit-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%); -o-border-image: linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%); border-image: linear-gradient(to right, #666666 0%, #ffffff 20% 80%, #666666 100%); border-image-slice: 1;
        -moz-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4); -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4) }   
#menu_cont { position:relative; z-index:80; width:300px; top:0px; right:0px; margin-left:auto; margin-right:0;} 
    
logo { position:absolute; top:5px; left:40px; width:80px; height:auto}
l-t1 { position:absolute; top:20px; left:160px; font-size:26px; font-family: 'Open Sans', sans-serif; font-weight:700; letter-spacing:0px; color:#333}
l-t2 { position:absolute; top:55px; left:160px; font-size:22px; font-family: 'Open Sans', sans-serif; font-weight:500; letter-spacing:0px; color:#333}
adrs { position:absolute; top:20px; right:30px; text-align:right; font-size:18px; font-family: 'Open Sans', sans-serif; font-weight:500; letter-spacing:0px; color:#666 }
.txteff2 { position:absolute; z-index:100; top:120px; left:160px; overflow:hidden; width:500px; height:50px; display:flex; font-size:20px; font-family: 'Open Sans', sans-serif; font-weight:normal; letter-spacing:1px; color:#666 }

#content1 { position: relative; z-index:20; text-align:left; width:1200px; padding: 120px 0px 0 0px; margin:0px auto;} 
#content2 { position: relative; z-index:20; text-align:center; width:1200px; padding: 120px 0px 0 0px; margin:0px auto;} 

.box-center{
text-align:center;
width:100%;
}

/* Foot ---------------------------------------------------------------------- */
#foot{ position:relative; z-index:90; width:100%; height:300px; margin:0 auto; 
       border-top: 4px solid transparent; -moz-border-image: -moz-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%); -webkit-border-image: -webkit-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%);
	   border-image: linear-gradient(to right, #666666 0%, #ffffff 20% 80%, #666666 100%); border-image-slice: 1;
       background: rgba(210,212,217,0.8);
       background: -moz-linear-gradient(top, rgba(210,212,217,0.8) 0%, rgba(157,157,163,1) 100%);
       background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(210,212,217,0.8)), color-stop(100%, rgba(157,157,163,0.8)));
       background: -webkit-linear-gradient(top, rgba(210,212,217,0.8) 0%, rgba(157,157,163,0.8) 100%);
       background: -o-linear-gradient(top, rgba(210,212,217,0.8) 0%, rgba(157,157,163,0.8) 100%);
       background: -ms-linear-gradient(top, rgba(210,212,217,0.8) 0%, rgba(157,157,163,0.8) 100%);
       background: linear-gradient(to bottom, rgba(210,212,217,0.8) 0%, rgba(157,157,163,0.8) 100%);
       filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d4d9', endColorstr='#9d9da3', GradientType=0 ); -webkit-box-shadow: 0px -8px 8px -2px rgba(120,120,120,0.8) }
#foot_cont{ position:relative; top:0px; text-align:left; width:100%; height:270px; margin:0px auto }

bgf1 { position:absolute; bottom:0px; left:0px; width:650px; height:auto}

.web-by { position:relative;} 
.publisher{ position:relative; z-index:100; width:100%; height:30px; background: rgba(51, 51, 51, 0.95); margin:0 }
.publisher_cont{ position:relative; top:8px; left:30px; text-align:left; width:1000px; height:20px; margin:0px  }

.abstand1{ line-height:100px}
.abstand2{ line-height:200px}
.abstand3{ line-height:300px}
.abstand4{ line-height:400px}

.flexbox1 { position:relative; display: -webkit-box;display: -moz-box;display: -ms-flexbox;display: -webkit-flex;display: flex;  -webkit-flex-flow: row wrap;justify-content: space-around;margin:0px -4px -4px 0px }
.flexbox2 { position:relative; display: -webkit-box;display: -moz-box;display: -ms-flexbox;display: -webkit-flex;display: flex;  -webkit-flex-flow: row wrap;justify-content:flex-start}
.flexbox3 { position:relative; display: -webkit-box;display: -moz-box;display: -ms-flexbox;display: -webkit-flex;display: flex;  -webkit-flex-flow: row wrap;margin:0px -10px -10px 0px }

/* Layouts ------------------------------------------------------------------ */
.ihead { position:relative; top:4px; width:20px; height:auto }
.l-p1 { position:relative; width:14px; height:14px; margin: 2px 10px 0 0; -moz-box-shadow:1px 1px 2px #333333; -webkit-box-shadow:1px 1px 2px #333333; box-shadow:1px 1px 2px #333333 }
.ifoot1 { position:relative; top:10px; width:200px; height:auto}
.i-kf1 { position:relative; z-index:10; width:450px; height:auto; left:0px} 
.ikont1 { position:relative; top:6px; padding-right:6px; width:25px; height:auto }
.cont_bg1 { position:absolute; z-index:1; width:90%; bottom:-300px; right:0px; height:auto; filter: alpha(opacity=80); opacity:0.8 } 
.cont_bg2 { position:absolute; z-index:1; width:80%; top:0px; left:0px; height:auto; filter: alpha(opacity=50); opacity:0.5 } 
.qinfo1 { position:absolute; z-index:10; bottom:-2px; width:400px; height:auto; left:0px; }

/* Bilder Box (Random) -------------------------------------------------------------------------------------------------------------------------------------------------------- */
.image-box1 { width:100%; max-width:2000px; margin:auto; aspect-ratio:2000/600; background:#eee; position:relative; overflow:hidden; border:2px solid #ccc; border-radius:100px; }
.image-box1::before { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; box-shadow:inset 0 0 50px rgba(0,0,0,0.35); z-index:2; }
.image-box1 img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; opacity:0; transition:opacity 2s ease-in-out; z-index:1; }
.image-box1 img.active { opacity:1; }

:root{--zoom-min:1;--zoom-max:1.10;--zoom-dur:12s;--hold-dur:10s;}
.picbox{position:relative;max-width:1200px;margin:0 auto;aspect-ratio:3/4;overflow:hidden;isolation:isolate;background:transparent;box-shadow:0 18px 20px rgba(0,0,0,.5);}
.picbox::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;background:linear-gradient(to right,rgba(102,102,102,.9) 0%,rgba(255,255,255,.95) 20%,rgba(255,255,255,.95) 80%,rgba(102,102,102,.9) 100%);}
.picbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center;transform:scale(var(--zoom-min));animation:zoomLoop calc((var(--zoom-dur) * 2) + (var(--hold-dur) * 2)) ease-in-out infinite;user-select:none;-webkit-user-drag:none;}
.picbox::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.38) 100%);}
@keyframes zoomLoop{0%{transform:scale(var(--zoom-min));}27.27%{transform:scale(var(--zoom-max));}50%{transform:scale(var(--zoom-max));}77.27%{transform:scale(var(--zoom-min));}100%{transform:scale(var(--zoom-min));}}
@media (prefers-reduced-motion: reduce){.picbox img{animation:none!important;}}

/* Karten (Map) -------------------------------------------------------------------------------------------------------------------------------------------------------- */
#map { position:relative; width:80%; height:500px; border-radius:20px; border-top:2px solid #fff; border-right:2px solid #fff; box-shadow:0 4px 6px rgba(0,0,0,0.4); overflow:hidden; font-family: 'Open Sans', sans-serif; margin:0 auto; transition:height 0.3s ease; }
.map-expanded { height:800px !important; width:100% !important; border-radius:0 !important; border-top:2px solid #888 !important; border-right:0 solid #fff !important; }
.expand-button { position:absolute; bottom:10px; left:10px; padding:10px 14px; font-family: 'Open Sans', sans-serif; font-size:20px; border:none; border-radius:8px; background-color:white; color:white; cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,0.2); z-index:1000; }
.expand-button:hover { background-color:#f1f1f1; }
.map-icons { font-family:'Material Icons'; font-weight:normal; font-style:normal; font-size:24px; line-height:1; letter-spacing:normal; text-transform:none; display:inline-block; white-space:nowrap; direction:ltr; -webkit-font-feature-settings:'liga'; -webkit-font-smoothing:antialiased; color:#333; vertical-align:middle; transform:translateY(-2px); }

/* Tabellen / Sprechstunden ========================= */
.sprechstunden1 { position:relative; max-width:1000px; text-align:center;  overflow:hidden;   background-color:rgba(255,255,255,0.7); border-radius:20px; box-shadow:var(--shadow-soft); padding:40px 20px; margin:20px auto; 
    display:flex; flex-direction:column; align-items:center; border:0; border-spacing:0; border-collapse:collapse; }

.sprechstunden1::after{
  content:"";
  position:absolute;
  right:0px;
  bottom:0;
  width:350px;
  aspect-ratio:1/2;
  background:url("../layout/logo_figur.png") no-repeat right bottom;
  background-size:contain;
  opacity:.5;
  pointer-events:none;
  z-index:0;
}

.sprechstunden1 > *{
  position:relative;
  z-index:1;
}





.sprechstunden1 hr { border:none; text-align:left;  border-top:2px solid #888; width:80%; }
.sprechstunden2 { position:relative; z-index:100; width:600px; border:0; border-spacing:0px 0px; border-collapse:collapse; text-align:left; }
.box_zeiten1 { position:relative; width:100%; text-align:left; max-width:600px; margin:0 auto;  font-family: 'Open Sans', sans-serif; font-size:24px; color:#333; }
.box_zeiten2 { position:relative; width:800px; text-align:left; font-family: 'Open Sans', sans-serif; font-size:24px; color:#333;}

.tb1 { width:100%; border-collapse:collapse; }
.tb1a, .tb1c { padding:4px; text-align:left; }
.tb1b { text-align:center; width:80px; }
.zeiten1{ position:relative; top:8px; width:35px; height:35px } 

.tabelle2 { position:relative; width:1000px; height:auto; text-align:left; font-family: 'Open Sans', sans-serif;font-size:18px; color:#147aa6;}
.tb2a{ display: table-cell; vertical-align:text-top; width:2%}
.tb2b{ display: table-cell; vertical-align:text-top; width:92%; font-family: 'Open Sans', sans-serif; font-size: 16px; font-weight:normal; color:#666666}
.tb3a{ display: table-cell; vertical-align:text-top; width:2%}
.tb3b{ display: table-cell; vertical-align:text-top; width:70%; font-family: 'Open Sans', sans-serif; font-size: 18px; font-weight:normal; color:#147aa6}
.tb3c{ display: table-cell; vertical-align:text-top; width:28%; padding-left:10px; font-family: 'Open Sans', sans-serif;font-size: 18px; font-weight:normal; color:#666666}


/* Formular -------------------------------------------------------------------------------------------------------------------------------------------------------- */
.formular {
  position:relative;
  width: 100%    
  z-index:100;
  bottom:120px;
  left:0;
  right:0;
}
    .contact-section{max-width:90%;margin:0 auto;}
    .contact-section h2{font-size:34px;margin:0 0 15px;letter-spacing:0.04em;text-transform:uppercase;}
    .form-box{border-radius:24px;padding:24px 22px 26px;border:1px solid rgba(255,255,255,0.35);box-shadow:0 18px 46px -28px rgba(0,0,0,0.55);background:transparent;}
    .contact-form{display:flex;flex-direction:column;gap:18px;}
    .form-row{display:flex;flex-direction:column;gap:6px;}
    .contact-form input::placeholder,.contact-form textarea::placeholder{color:#999;opacity:1;}
    .contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form input[type="number"],.contact-form textarea{padding:12px 14px;border-radius:14px;border:1px solid rgba(0,0,0,0.18);font:inherit;outline:none;background:rgba(245,245,245,0.85);box-shadow:0 4px 14px -10px rgba(0,0,0,0.35);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .12s ease;}
    .contact-form textarea{resize:vertical;min-height:140px;}
    .contact-form input:focus,.contact-form textarea:focus{border-color:#c79a7b;background:rgba(245,245,245,1);box-shadow:0 8px 20px -14px rgba(0,0,0,0.5);transform:translateY(-1px);}
    .contact-form input:-webkit-autofill,.contact-form input:-webkit-autofill:hover,.contact-form input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px rgba(245,245,245,0.85) inset!important;box-shadow:0 0 0 1000px rgba(245,245,245,0.85) inset!important;-webkit-text-fill-color:#333;caret-color:#333;}
    .form-row-math small{color:#777;font-size:12px;}
    .error-message{color:#b00020;font-size:13px;display:none;margin-top:2px;}
    .char-counter{font-size:14px;color:#333;text-align:right;margin-top:4px;}
    .btn-send{align-self:flex-start;padding:11px 32px;border-radius:999px;border:none;font:inherit;font-weight:500;cursor:pointer;background:linear-gradient(135deg,#CCD47D,#9AA557);color:#fff;letter-spacing:0.06em;text-transform:uppercase;box-shadow:0 14px 30px -18px rgba(0,0,0,0.8);position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;}
    .btn-send::before{content:"";position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,0.9),transparent);transform:skewX(-20deg);opacity:0;pointer-events:none;}
    .btn-send.shimmer::before{opacity:.7;animation:shimmer 1.2s ease-in-out;}
    .btn-send:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 20px 40px -22px rgba(0,0,0,0.85);filter:brightness(1.07);}
    .btn-send:active{transform:translateY(0) scale(0.99);box-shadow:0 10px 20px -16px rgba(0,0,0,0.75);filter:brightness(0.97);}
    @keyframes shimmer{0%{left:-150%;}100%{left:150%;}}
    .form-row-privacy{font-size:13px;line-height:1.4;margin-top:10px;}
    .form-row-privacy label{text-transform:none;letter-spacing:0;color:#333;}
    .form-row-privacy input[type="checkbox"]{margin-right:8px;accent-color:#9AA557;}
    .form-row-privacy a{color:#616837;text-decoration:none;border-bottom:1px solid rgba(199,154,123,0.4);padding-bottom:1px;}
    .form-row-privacy a:hover{border-bottom-color:rgba(199,154,123,0.9);}
    .form-status{margin-top:12px;font-size:13px;color:#616837;display:none;}
    .form-status.error{color:#b00020;}
    @media(max-width:576px).contact-section h2{font-size:26px;}.form-box{padding:15px 12px 15px;}}


ul[class^="svg-marker"], ul[class^="svg-box"] { list-style-type:none; position:relative; padding-left:0px}
/* Pseudoelement für das Icon */
ul[class^="svg-marker"] li {position: relative; padding-left: 30px;}
ul[class^="svg-box"] li { position: relative; padding-left: 30px;}

/* Pseudoelement für das Icon */
ul[class^="svg-marker"] li::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; background-size: cover; background-position: center;}
ul[class^="svg-box"] li::before { content: ""; position: absolute; left: 0; top: 6px; width: 18px; height: 18px; background-size: cover; background-position: center;}

ul.svg-marker1 li::before { background-image: url('../layout/square1a.svg'); }

ul.svg-box1 li::before { background-image: url('../layout/square1a.svg'); } 
ul.svg-box2 li::before { background-image: url('../layout/square1b.svg'); } 

ul[class^="svg-marker"] li span { padding-left: 5px; }
ul[class^="svg-box"] li span { padding-left: 5px; }
/* Standard nummerierte Liste */
ol.numbers { list-style-type:decimal; }
ol.numbers1 {list-style-type:none; padding-left:20px;}
ol.numbers1 li::marker { content: counter(list-item) ". "; color:333; font-size:20px; font-weight:700; }

ul[class^="svg-box"] li.no-icon::before { content: none; display: none}
ul[class^="svg-box"] li.no-icon { padding-left: 30px; }


/* Effekts ---------------------------------------------------------------------- */	
.eff1 { transition: transform 0.4s, filter 0.5s ease-out; -webkit-transition: -webkit-transform 0.4s, filter 0.5s ease-out; transform-origin: 60% 80%; filter: brightness(100%) }
.eff1:hover { transform: scale(0.9) rotate(10deg); filter: brightness(90%) }

@keyframes textChange { 0% { opacity: 0; transform: translateX(-100%); } 5% { opacity: 1; transform: translateX(0); } 20% { opacity: 1; transform: translateX(0); } 25% { opacity: 0; transform: translateX(100%); } 100% { opacity: 0; transform: translateX(100%); } }
@keyframes fadeChange { 0% { opacity: 0; } 5% { opacity: 1; } 20% { opacity: 1; } 25% { opacity: 0; } 100% { opacity: 0; } }

.txteff2 span { position:absolute; opacity:0; animation:fadeChange 50s infinite;  width:100%; text-align:left }
.txteff2 span:nth-child(1) { animation-delay: 0s; }
.txteff2 span:nth-child(2) { animation-delay: 10s; }
.txteff2 span:nth-child(3) { animation-delay: 20s; }
.txteff2 span:nth-child(4) { animation-delay: 30s; }
.txteff2 span:nth-child(5) { animation-delay: 40s; }

.element1 { width:100%; opacity:0; transform:translateX(-100px); transition:all 0.8s ease-out }
.element1.visible { opacity:1; transform:translateX(0) }
.element1.hidden-out { opacity: 0; transform: translateX(-100px) }
.element2 { width:100%; opacity:0; transform:translateX(100px); transition:all 0.8s ease-out }
.element2.visible { opacity:1; transform:translateX(0) }
.element2.hidden-out { opacity: 0; transform: translateX(100px) }


.leaf-scene{position:relative; text-align: center; pointer-events:none;width:100%;z-index:10;height:300px;--stem-y:10%;--stem-height:2px;--stem-color:#616837;--leaf-width:24px;--leaf-height:40px;--leaf-fall-distance:430px;--leaf-default-alpha:.6;
            --leaf-default-scale:1;--leaf-default-drift-x:40px;--leaf-default-start-rot:0deg;--leaf-default-grow-rot:0deg;--leaf-default-fall-rot:120deg;}

.leaf-scene .stem-line{position:absolute;left:0;right:0;top:var(--stem-y);margin:auto;height:var(--stem-height);background:var(--stem-color);}

.leaf-scene .leaf{position:absolute;width:var(--leaf-width);height:var(--leaf-height);background:url("../layout/blatt1a.svg") center/contain no-repeat;transform-origin:50% 50%;opacity:0;animation:leafLife var(--leaf-duration,15s) linear forwards;}

@keyframes leafLife{
0%{opacity:0;transform:scale(calc(.1 * var(--leaf-scale,var(--leaf-default-scale)))) rotate(var(--start-rot,var(--leaf-default-start-rot)));}
10%,80%{opacity:var(--leaf-alpha,var(--leaf-default-alpha));transform:scale(var(--leaf-scale,var(--leaf-default-scale))) rotate(var(--grow-rot,var(--leaf-default-grow-rot)));}
100%{opacity:0;transform:translateY(var(--leaf-fall-distance)) translateX(var(--drift-x,var(--leaf-default-drift-x))) scale(var(--leaf-scale,var(--leaf-default-scale))) rotate(var(--fall-rot,var(--leaf-default-fall-rot)));}
}
/* GFX ---------------------------------------------------------------------- */
img { image-rendering: -webkit-optimize-contrast}

.img-sw {filter:grayscale(90%);}
.img-hell {filter:brightness(130%); }

linie1 { display:block; top:0px; width:100%; height:6px; background:#EF4D39; -webkit-transform: skew(-20deg); -moz-transform: skew(-20deg); -o-transform: skew(-20deg);transform: skew(-20deg) }
linie2 { display:block; top:0px; width:50%; height:6px; background:#EF4D39; -webkit-transform: skew(-20deg); -moz-transform: skew(-20deg); -o-transform: skew(-20deg);transform: skew(-20deg) } 
linie3 { display:block; top:0px; width:100%; height:1px; background:#333 }

hr.style-1 { border: none; border-top: 2px solid #999999 }

.shade1 { box-shadow:0 8px 10px -4px #333333 }
.border1 { border:1px solid #aaaaaa }

/* intro ---------------------------------------------------------------------- */	
.intro { position:relative;left:0px; width:100%; padding: 0px; margin:0px; border:0 none;font-family:arial,helvetica,sans-serif,verdana,'Open Sans' }
.intro2 { position:relative;left:0px; width:100%; padding: 0px; margin:0px; border:0 none; height: 200px;}
.introshade { position:absolute; Bottom:-22px}
#noscriptfeld { position:absolute; top:45%; text-align:center; font-family:Arial, Helvetica, sans-serif; font-size:38pt; font-weight:bold; width:100%; color:#cccccc }

/* Sehr große Screens */
@media only screen and (max-width: 1700px) {.cont_bg1 { position:absolute; z-index:1; width:80%; bottom:-300px; right:0px; height:auto; filter: alpha(opacity=80); opacity:0.8 } }

/* Sehr große Screens */
@media only screen and (max-width: 1230px) {
 
#header { position:relative; z-index:100; height:160px; width:100%; margin:0px auto }	
#head_cont { position:relative; margin:0px auto; width:100%; height:100% }   
#content1 { position:relative; z-index:20; text-align:left; width:100%; padding: 80px 30px 0 30px; box-sizing: border-box; margin:0px} 
#content2 { position:relative; z-index:20; text-align:center; width:100%; padding: 80px 30px 0 30px; box-sizing: border-box; margin:0px} 
.cont_bg1 { position:absolute; z-index:1; width:90%; bottom:-300px; right:0px; height:auto; filter: alpha(opacity=90); opacity:0.9 }
.image-box1 { width:100%; max-width:2000px; margin:auto; aspect-ratio:2000/600; background:#eee; position:relative; overflow:hidden; border:2px solid #ccc; border-radius:80px; }
    
#menu { position:relative; top:0px; z-index:90; background: rgba(213, 214, 216, 1); width:100%; height:auto; border-top:1.5px solid; border-bottom:1.5px solid } 
#menu_cont { position:relative; z-index:80; width:300px; top:0px; right:0px; margin-left:auto; margin-right:0} 
    
#foot{ position:relative; z-index:90; width:100%; height:300px; margin:0 auto; }
#foot_cont{ position:relative; top:0px; text-align:left; width:100%; height:270px; margin:0px auto }   
    
logo { position:absolute; top:5px; left:40px; width:80px; height:auto}
l-t1 { position:absolute; top:20px; left:160px; font-size:26px; font-family: 'Open Sans', sans-serif; font-weight:700; letter-spacing:0px; color:#333}
l-t2 { position:absolute; top:55px; left:160px; font-size:22px; font-family: 'Open Sans', sans-serif; font-weight:500; letter-spacing:0px; color:#333}
adrs { position:absolute; top:40px; right:20px; text-align:right; font-size:18px}
.txteff2 { position:absolute; z-index:100; top:120px; left:160px; overflow:hidden; width:500px; height:50px; display:flex; font-size:20px;font-weight:normal; letter-spacing:1px; color:#333 }
    
ul[class^="svg-box"] li::before { content: ""; position: absolute; left: 0; top: 4px; width: 15px; height: 15px; background-size: cover; background-position: center;}
}


/* 2. Bis 992px (Tablets quer / kleine Laptops) */
@media only screen and (max-width: 992px) {
    
#foot{ position:relative; z-index:90; width:100%; height:300px; margin:0 auto; 
       border-top: 4px solid transparent; -moz-border-image: -moz-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%); -webkit-border-image: -webkit-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%);
	   border-image: linear-gradient(to right, #666666 0%, #ffffff 20% 80%, #666666 100%); border-image-slice: 1;
       background: rgba(210,212,217,1);
       background: -moz-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(210,212,217,1)), color-stop(100%, rgba(157,157,163,1)));
       background: -webkit-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -o-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -ms-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: linear-gradient(to bottom, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d4d9', endColorstr='#9d9da3', GradientType=0 ); -webkit-box-shadow: 0px -8px 8px -2px rgba(120,120,120,1) }
    
#header { position:relative; z-index:100; height:140px; width:100%; margin:0px auto }
#head_cont { position:relative; margin:0px auto; width:100%; height:100% }   
#content1 { position:relative; z-index:20; text-align:left; width:100%; padding: 80px 15px 0 15px; box-sizing: border-box; margin:0px} 
#content2 { position:relative; z-index:20; text-align:center; width:100%; padding: 80px 15px 0 15px; box-sizing: border-box; margin:0px} 
#foot_cont{ position:relative; top:0px; text-align:left; width:100%; height:270px; margin:0px auto } 
    
#menu { position:relative; z-index:90; background:#D5D6D8; width:100%; height:auto; border-top:1.5px solid ; border-bottom:1.5px solid } 
#menu_cont { width:100%; height:auto; top:0px}
    
.cont_bg1 { position:absolute; z-index:1; width:80%; bottom:-2px; right:0px; height:auto; filter: alpha(opacity=80); opacity:0.8 } 
    
.image-box1 { width:100%; max-width:2000px; margin:auto; aspect-ratio:2000/600; background:#eee; position:relative; overflow:hidden; border:2px solid #ccc; border-radius:50px; }
.qinfo1 { position:absolute; z-index:10; bottom:-2px; width:350px; height:auto; left:0px; }
    
.sprechstunden1::after{ width:350px; aspect-ratio:1/2;}
.tb1 { width:100%; border-collapse:collapse; }
.tb1a, .tb1c { padding:4px; text-align:left; }
.tb1b { text-align:center; width:60px; }
.box_zeiten1 { position:relative; width:100%; text-align:left; max-width:600px; margin:0 auto;  font-family: 'Open Sans', sans-serif; font-size:20px; color:#333; }
.zeiten1{ position:relative; top:8px; width:28px; height:28px } 
    
logo { position:absolute; top:5px; left:20px; width:50px; height:auto}
l-t1 { position:absolute; top:20px; left:90px; font-size:22px; font-family: 'Open Sans', sans-serif; font-weight:700; letter-spacing:0px; color:#333}
l-t2 { position:absolute; top:50px; left:90px; font-size:16px; font-family: 'Open Sans', sans-serif; font-weight:500; letter-spacing:0px; color:#333}
adrs { position:absolute; top:20px; right:20px; text-align:right; font-size:16px}
.txteff2 { position:absolute; z-index:100; top:100px; left:90px; overflow:hidden; width:500px; height:50px; display:flex; font-size:15px;font-weight:normal; letter-spacing:1px; color:#666 }
    
ul[class^="svg-box"] li::before { content: ""; position: absolute; left: 0; top: 4px; width: 14px; height: 14px; background-size: cover; background-position: center;} 

    
} 

/* 3. Bis 768px (Tablets hochkant / große Phones quer) */
@media only screen and (max-width: 768px) {

#foot{ position:relative; z-index:90; width:100%; height:350px; margin:0 auto; 
       border-top: 4px solid transparent; -moz-border-image: -moz-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%); -webkit-border-image: -webkit-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%);
	   border-image: linear-gradient(to right, #666666 0%, #ffffff 20% 80%, #666666 100%); border-image-slice: 1;
       background: rgba(210,212,217,1);
       background: -moz-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(210,212,217,1)), color-stop(100%, rgba(157,157,163,1)));
       background: -webkit-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -o-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -ms-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: linear-gradient(to bottom, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d4d9', endColorstr='#9d9da3', GradientType=0 ); -webkit-box-shadow: 0px -8px 8px -2px rgba(120,120,120,1) } 
    
#main { position:relative; overflow:hidden; width:100%; top:0px; margin:0px auto; } 
#header { position:relative; z-index:100; height:130px; width:100%; margin:0px auto }
#head_cont { position:relative; margin:0px auto; width:100%; height:100% }   
#content1 { position:relative; z-index:20; text-align:left; width:100%; padding: 80px 15px 0 15px; box-sizing: border-box; margin:0px} 
#content2 { position:relative; z-index:20; text-align:center; width:100%; padding: 80px 15px 0 15px; box-sizing: border-box; margin:0px} 
#foot_cont{ position:relative; top:0px; text-align:left; width:100%; height:320px; margin:0px auto }   
    
#menu { position:relative; z-index:90; background:#D5D6D8; width:100%; height:auto; border-top:1px solid ; border-bottom:1px solid } 
#menu_cont { width:100%; height:auto; top:0px} 
    
.cont_bg1 { position:absolute; z-index:1; width:90%; bottom:-2px; right:0px; height:auto; filter: alpha(opacity=80); opacity:0.8 } 
    
.image-box1 { width:100%; max-width:2000px; margin:auto; aspect-ratio:2000/600; background:#eee; position:relative; overflow:hidden; border:2px solid #ccc; border-radius:0px; }
.qinfo1 { position:absolute; z-index:10; bottom:-2px; width:300px; height:auto; left:0px; }
    
.sprechstunden1::after{ width:300px; aspect-ratio:1/2;}
.tb1 { width:100%; border-collapse:collapse; }
.tb1a, .tb1c { padding:4px; text-align:left; }
.tb1b { text-align:center; width:50px; }
.box_zeiten1 { position:relative; width:100%; text-align:left; max-width:600px; margin:0 auto;  font-family: 'Open Sans', sans-serif; font-size:18px; color:#333; }
.zeiten1{ position:relative; top:8px; width:25px; height:25px } 
    
    
logo { position:absolute; top:5px; left:20px; width:45px; height:auto}
l-t1 { position:absolute; top:20px; left:90px; font-size:22px; font-family: 'Open Sans', sans-serif; font-weight:700; letter-spacing:0px; color:#333}
l-t2 { position:absolute; top:50px; left:90px; font-size:16px; font-family: 'Open Sans', sans-serif; font-weight:500; letter-spacing:0px; color:#333}
adrs { position:absolute; top:20px; right:20px; text-align:right; font-size:16px}
.txteff2 { position:absolute; z-index:100; top:95px; left:90px; overflow:hidden; width:500px; height:40px; display:flex; font-size:14px;font-weight:normal; letter-spacing:1px; color:#666 }
    
ul[class^="svg-box"] li::before { content: ""; position: absolute; left: 0; top: 4px; width: 12px; height: 12px; background-size: cover; background-position: center;} 
} 

/* 4. Bis 576px (Smartphones) */
@media only screen and (max-width: 576px) {

#foot{ position:relative; z-index:90; width:100%; height:450px; margin:0 auto; 
       border-top: 4px solid transparent; -moz-border-image: -moz-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%); -webkit-border-image: -webkit-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%);
	   border-image: linear-gradient(to right, #666666 0%, #ffffff 20% 80%, #666666 100%); border-image-slice: 1;
       background: rgba(210,212,217,1);
       background: -moz-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(210,212,217,1)), color-stop(100%, rgba(157,157,163,1)));
       background: -webkit-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -o-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -ms-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: linear-gradient(to bottom, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d4d9', endColorstr='#9d9da3', GradientType=0 ); -webkit-box-shadow: 0px -8px 8px -2px rgba(120,120,120,1) } 
    
#main { position:relative; overflow:hidden; width:100%; top:0px; margin:0px auto; } 
#header { position:relative; z-index:100; height:120px; width:100%; margin:0px auto }
#head_cont { position:relative; margin:0px auto; width:100%; height:100% }   
#content1 { position:relative; z-index:20; text-align:left; width:100%; padding: 80px 15px 0 15px; box-sizing: border-box; margin:0px} 
#content2 { position:relative; z-index:20; text-align:center; width:100%; padding: 80px 15px 0 15px; box-sizing: border-box; margin:0px} 
#foot_cont{ position:relative; top:0px; text-align:left; width:100%; height:420px; margin:0px auto }   
    
#menu { position:relative; z-index:90; background:#D5D6D8; width:100%; height:auto; border-top:1px solid ; border-bottom:1px solid } 
#menu_cont { width:100%; height:auto; top:0px}
    
.cont_bg1 { position:absolute; z-index:1; width:100%; bottom:-2px; right:0px; height:auto; filter: alpha(opacity=80); opacity:0.8 } 
    
.image-box1 { width:100%; max-width:2000px; margin:0px; background:#eee; position:relative; overflow:hidden; border:2px solid #ccc; border-radius:0px; }
.qinfo1 { display: none}
    
.sprechstunden1::after{ width:200px; aspect-ratio:1/2;}
.tb1 { width:100%; border-collapse:collapse; }
.tb1a, .tb1c { padding:4px; text-align:left; }
.tb1b { text-align:center; width:40px; }
.box_zeiten1 { position:relative; width:100%; text-align:left; max-width:600px; margin:0 auto;  font-family: 'Open Sans', sans-serif; font-size:16px; color:#333; }
.zeiten1{ position:relative; top:8px; width:20px; height:20px } 
    
    
logo { position:absolute; top:5px; left:20px; width:45px; height:auto}
l-t1 { position:absolute; top:15px; left:80px; font-size:20px; font-family: 'Open Sans', sans-serif; font-weight:700; letter-spacing:0px; color:#333}
l-t2 { position:absolute; top:45px; left:80px; font-size:15px; font-family: 'Open Sans', sans-serif; font-weight:500; letter-spacing:0px; color:#333}
adrs { display:none}
.txteff2 { position:absolute; z-index:100; top:90px; left:90px; overflow:hidden; width:500px; height:40px; display:flex; font-size:14px;font-weight:normal; letter-spacing:1px; color:#666 }

ul[class^="svg-box"] li::before { content: ""; position: absolute; left: 0; top: 3px; width: 12px; height: 12px; background-size: cover; background-position: center;} 
} 

/* 4. Bis 340px (Smartphones) */
@media only screen and (max-width: 340px) {

#foot{ position:relative; z-index:90; width:100%; height:600px; margin:0 auto; 
       border-top: 4px solid transparent; -moz-border-image: -moz-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%); -webkit-border-image: -webkit-linear-gradient(left, #666666 0%, #ffffff 20% 80%, #666666 100%);
	   border-image: linear-gradient(to right, #666666 0%, #ffffff 20% 80%, #666666 100%); border-image-slice: 1;
       background: rgba(210,212,217,1);
       background: -moz-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(210,212,217,1)), color-stop(100%, rgba(157,157,163,1)));
       background: -webkit-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -o-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: -ms-linear-gradient(top, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       background: linear-gradient(to bottom, rgba(210,212,217,1) 0%, rgba(157,157,163,1) 100%);
       filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d2d4d9', endColorstr='#9d9da3', GradientType=0 ); -webkit-box-shadow: 0px -8px 8px -2px rgba(120,120,120,1) } 
    
#main { position:relative; overflow:hidden; width:100%; top:0px; margin:0px auto; } 
#header { position:relative; z-index:100; height:120px; width:100%; margin:0px auto }
#head_cont { position:relative; margin:0px auto; width:100%; height:100% }   
#content1 { position:relative; z-index:20; text-align:left; width:100%; padding: 80px 15px 0 15px; box-sizing: border-box; margin:0px}  
#content2 { position:relative; z-index:20; text-align:center; width:100%; padding: 80px 15px 0 15px; box-sizing: border-box; margin:0px} 
#foot_cont{ position:relative; top:0px; text-align:left; width:100%; height:570px; margin:0px auto }   
    
#menu { position:relative; z-index:90; background:#D5D6D8; width:100%; height:auto; border-top:1px solid ; border-bottom:1px solid } 
#menu_cont { width:100%; height:auto; top:0px}
    
.cont_bg1 { position:absolute; z-index:1; width:100%; bottom:-2px; right:0px; height:auto; filter: alpha(opacity=80); opacity:0.8 } 
    
.image-box1 { width:100%; max-width:2000px; margin:0px; background:#eee; position:relative; overflow:hidden; border:2px solid #ccc; border-radius:0px; }
.qinfo1 { display: none}
    
logo { position:absolute; top:5px; left:20px; width:45px; height:auto}
l-t1 { position:absolute; top:15px; left:80px; font-size:18px; font-family: 'Open Sans', sans-serif; font-weight:700; letter-spacing:-0.5px; color:#333}
l-t2 { position:absolute; top:45px; left:80px; font-size:14px; font-family: 'Open Sans', sans-serif; font-weight:500; letter-spacing:-0.5px; color:#333}
adrs { display:none}
.txteff2 { display:none}
    
ul[class^="svg-box"] li::before { content: ""; position: absolute; left: 0; top: 4px; width: 10px; height: 10px; background-size: cover; background-position: center;} 
} 


