@font-face{font-family:"Open Sans";src:url(/files/assets/fonts/OpenSans-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url(/files/assets/fonts/OpenSans-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Open Sans";src:url(/files/assets/fonts/OpenSans-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url(/files/assets/fonts/OpenSans-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Open Sans";src:url(/files/assets/fonts/OpenSans-ExtraBold.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}

:root{
  --yellow:#fab80a; --yellow-dark:#d99c00; --blue:#4fa9dc;
  --text:#5a5a5c; --dark:#3c3c3e; --darker:#2e2e30; --light:#eceef2; --line:#e4e6eb;
  --bg:#f3f4f6; --white:#fff;
  --maxw:1240px; --gutter:clamp(16px,3vw,40px); --radius:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.7 "Open Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;vertical-align:middle}
picture{display:contents}
a{color:var(--yellow-dark);text-decoration:none}
a:hover{color:var(--dark);text-decoration:underline}
h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:700;line-height:1.3;margin:1.4em 0 .6em}
h1{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
h2{font-size:clamp(1.2rem,1.05rem + .6vw,1.45rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
table{border-collapse:collapse}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:100;background:var(--white);padding:8px 12px}

.page{max-width:var(--maxw);margin:0 auto;background:var(--white);box-shadow:0 0 40px rgba(0,0,0,.06)}

/* header */
.site-header{position:relative;padding:0 var(--gutter);display:flex;align-items:flex-end;min-height:120px}
.site-header .logo{position:absolute;left:var(--gutter);top:clamp(16px,4vw,48px);z-index:2;max-width:42%}
.site-header .logo img{width:clamp(180px,24vw,301px);display:block}
.site-header .header-team img{display:block;width:100%;max-width:none;margin-top:12px}
@media (min-width:900px){.site-header .header-team img{width:min(100%,1160px);margin-left:auto}}
@media (max-width:640px){
  .site-header{flex-direction:column;align-items:stretch;padding-top:16px}
  .site-header .logo{position:static;max-width:none}
  .site-header .header-team img{margin-top:8px}
}

/* navigation */
.mainnav{background:var(--dark);margin:0 var(--gutter);position:relative;z-index:20}
.mainnav ul{list-style:none;margin:0;padding:0}
.menu{display:flex;flex-wrap:wrap}
.menu>li{position:relative}
.menu>li>a{display:flex;align-items:center;height:52px;padding:0 15px;color:#fff;font-size:15px;white-space:nowrap}
.menu>li.strong>a{font-weight:700}
.menu>li.home>a{width:54px;justify-content:center;background:var(--yellow)}
.menu>li.home svg{width:24px;height:24px;fill:#fff}
.menu>li>a:hover,.menu>li:hover>a,.menu>li.active>a{background:var(--yellow);color:#fff;text-decoration:none}
.menu .sub{position:absolute;left:0;top:100%;min-width:230px;background:var(--yellow);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.menu>li:hover>.sub,.menu>li:focus-within>.sub{opacity:1;visibility:visible;transform:none}
.menu .sub a{display:block;padding:11px 16px;color:#fff;font-size:14.5px}
.menu .sub a:hover,.menu .sub a[aria-current]{background:rgba(0,0,0,.08);text-decoration:none}
.sub-toggle{display:none}
.nav-toggle{display:none}
@media (max-width:1139px){
  .nav-toggle{display:flex;align-items:center;gap:12px;width:100%;height:52px;padding:0 16px;border:0;background:var(--dark);color:#fff;font:700 15px "Open Sans",sans-serif;cursor:pointer;flex-wrap:wrap;align-content:center}
  .nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:0;flex-basis:100%;max-width:22px}
  .nav-toggle{display:grid;grid-template-columns:22px auto;grid-template-rows:repeat(3,2px);row-gap:5px;column-gap:14px;align-content:center}
  .nav-toggle span{grid-column:1}
  .nav-toggle b{grid-column:2;grid-row:1/4;align-self:center;line-height:1}
  #menu{display:none;border-top:3px solid var(--yellow)}
  .mainnav.open #menu{display:block}
  .menu{display:block}
  .menu>li{border-top:1px solid rgba(255,255,255,.08)}
  .menu>li>a{height:50px}
  .menu>li.home>a{width:auto;justify-content:flex-start;background:none}
  .menu .sub{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;background:var(--darker)}
  .menu li.open>.sub{display:block}
  .menu .sub a{padding:12px 16px 12px 32px}
  .sub-toggle{display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:0;width:52px;height:50px;border:0;background:rgba(0,0,0,.2);cursor:pointer}
  .sub-toggle svg{width:24px;height:24px;fill:#fff;transition:transform .2s}
  li.open>.sub-toggle svg{transform:rotate(180deg)}
}

/* slider */
.slider{position:relative;margin:20px var(--gutter) 0;overflow:hidden;background:var(--light)}
.slider-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.slider-track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start}
.slide img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block}
.slider-prev,.slider-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;background:rgba(250,184,10,.9);color:#fff;font-size:34px;line-height:1;cursor:pointer}
.slider-prev{left:0;border-radius:0 var(--radius) var(--radius) 0}
.slider-next{right:0;border-radius:var(--radius) 0 0 var(--radius)}
.slider-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px}
.slider-dots button{width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}
.slider-dots button[aria-current]{background:#fff}

/* layout */
.container{display:grid;gap:clamp(24px,4vw,56px);padding:clamp(8px,2vw,24px) var(--gutter) 56px}
.container.with-aside{grid-template-columns:minmax(0,1fr) 320px}
@media (max-width:900px){.container.with-aside{grid-template-columns:1fr}}
main>:first-child>h1:first-child,main>h1:first-child,main .bordered:first-child h1{margin-top:1em}

.bordered h1,.bordered h2,.bordered h3{padding-bottom:10px;border-bottom:2px solid var(--yellow)}
.float-left,.float_left img{float:left;margin:0 24px 12px 0}
.float-right{float:right;margin:0 0 12px 24px}
.ce_text::after,.bordered::after{content:"";display:block;clear:both}
@media (max-width:520px){.float-left,.float-right{float:none;display:block;margin:0 auto 16px}}

.cols{display:grid;gap:clamp(20px,3vw,40px);margin:8px 0 24px}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cols-3-2{grid-template-columns:2fr 1fr}
@media (max-width:900px){.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.cols-2,.cols-3,.cols-3-2{grid-template-columns:1fr}}
@media (max-width:480px){.cols-4{grid-template-columns:1fr}}

/* service teasers with icons */
.service-link{text-align:center;padding:24px 18px;border-radius:var(--radius);background:var(--white);border:1px solid var(--line);transition:box-shadow .2s,transform .2s}
.service-link:hover{box-shadow:0 12px 30px rgba(0,0,0,.08);transform:translateY(-2px)}
.service-link h2{margin:.4em 0 .5em}
.service-link h2 a{color:var(--text)}
.service-link p{font-size:15px}
.service-link::before,.appointment [class*=icon-]::before{content:"";display:block;width:44px;height:44px;margin:0 auto;background:var(--dark);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.icon-check{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7h-2v7H5V5h11V3h-2zm-1.4 1L10 11.6 7.4 9 6 10.4l4 4 9-9z'/%3E%3C/svg%3E")}
.icon-smile{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm-3.5-9A1.5 1.5 0 1 0 8.5 8a1.5 1.5 0 0 0 0 3zm7 0A1.5 1.5 0 1 0 15.5 8a1.5 1.5 0 0 0 0 3zM12 17.5c2.3 0 4.3-1.5 5-3.5H7c.7 2 2.7 3.5 5 3.5z'/%3E%3C/svg%3E")}
.icon-star-empty{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 9.2l-7.2-.6L12 2 9.2 8.6 2 9.2l5.5 4.7L5.8 21 12 17.3 18.2 21l-1.6-7.1zM12 15.4l-3.8 2.3 1-4.3-3.3-2.9 4.4-.4L12 6.1l1.7 4 4.4.4-3.3 2.9 1 4.3z'/%3E%3C/svg%3E")}
.icon-phone{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E")}
.icon-comment{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 2.2 1.1 4.2 3 5.6V21l4-2.3c1 .2 2 .3 3 .3 5.5 0 10-3.6 10-8s-4.5-8-10-8z'/%3E%3C/svg%3E")}

/* accordion */
details.accordion{margin:20px 0;border-radius:var(--radius);background:var(--light)}
details.accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;font-weight:700}
details.accordion summary::-webkit-details-marker{display:none}
details.accordion summary h2,details.accordion summary h3{margin:0;font-size:1.15rem;border:0;padding:0}
details.accordion summary::after{content:"+";flex:0 0 26px;height:26px;border-radius:50%;background:var(--yellow);color:#fff;display:grid;place-items:center;font-size:20px;line-height:1}
details.accordion[open] summary::after{content:"–"}
.accordion-body{padding:4px 18px 16px;background:var(--white);border:1px solid var(--light);border-top:0}

/* sidebar */
.sidebar h2{font-size:1.2rem;margin:1.4em 0 .6em}
.appointment .ce_text{background:var(--light);margin:0 0 10px;border-radius:var(--radius);transition:background .2s}
.appointment .ce_text:hover{background:#e2e5ea}
.appointment .ce_text p{margin:0}
.appointment .ce_text a{display:flex;align-items:center;gap:16px;padding:12px 16px;color:var(--text);font-size:14.5px;line-height:1.45}
.appointment .ce_text a:hover{text-decoration:none}
.appointment [class*=icon-]{display:block}
.appointment [class*=icon-]::before{display:none}
.appointment .icon-phone a::before,.appointment .icon-comment a::before{content:"";flex:0 0 30px;height:30px;background:var(--dark);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.layout_simple{display:flex;gap:14px;align-items:center;background:var(--light);border-radius:var(--radius);padding:10px;margin:0 0 10px}
.layout_simple time{flex:0 0 48px;height:48px;background:var(--yellow);color:#fff;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}
.date_box_day{font-weight:800;font-size:20px}
.date_box_month{font-size:13px}
.layout_simple a{color:var(--text);font-size:14.5px;line-height:1.4}
.hyperlink_block{display:inline-block;background:var(--yellow);color:#fff !important;padding:6px 14px;border-radius:4px;font-weight:600}
.hyperlink_block:hover{background:var(--yellow-dark);text-decoration:none}

/* contact */
.map-placeholder{display:grid;place-items:center;min-height:260px;background:var(--light);border-radius:var(--radius);padding:24px;text-align:center;margin-bottom:12px}

/* footer */
.site-footer{background:var(--dark);color:#ebebeb;padding:36px var(--gutter) 24px;font-size:14px;line-height:1.55}
.site-footer h4{color:#ebebeb;font-size:1.05rem;margin:0 0 .8em}
.site-footer a{color:var(--yellow)}
.site-footer td{padding:2px 10px 2px 0;vertical-align:top}
.site-footer .cols-4{margin:0}
.site-footer .cols-3-2{border-top:1px solid rgba(255,255,255,.15);margin-top:28px;padding-top:16px;font-size:13px}
.site-footer .hyperlink_block{color:#fff !important;padding:4px 12px;font-size:13px}
.site-footer img[width="35"]{width:35px}

/* cookie note: minimal, inside the footer */
.cookie-note{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:16px;padding:12px 16px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);font-size:12.5px;line-height:1.5;color:#cfcfd2}
.cookie-note[hidden]{display:none}
.cookie-note p{margin:0;flex:1 1 420px}
.cookie-note button{flex:0 0 auto;border:0;border-radius:4px;background:var(--yellow);color:#fff;font:600 13px "Open Sans",sans-serif;padding:7px 14px;cursor:pointer}
.cookie-note button:hover{background:var(--yellow-dark)}

/* floating buttons */
.doctolib-btn{position:fixed;z-index:50;top:180px;right:0;width:104px;padding:10px;background:#107aca;color:#fff;font-size:14px;line-height:1.35;text-align:center;border-radius:6px 0 0 6px;opacity:.92;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.doctolib-btn span{display:block;font-weight:700;margin-top:4px}
.doctolib-btn:hover{opacity:1;color:#fff;text-decoration:none}
@media (max-width:700px){.doctolib-btn{top:auto;bottom:0;right:auto;left:0;width:100%;border-radius:0;padding:12px;opacity:1}.doctolib-btn span{display:inline;margin-left:6px}body{padding-bottom:46px}}
.to-top{position:fixed;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .2s;z-index:40}
.to-top.show{opacity:1;pointer-events:auto}
.to-top svg{width:28px;height:28px;fill:#fff}
@media (max-width:700px){.to-top{bottom:60px}}

/* galleries */
.ce_gallery ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.ce_gallery img{width:100%;border-radius:4px}

@media (min-width:1600px){:root{--maxw:1360px}body{font-size:17px}}
@media print{.mainnav,.doctolib-btn,.to-top,.cookie-note,.slider-prev,.slider-next{display:none}}
@media (max-width:1139px){.nav-toggle{justify-content:start;text-align:left}}
@media (max-width:640px){.slider-prev,.slider-next{width:32px;height:46px;font-size:26px}}

/* team / image cards */
.colset figure{margin:0 0 10px;position:relative;overflow:hidden;border-radius:4px}
.colset figure img{width:100%;display:block;transition:transform .35s}
.colset figure:hover img{transform:scale(1.03)}
.colset figcaption{position:absolute;left:0;right:0;bottom:0;padding:8px 12px;background:rgba(250,184,10,.92);color:#fff;font-weight:600;font-size:14px;transform:translateY(100%);transition:transform .25s}
.colset figure:hover figcaption{transform:none}
.colset h2{font-size:1.1rem}
@media (max-width:900px){.colset.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.colset.cols-3{grid-template-columns:1fr}}
main .slider{margin:20px 0}

/* sidebar sub navigation */
.subnav{margin:1.4em 0 0}
.subnav ul{list-style:none;margin:0;padding:0}
.subnav li{margin:0 0 3px}
.subnav a,.subnav span{display:block;padding:8px 14px 8px 28px;background:var(--light);color:var(--text);font-size:14.5px;border-radius:4px;position:relative}
.subnav a::before,.subnav span::before{content:"›";position:absolute;left:12px;top:6px;font-weight:700}
.subnav a:hover,.subnav .active,.subnav span.active{background:var(--yellow);color:#fff;text-decoration:none}
.sidebar p a{font-weight:600}

.hero{margin:20px var(--gutter) 0}
.hero figure{margin:0}
.hero img{width:100%;display:block}

/* news list (Aktuelles) */
.layout_latest{position:relative;padding-left:74px;margin-bottom:48px}
.layout_latest time{position:absolute;left:0;top:4px;width:54px;padding:6px 0;background:var(--yellow);color:#fff;text-align:center;border-radius:4px;line-height:1.1}
.layout_latest h2{margin-top:0;padding-bottom:10px;border-bottom:1px solid var(--line)}
.layout_latest h2 a{color:var(--text)}
.layout_latest h2 a:hover{color:var(--yellow-dark)}
.layout_latest .teaser img{border-radius:4px}
.layout_latest .info{clear:both;margin-top:20px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;color:#8a8a8d}
.layout_latest .info span{margin-right:16px}
@media (max-width:600px){.layout_latest{padding-left:0}.layout_latest time{position:static;display:inline-flex;gap:6px;padding:4px 10px;margin-bottom:8px}}
.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:24px 0}
.pagination ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.pagination p{margin:0;font-size:14px}
.pagination a,.pagination span{display:block;padding:6px 13px;background:var(--light);color:var(--text);border-radius:4px}
.pagination a:hover,.pagination span{background:var(--yellow);color:#fff;text-decoration:none}
h1.bordered,h2.bordered{padding-bottom:10px;border-bottom:2px solid var(--yellow)}
.sub-toggle svg{display:block;transform-origin:50% 50%}
