/* TKB IT Support: shared layout (header, footer, cookie banner) and the base styles the IONOS theme gave every page */
@font-face{font-family:PatuaOne;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/PatuaOne.woff) format("woff")}

:root{
  --green:#388E3C;--green-dark:#2e7a32;--ink:#151515;--page:#f8f8f8;
  --fs:1;
  --font-size-h1:45px;--font-size-h2:37px;--font-size-h3:31px;--font-size-h4:26px;--font-size-h5:22px;--font-size-h6:18px;
  --line-height-h1:1.2;--line-height-h2:1.2;--line-height-h3:1.2;--line-height-h4:1.2;--line-height-h5:1.2;--line-height-h6:1.2;
  --hc1:#647565;--hc2:#647565;--hc3:#647565;--hc4:#647565;--hc5:#151515;--hc6:#151515;--anchor:#647565;--text:#151515
}
/* same font scaling as the IONOS theme: tablet 0.875, phone 0.875 x 0.875 */
@media (max-width:1023.95px){:root{--fs:.875}}
@media (max-width:767.95px){:root{--fs:.765625}}

html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font-family:PatuaOne,Georgia,serif}

/* ---------- content area (what the IONOS section around each HTML element gave) ---------- */
.tkb-main{display:block;background:var(--page)}
.tkb-content{width:min(960px,100% - 40px);margin:0 auto;padding:16px 0}
.tkb-content,.tkb-sec{font-family:PatuaOne,Georgia,serif;font-size:calc(16px * var(--fs));line-height:1.2;color:var(--text);overflow-wrap:break-word;word-wrap:break-word}
:is(.tkb-content,.tkb-sec) :is(h1,h2,h3,h4,h5,h6,p){margin:0;padding:0}
:is(.tkb-content,.tkb-sec) :is(h1,h2,h3,h4,h5,h6){font-family:PatuaOne,Georgia,serif;font-weight:400;letter-spacing:0;text-transform:none}
:is(.tkb-content,.tkb-sec) h1{font-size:calc(var(--font-size-h1) * var(--fs));line-height:var(--line-height-h1);color:var(--hc1)}
:is(.tkb-content,.tkb-sec) h2{font-size:calc(var(--font-size-h2) * var(--fs));line-height:var(--line-height-h2);color:var(--hc2)}
:is(.tkb-content,.tkb-sec) h3{font-size:calc(var(--font-size-h3) * var(--fs));line-height:var(--line-height-h3);color:var(--hc3)}
:is(.tkb-content,.tkb-sec) h4{font-size:calc(var(--font-size-h4) * var(--fs));line-height:var(--line-height-h4);color:var(--hc4)}
:is(.tkb-content,.tkb-sec) h5{font-size:calc(var(--font-size-h5) * var(--fs));line-height:var(--line-height-h5);color:var(--hc5)}
:is(.tkb-content,.tkb-sec) h6{font-size:calc(var(--font-size-h6) * var(--fs));line-height:var(--line-height-h6);color:var(--hc6)}
:is(.tkb-content,.tkb-sec) a{color:var(--anchor)}

/* ---------- pages built with the IONOS editor: same grid as IONOS (12 columns, 12px gap) ---------- */
.tkb-sec{position:relative}
.tkb-grid{display:grid;gap:12px;width:min(960px,100% - 40px);margin:0 auto}
.tkb-grp{display:grid;gap:12px;position:relative;min-width:0}
.tkb-cell{display:flex;min-width:0;max-width:100%;position:relative;word-break:break-word;align-items:var(--va,flex-start);justify-content:var(--ha,flex-start);text-align:var(--ta,left)}
.tkb-cell>.tkb-text,.tkb-cell>h1,.tkb-cell>h2,.tkb-cell>h3,.tkb-cell>h4,.tkb-cell>h5,.tkb-cell>h6,.tkb-cell>p{width:100%}
@media (min-width:768px){
  .tkb-grid{grid-template-columns:var(--cols,repeat(12,minmax(0,1fr)));grid-template-rows:var(--rows,none)}
  .tkb-cell,.tkb-grp{grid-area:var(--al);z-index:var(--z,auto)}
  .tkb-grp{grid-template-columns:var(--gc,none);grid-template-rows:var(--gr,none)}
  .tkb-cell{height:var(--mh,auto)}
  .tkb-cell .tkb-img{max-height:var(--mh,none)}
}
@media (max-width:767.95px){
  .tkb-grid{grid-template-columns:minmax(0,1fr)}
  .tkb-cell,.tkb-grp{grid-area:var(--as)}
  .tkb-grp{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--grs,auto)}
}
/* an HTML element inside a native page: clipped to its box like on IONOS */
.tkb-module{width:100%;overflow:hidden;height:100%;flex-grow:1;position:relative}
.tkb-gifvideo{display:block;width:100%;height:auto}
.tkb-yt{display:block;position:relative;width:100%;aspect-ratio:16/9;border:0;border-radius:8px;overflow:hidden;background:#000}
.tkb-yt img{display:block;width:100%;height:100%;object-fit:cover}
.tkb-yt-btn{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;background:rgba(33,33,33,.8);transition:background .2s}
.tkb-yt-btn::after{content:"";position:absolute;left:27px;top:14px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}
.tkb-yt:hover .tkb-yt-btn,.tkb-yt:focus-visible .tkb-yt-btn{background:#f00}
.tkb-yt-note{margin:6px 0 0;font-size:.8em;color:#555}
.tkb-flow{width:min(920px,100% - 40px);margin:0 auto;display:flex;flex-direction:column;gap:24px}
.tkb-text ul,.tkb-text ol{margin:16px 0;padding-left:40px}
.tkb-fs{font-size:var(--fd)}
@media (max-width:1024px){.tkb-fs[style*="--ft"]{font-size:var(--ft)}}
@media (max-width:768px){.tkb-fs[style*="--fm"]{font-size:var(--fm)}}
.tkb-img{display:block;max-width:100%;height:auto;width:auto}
.tkb-imglink{display:block;max-width:100%;line-height:0}
/* like IONOS: a picture fills its box as large as it fits without distortion (desktop), full width on phones */
@media (min-width:768px){
  .tkb-cell[style*="--mh"]>.tkb-imglink{width:100%;height:100%}
  .tkb-cell[style*="--mh"] .tkb-img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:left top}
  .tkb-cell[style*="--ha:center"] .tkb-img{object-position:center top}
  .tkb-cell[style*="--va:center"] .tkb-img{object-position:left center}
  .tkb-cell[style*="--ha:center"][style*="--va:center"] .tkb-img{object-position:center center}
}
@media (max-width:767.95px){
  .tkb-cell .tkb-img{width:100%;height:auto}
  .tkb-cell>.tkb-imglink{width:100%}
}
.tkb-geo-roundedrectangle-1{border-radius:12px}
.tkb-btn{display:inline-block;border:1px solid;border-radius:8px;padding:8px;margin:8px 0;text-decoration:none !important;word-break:break-word;cursor:pointer;font:400 calc(var(--bfs,16px) * var(--fs))/1.2 PatuaOne,Georgia,serif;letter-spacing:1px}
.tkb-btn:hover{filter:brightness(1.08)}
.tkb-nomargin *{margin:0}

/* ---------- blog ---------- */
.tkb-post{max-width:760px;margin:0 auto;font-size:calc(17px * var(--fs));line-height:1.6}
.tkb-post p,.tkb-post ul,.tkb-post ol{margin:0 0 1em}
.tkb-post h1{margin:0 0 .5em;color:var(--hc1)}
.tkb-post h2,.tkb-post h3{margin:1.4em 0 .5em}
.tkb-post img{max-width:100%;height:auto}
.tkb-post-img{display:block;margin:0 auto 18px;max-height:520px;width:auto;border-radius:12px}
.tkb-post-back{margin-bottom:16px !important;font-size:15px}
.tkb-post-date{color:#717171;font-size:15px;margin-bottom:10px !important}
.tkb-bloglist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.tkb-bloglist a.tkb-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e6e9f2;border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
.tkb-bloglist a.tkb-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(15,23,42,.35)}
.tkb-card img{width:100%;height:190px;object-fit:cover;background:#eef2ee}
.tkb-card div{padding:16px 18px 20px}
.tkb-card time{display:block;color:#717171;font-size:14px;margin-bottom:6px}
.tkb-card strong{display:block;font-weight:400;font-size:21px;line-height:1.25;color:#368039;margin-bottom:8px}
.tkb-card p{margin:0;font-size:15px;line-height:1.5;color:#3f4b63}

/* ---------- contact and appointment forms ---------- */
.tkb-form{max-width:640px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.4;color:#151515}
.tkb-form label{display:block;font-weight:600;margin:16px 0 6px}
.tkb-form input,.tkb-form select,.tkb-form textarea{width:100%;box-sizing:border-box;font:inherit;padding:11px 13px;border:1px solid #c9d1c9;border-radius:10px;background:#fff}
.tkb-form select{-webkit-appearance:none;appearance:none;padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23333' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 17px center/12px 8px}
.tkb-form textarea{min-height:150px;resize:vertical}
.tkb-form input:focus,.tkb-form select:focus,.tkb-form textarea:focus{outline:2px solid #368039;outline-offset:1px}
.tkb-form .tkb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tkb-form .tkb-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:18px}
.tkb-form .tkb-check input{width:auto;margin-top:3px}
.tkb-form button{margin-top:20px;font:600 16px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;padding:14px 24px;border:0;border-radius:10px;background:#368039;color:#fff;cursor:pointer}
.tkb-form button:disabled{opacity:.6;cursor:wait}
.tkb-form .tkb-msg{margin-top:16px;padding:12px 14px;border-radius:10px;display:none}
.tkb-form .tkb-msg.ok{display:block;background:#dcfce7;color:#166534}
.tkb-form .tkb-msg.err{display:block;background:#fee2e2;color:#991b1b}
.tkb-form .tkb-note{font-size:14px;color:#5f6f64;margin-top:8px}

/* ---------- header ---------- */
/* the bottom 6px behind the curve are page-coloured, so no green hairline can show below the curve on any screen */
.tkb-hdr{position:relative;background:linear-gradient(var(--green),var(--green)) top/100% calc(100% - 6px) no-repeat,var(--page);color:#fff;padding:8px 16px 0}
.tkb-hdr-in{position:relative;z-index:2;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.tkb-logo{display:block;width:231px;max-width:46vw;line-height:0}
.tkb-logo img{width:100%;height:auto}
.tkb-nav{margin-top:6px}
.tkb-nav ul{list-style:none;margin:0;padding:0}
.tkb-nav>ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.tkb-nav li{position:relative}
.tkb-nav a,.tkb-nav button{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:100px;border:0;background:transparent;color:#fff;font:400 18px/1.2 PatuaOne,Georgia,serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.tkb-nav a:hover,.tkb-nav button:hover{background:rgba(255,255,255,.1)}
.tkb-nav a.is-active{background:#fff;color:var(--ink)}
.tkb-caret{width:9px;height:8px;fill:currentColor}
.tkb-sub{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:200px;padding:8px !important;background:var(--green);border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.25);display:none;z-index:20}
.tkb-sub a{display:flex;width:100%;box-sizing:border-box;border-radius:8px}
.tkb-nav li:hover>.tkb-sub,.tkb-nav li:focus-within>.tkb-sub{display:block}
.tkb-lang{position:absolute;top:12px;right:16px;z-index:3;color:#fff;font:400 15px/1.2 PatuaOne,Georgia,serif;text-decoration:none;border:1px solid rgba(255,255,255,.55);border-radius:100px;padding:6px 12px}
.tkb-lang:hover{background:rgba(255,255,255,.12)}
.tkb-burger{display:none}
.tkb-swoosh{display:block;height:clamp(90px,14vw,210px);margin:0 -16px -1px;width:calc(100% + 32px);position:relative;z-index:1}

@media (max-width:767.95px){
  .tkb-hdr{padding-top:12px}
  .tkb-logo{width:150px}
  .tkb-burger{display:block;position:absolute;top:14px;right:16px;z-index:4;width:44px;height:44px;border:0;background:transparent;color:#fff;cursor:pointer;padding:8px}
  .tkb-burger svg{width:28px;height:28px;fill:currentColor}
  .tkb-lang{top:22px;left:16px;right:auto}
  .tkb-nav{display:none;width:100%;margin:14px 0 4px}
  .tkb-hdr.is-open .tkb-nav{display:block}
  .tkb-nav>ul{flex-direction:column;align-items:stretch;gap:2px}
  .tkb-nav a,.tkb-nav button{width:100%;box-sizing:border-box;justify-content:space-between;padding:12px 14px}
  .tkb-sub{position:static;transform:none;box-shadow:none;background:transparent;padding:0 0 4px 14px !important;min-width:0}
  .tkb-sub a{font-size:16px;padding:9px 14px}
  /* phone: sub-items closed until their parent is tapped (site.js) */
  .tkb-nav li>.tkb-sub{display:none !important}
  .tkb-nav li.is-open>.tkb-sub{display:block !important}
  .tkb-nav .tkb-caret{width:12px;height:11px;transition:transform .2s ease}
  .tkb-nav li.is-open>a .tkb-caret,.tkb-nav li.is-open>button .tkb-caret{transform:rotate(180deg)}
}

/* ---------- footer ---------- */
.tkb-ftr{background:#151515;color:#f8f8f8;padding:24px 16px;text-align:center;font:400 16px/1.2 PatuaOne,Georgia,serif}
.tkb-ftr ul{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px}
.tkb-ftr li{display:flex;align-items:center}
.tkb-ftr .tkb-cc-open{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:50%}
.tkb-ftr .tkb-cc-open svg{width:22px;height:22px;fill:currentColor}
.tkb-ftr a,.tkb-ftr button{color:#f8f8f8;text-decoration:none;font:inherit;background:none;border:0;padding:4px 2px;cursor:pointer}
.tkb-ftr a:hover,.tkb-ftr button:hover{color:#8fd694}
.tkb-ftr p{margin:0;font-size:15px;color:#cfcfcf}

/* ---------- cookie banner ---------- */
.tkb-cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:760px;margin:0 auto;background:#fff;color:#1B365D;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.28);padding:18px 20px;font:400 14.5px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;display:none}
.tkb-cc.is-shown{display:block}
.tkb-cc p{margin:0 0 12px}
.tkb-cc a{color:#095BB1}
.tkb-cc-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.tkb-cc button{font:600 14.5px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;padding:11px 18px;border-radius:9px;cursor:pointer;border:1px solid #368039;background:#fff;color:#368039}
.tkb-cc button.tkb-cc-yes{background:#368039;color:#fff}

/* image shape "irregular" (two images on the homepage, shape from the old IONOS theme) */
.tkb-geo-irregular-1{-webkit-mask-image:url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20preserveAspectRatio%3D%22none%22%20viewBox%3D%220%200%20140%20140%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M41.52%2C0S3.23-.77%2C2%2C43.69-5.24%2C119.05%2C12.23%2C127%2C50.51%2C140.55%2C87%2C140s47.28-6.19%2C50.11-26.94%2C5.29-47-1.59-68.45C124.75%2C10.79%2C85.56%2C8.39%2C68.16%2C3%2C64.06%2C1.73%2C58.63%2C0%2C41.52%2C0Z%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E);mask-image:url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20preserveAspectRatio%3D%22none%22%20viewBox%3D%220%200%20140%20140%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M41.52%2C0S3.23-.77%2C2%2C43.69-5.24%2C119.05%2C12.23%2C127%2C50.51%2C140.55%2C87%2C140s47.28-6.19%2C50.11-26.94%2C5.29-47-1.59-68.45C124.75%2C10.79%2C85.56%2C8.39%2C68.16%2C3%2C64.06%2C1.73%2C58.63%2C0%2C41.52%2C0Z%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E);-webkit-mask-size:100% 100%;mask-size:100% 100%}
