:root{--cs-blue:#169fd1;--cs-blue-dark:#1188b5;--cs-text:#555;--cs-heading:#2f3438;--cs-line:#e7e7e7;--cs-soft:#f6f6f6;--cs-max-width:1168px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--cs-text);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.65}a{color:var(--cs-blue);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.cs-container{width:min(calc(100% - 40px),var(--cs-max-width));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:10px;top:10px;z-index:9999;background:#fff;padding:10px}.cs-topbar{background:#f5f5f5;border-bottom:1px solid var(--cs-line);font-size:12px}.cs-topbar .cs-container{min-height:30px;display:flex;align-items:center;justify-content:flex-end}.cs-header{background:#fff;border-bottom:1px solid #ededed;z-index:100}.cs-header.is-sticky{position:sticky;top:0}.cs-header-inner{min-height:92px;display:flex;align-items:center;gap:28px}.cs-brand{margin-right:auto}.cs-brand a{display:flex;align-items:center;gap:9px;color:var(--cs-blue);text-decoration:none}.cs-brand img{display:block;max-height:64px;width:auto}.cs-brand-mark{display:grid;place-items:center;width:47px;height:47px;border-radius:50%;background:var(--cs-blue);color:#fff;font-weight:700;font-size:20px}.cs-brand-name{font-size:24px;letter-spacing:2px;font-weight:300}.cs-brand-tag{font-size:13px;color:#999;margin-left:-5px}.cs-header-extra{font-size:13px}.cs-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center}.cs-nav li{position:relative}.cs-nav a{display:block;padding:35px 18px;color:#333;font-size:13px;text-decoration:none;white-space:nowrap}.cs-nav li.active>a,.cs-nav li.current>a,.cs-nav a:hover{color:var(--cs-blue)}.cs-nav ul ul{display:none;position:absolute;left:0;top:100%;min-width:220px;background:#fff;border:1px solid var(--cs-line);box-shadow:0 7px 18px rgba(0,0,0,.1);z-index:200}.cs-nav li:hover>ul,.cs-nav li:focus-within>ul{display:block}.cs-nav ul ul li{width:100%}.cs-nav ul ul a{padding:11px 16px}.cs-menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}.cs-menu-toggle>span:not(.visually-hidden){display:block;width:26px;height:2px;background:#333;margin:5px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cs-hero{overflow:hidden;background:#f4f4f4}.cs-hero>div,.cs-hero .moduletable{margin:0}.cs-hero img{display:block;width:100%}.cs-breadcrumbs{background:#fafafa;border-bottom:1px solid var(--cs-line);padding:9px 0;font-size:12px}.cs-main{padding:42px 0 52px}.cs-content-top{margin-bottom:30px}.cs-layout{display:grid;gap:34px;align-items:start}.cs-layout.single{grid-template-columns:minmax(0,1fr)}.cs-layout.has-left{grid-template-columns:260px minmax(0,1fr)}.cs-layout.has-right{grid-template-columns:minmax(0,1fr) 260px}.cs-layout.has-both{grid-template-columns:220px minmax(0,1fr) 220px}h1,h2,h3,h4,h5,h6{color:var(--cs-heading);font-weight:400;line-height:1.25;margin-top:0}h1{font-size:30px}h2{font-size:25px}h3{font-size:20px}.page-header h1,.item-page h1{border-bottom:1px solid var(--cs-line);padding-bottom:13px}.cs-sidebar .moduletable,.cs-sidebar .mod-custom{margin-bottom:28px}.cs-sidebar h3{font-size:18px;border-bottom:2px solid var(--cs-blue);padding-bottom:9px}.cs-content-bottom{margin-top:34px}.cs-bottom{background:#f4f4f4;border-top:1px solid #e7e7e7;padding:36px 0}.cs-bottom .cs-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.cs-bottom .moduletable,.cs-bottom .mod-custom{padding:28px;background:#fff}.cs-footer{background:#34383b;color:#bbb}.cs-footer a{color:#ddd}.cs-footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;padding-top:34px;padding-bottom:34px}.cs-footer h3{color:#fff}.cs-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:15px 0;font-size:12px}.cs-to-top{position:fixed;right:24px;bottom:24px;width:40px;height:40px;border:0;border-radius:2px;background:var(--cs-blue);color:#fff;font-size:20px;cursor:pointer;opacity:0;visibility:hidden;transition:.2s}.cs-to-top.is-visible{opacity:1;visibility:visible}.btn,.button,button.btn,input[type=submit]{display:inline-block;border:1px solid var(--cs-blue);background:#fff;color:var(--cs-blue);padding:8px 16px;border-radius:0}.btn:hover,.button:hover,input[type=submit]:hover{background:var(--cs-blue);color:#fff;text-decoration:none}input,textarea,select{max-width:100%;padding:8px;border:1px solid #ccc}.alert{padding:12px 15px;margin-bottom:20px;border:1px solid #ddd;background:#f8f8f8}.pagination{display:flex;gap:6px;list-style:none;padding:0}.pagination a,.pagination span{padding:6px 10px;border:1px solid #ddd}.cs-error{padding:10vh 20px;text-align:center}.cs-error h1{font-size:80px;color:var(--cs-blue);margin-bottom:10px}@media(max-width:900px){.cs-header-inner{min-height:74px;flex-wrap:wrap}.cs-menu-toggle{display:block}.cs-nav{display:none;width:100%;order:10}.cs-nav.is-open{display:block}.cs-nav ul{display:block}.cs-nav a{padding:12px 4px;border-top:1px solid var(--cs-line)}.cs-nav ul ul{display:block;position:static;border:0;box-shadow:none;padding-left:18px}.cs-layout.has-left,.cs-layout.has-right,.cs-layout.has-both{grid-template-columns:1fr}.cs-left{order:2}.cs-right{order:3}.cs-bottom .cs-container{grid-template-columns:1fr}.cs-footer-grid{grid-template-columns:1fr}}@media(max-width:520px){.cs-container{width:min(calc(100% - 28px),var(--cs-max-width))}.cs-brand-name{font-size:19px;letter-spacing:1px}.cs-brand-mark{width:40px;height:40px}.cs-main{padding:28px 0 36px}h1{font-size:26px}}

/* 1.1 visual alignment with the legacy centralsystems site */
body{background:#fff;color:#666;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.55}
.cs-container{width:min(calc(100% - 30px),1170px)}
.cs-header{border-bottom:0;background:#fff}
.cs-header-inner{min-height:106px;align-items:center}
.cs-brand img{max-height:76px;max-width:330px}
.cs-nav{align-self:stretch;display:flex;align-items:stretch}
.cs-nav>ul{height:100%}
.cs-nav a{height:100%;display:flex;align-items:center;padding:0 17px;color:#555;font-size:13px;text-transform:uppercase}
.cs-nav li.active>a,.cs-nav li.current>a,.cs-nav a:hover{background:#37abda;color:#fff;text-decoration:none}
.cs-nav ul ul{top:100%;border:0;border-top:3px solid #37abda;min-width:230px}
.cs-nav ul ul a{height:auto;padding:11px 16px;text-transform:none;background:#fff;color:#555}
.cs-nav ul ul a:hover{background:#37abda;color:#fff}
.cs-hero{background:#eee;border-top:1px solid #eee}
.cs-hero .moduletable,.cs-hero .mod-custom{margin:0}
.cs-main{padding:32px 0 45px}
h1{font-size:26px}h2{font-size:22px}h3{font-size:18px}
.cs-bottom{background:#f3f3f3;padding:30px 0;border-top:0}
.cs-footer{background:#2e3032}
.cs-footer-bottom{text-align:center;color:#aaa;padding:18px 0}
@media(max-width:900px){.cs-header-inner{min-height:84px}.cs-brand img{max-height:62px;max-width:260px}.cs-nav{display:none;align-self:auto}.cs-nav.is-open{display:block}.cs-nav a{height:auto;padding:12px 6px;text-transform:none}.cs-nav li.active>a,.cs-nav li.current>a,.cs-nav a:hover{background:transparent;color:#37abda}.cs-nav ul ul{border-top:0}.cs-nav ul ul a:hover{background:transparent;color:#37abda}}

/* 1.2 legacy homepage preview: used until real Joomla modules/content are assigned */
.cs-legacy-hero{position:relative;overflow:hidden;background:#e9e9e9;border-top:1px solid #eee}.cs-legacy-slide{position:relative;max-height:430px;overflow:hidden}.cs-legacy-slide img{display:block;width:100%;height:430px;object-fit:cover;object-position:center}.cs-legacy-caption{position:absolute;left:max(30px,calc((100% - 1170px)/2));top:50%;transform:translateY(-50%);background:rgba(255,255,255,.90);padding:22px 28px;border-left:5px solid #37abda;box-shadow:0 2px 12px rgba(0,0,0,.12)}.cs-legacy-caption strong{display:block;color:#333;font-size:30px;font-weight:400;line-height:1.15}.cs-legacy-caption span{display:block;margin-top:7px;color:#666;font-size:16px}.cs-legacy-cards{background:#fff;margin-top:-1px}.cs-legacy-cards .cs-container{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid #e7e7e7}.cs-legacy-cards article{padding:30px 32px 28px;border-right:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7}.cs-legacy-cards h2{font-size:21px;margin-bottom:12px}.cs-legacy-cards p{min-height:62px;margin:0 0 14px}.cs-legacy-cards a{font-weight:bold}.cs-legacy-intro{padding:48px 0}.cs-legacy-intro .cs-container{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:50px;align-items:center}.cs-legacy-intro h1{font-size:29px;border:0;margin-bottom:18px}.cs-legacy-intro img{width:100%;max-height:260px;object-fit:cover}.cs-preview-component{display:none}.cs-fallback-menu{height:100%}
@media(max-width:900px){.cs-legacy-slide img{height:320px}.cs-legacy-caption{left:20px;right:20px}.cs-legacy-caption strong{font-size:24px}.cs-legacy-cards .cs-container{grid-template-columns:1fr;border-left:0}.cs-legacy-cards article{border-left:1px solid #e7e7e7}.cs-legacy-cards p{min-height:0}.cs-legacy-intro .cs-container{grid-template-columns:1fr;gap:25px}.cs-fallback-menu{height:auto}}
@media(max-width:520px){.cs-legacy-slide img{height:250px}.cs-legacy-caption{padding:16px 18px}.cs-legacy-caption strong{font-size:21px}.cs-legacy-caption span{font-size:14px}.cs-legacy-intro{padding:34px 0}}

/* 1.4 start page slider */
.cs-home-slider{position:relative;width:100%;max-width:1168px;margin:0 auto;overflow:hidden;background:#eee}
.cs-home-slider .cs-slide{display:none;width:100%}
.cs-home-slider .cs-slide.is-active{display:block}
.cs-home-slider .cs-slide img{display:block;width:100%;height:auto;aspect-ratio:1168/470;object-fit:cover}
.cs-home-slider .cs-slide a{display:block}
.cs-slider-prev,.cs-slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:58px;padding:0;border:0;background:rgba(0,0,0,.35);color:#fff;font-size:38px;line-height:1;cursor:pointer}
.cs-slider-prev{left:0}.cs-slider-next{right:0}
.cs-slider-prev:hover,.cs-slider-next:hover,.cs-slider-prev:focus,.cs-slider-next:focus{background:rgba(0,0,0,.6);color:#fff}
.cs-slider-dots{position:absolute;left:0;right:0;bottom:14px;z-index:5;display:flex;justify-content:center;gap:8px}
.cs-slider-dots button{width:11px;height:11px;padding:0;border:2px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.cs-slider-dots button.is-active{background:#fff}
@media(max-width:700px){.cs-slider-prev,.cs-slider-next{width:34px;height:48px;font-size:30px}.cs-slider-dots{bottom:9px}}


/* 1.5 homepage information boxes */
.cs-home-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #e5e5e5;border-left:1px solid #e5e5e5;background:#fff}
.cs-home-box{padding:28px 30px 26px;border-right:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;min-width:0}
.cs-home-box h2{margin:0 0 12px;color:#444;font-size:21px;font-weight:400}
.cs-home-box p{margin:0 0 15px;min-height:62px;color:#666;line-height:1.55}
.cs-home-box a{font-weight:700;color:#169fd1;text-decoration:none}
.cs-home-box a:hover{text-decoration:underline}
@media(max-width:760px){.cs-home-boxes{grid-template-columns:1fr}.cs-home-box p{min-height:0}}

/* 1.6 slider captions */
.cs-home-slider .cs-slide>a{position:relative;display:block;color:#fff;text-decoration:none}
.cs-slide-caption{position:absolute;left:0;bottom:0;z-index:4;min-width:250px;padding:14px 22px;background:rgba(48,48,48,.82);color:#fff;font-size:20px;font-weight:400;line-height:1.2}
.cs-home-slider .cs-slide>a:hover .cs-slide-caption{background:rgba(22,159,209,.92)}
.cs-home-slider .cs-slide>a:focus-visible{outline:3px solid #169fd1;outline-offset:-3px}
@media(max-width:700px){.cs-slide-caption{min-width:0;right:0;padding:10px 14px;font-size:16px}.cs-slider-dots{bottom:52px}}

/* 1.7 legacy-style homepage slider */
.cs-home-slider{position:relative;width:100%;max-width:1168px;margin:0 auto;border-bottom:2px solid #28a9da;background:#fff;overflow:hidden}
.cs-home-slider .cs-slide{display:none;position:relative;width:100%;height:470px;background:#fff;overflow:hidden}
.cs-home-slider .cs-slide.is-active{display:block}
.cs-home-slider .cs-slide-image{position:absolute;inset:0;display:block!important;text-decoration:none}
.cs-home-slider .cs-slide-image img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.cs-home-slider .cs-slide-content{position:absolute;z-index:3;left:0;top:0;bottom:0;width:32%;min-width:300px;padding:50px 34px 34px;background:#f8f8f8;color:#444}
.cs-home-slider .cs-slide-content h2{margin:0 0 20px;color:#28a9da;font-size:30px;font-weight:300;line-height:1.18}
.cs-home-slider .cs-slide-content p{margin:0 0 18px;color:#444;font-size:13px;line-height:1.65}
.cs-home-slider .cs-slide-more{display:inline-block!important;width:auto!important;padding:10px 20px;border:1px solid #28a9da;color:#28a9da!important;background:#fff;font-size:12px;font-weight:700;text-decoration:none!important;text-transform:uppercase}
.cs-home-slider .cs-slide-more:hover,.cs-home-slider .cs-slide-more:focus{background:#28a9da;color:#fff!important}
.cs-home-slider .cs-slider-prev,.cs-home-slider .cs-slider-next,.cs-home-slider .cs-slide-caption{display:none!important}
.cs-home-slider .cs-slider-dots{position:absolute;z-index:6;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:4px;pointer-events:none}
.cs-home-slider .cs-slider-dots button{pointer-events:auto;width:24px;height:24px;padding:0;border:0;border-radius:0;background:#fff;color:#555;font-size:11px;line-height:24px;text-align:center;cursor:pointer}
.cs-home-slider .cs-slider-dots button.is-active{background:#28a9da;color:#fff}
@media(max-width:760px){.cs-home-slider .cs-slide{height:auto;min-height:0;display:none}.cs-home-slider .cs-slide.is-active{display:flex;flex-direction:column}.cs-home-slider .cs-slide-image{position:relative;inset:auto;order:1}.cs-home-slider .cs-slide-image img{height:auto;aspect-ratio:1168/470;object-fit:cover}.cs-home-slider .cs-slide-content{position:relative;left:auto;top:auto;bottom:auto;order:2;width:100%;min-width:0;padding:22px 22px 58px;background:#f8f8f8}.cs-home-slider .cs-slide-content h2{font-size:25px;margin-bottom:12px}.cs-home-slider .cs-slide-content p{font-size:13px}.cs-home-slider .cs-slider-dots{bottom:16px}}

/* 1.8 homepage cleanup and slider link bar */
/* The Home menu item intentionally points to an empty article. Hide that empty
   component area so Joomla cannot leave list markers or article chrome behind. */
.is-home .cs-component{display:none}
.is-home .cs-main{padding-top:0}
.is-home .cs-content-top{display:flex;flex-direction:column;margin-bottom:0}
/* Keep the slider link module immediately below the slider, independent of
   Joomla module ordering. :has() is supported by current desktop/mobile browsers. */
.is-home .cs-content-top>*:has(.cs-slider-links){order:-100;margin:0 0 30px}
.cs-slider-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border-bottom:1px solid #e6e6e6;background:#fff}
.cs-slider-links a{display:block;padding:15px 18px;border-right:1px solid #e6e6e6;color:#555;font-size:13px;text-align:center;text-decoration:none}
.cs-slider-links a:first-child{border-left:1px solid #e6e6e6}
.cs-slider-links a:hover,.cs-slider-links a:focus{background:#28a9da;color:#fff;text-decoration:none}
/* Give the introductory text the same breathing room after the link bar. */
.is-home .cs-content-top>*:not(:has(.cs-slider-links)){margin-top:0}
@media(max-width:700px){
  .cs-slider-links{grid-template-columns:1fr}
  .cs-slider-links a,.cs-slider-links a:first-child{border-left:1px solid #e6e6e6;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}
  .is-home .cs-content-top>*:has(.cs-slider-links){margin-bottom:24px}
}


/* 1.9 legacy homepage navigation boxes */
/* Recreates the three interactive boxes from the original Joomla 3 template,
   including the original Style 1 colours and icon/hover assets. */
.cs-slider-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  border:0;
  background:transparent;
  overflow:hidden;
}
.cs-slider-links a,
.cs-slider-links a:first-child{
  position:relative;
  display:block;
  height:170px;
  padding:25px;
  border:0;
  background-position:center 25px;
  background-repeat:no-repeat;
  color:transparent!important;
  font-size:0;
  line-height:1;
  text-align:center;
  text-decoration:none!important;
  overflow:hidden;
  transition:background-color .2s ease-in;
}
.cs-slider-links a:nth-child(1){background-color:#4cbbe8;background-image:url('../images/icons/custom/icon1.png')}
.cs-slider-links a:nth-child(2){background-color:#37abda;background-image:url('../images/icons/custom/icon2.png')}
/* 1.9.2: lower only the normal-state company icon; hover stays at the original position. */
.cs-slider-links a:nth-child(2):not(:hover):not(:focus){background-position:center 34px}
.cs-slider-links a:nth-child(3){background-color:#229bcc;background-image:url('../images/icons/custom/icon3.png')}
.cs-slider-links a:nth-child(1):hover,.cs-slider-links a:nth-child(1):focus{background-color:#4cbbe8;background-image:url('../images/icons/custom/icon1-hover.png')}
.cs-slider-links a:nth-child(2):hover,.cs-slider-links a:nth-child(2):focus{background-color:#37abda;background-image:url('../images/icons/custom/icon2-hover.png')}
.cs-slider-links a:nth-child(3):hover,.cs-slider-links a:nth-child(3):focus{background-color:#229bcc;background-image:url('../images/icons/custom/icon3-hover.png')}
/* Normal and hover captions use two layers so the old vertical text transition
   is retained even though the Joomla custom module contains plain links. */
.cs-slider-links a::before,
.cs-slider-links a::after{
  position:absolute;
  left:10px;
  right:10px;
  top:125px;
  display:block;
  height:30px;
  color:#fff;
  font-size:18px;
  line-height:30px;
  white-space:nowrap;
  text-align:center;
  transition:transform .3s ease,opacity .3s ease;
}
.cs-slider-links a::before{opacity:1;transform:translateY(0);font-weight:400}
.cs-slider-links a::after{opacity:0;transform:translateY(30px);font-weight:700}
.cs-slider-links a:nth-child(1)::before{content:'Distribution & Verkauf'}
.cs-slider-links a:nth-child(1)::after{content:'Fach- und Großhandel'}
.cs-slider-links a:nth-child(2)::before{content:'Unternehmen'}
.cs-slider-links a:nth-child(2)::after{content:'Einblicke hinter die Kulissen'}
.cs-slider-links a:nth-child(3)::before{content:'Sortiment'}
.cs-slider-links a:nth-child(3)::after{content:'Unsere Produkte'}
.cs-slider-links a:hover::before,.cs-slider-links a:focus::before{opacity:0;transform:translateY(-30px)}
.cs-slider-links a:hover::after,.cs-slider-links a:focus::after{opacity:1;transform:translateY(0)}
.cs-slider-links a:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.is-home .cs-content-top>*:has(.cs-slider-links){margin:0 0 28px}
@media(max-width:760px){
  .cs-slider-links{grid-template-columns:1fr}
  .cs-slider-links a,.cs-slider-links a:first-child{height:150px;padding:18px;background-position:center 14px;border:0}
  .cs-slider-links a::before,.cs-slider-links a::after{top:108px;font-size:17px}
}

/* 1.9.1 fix: preserve icon positioning/repeat on hover.
   The older 1.8 shorthand hover background reset these background subproperties. */
.cs-slider-links a:hover,
.cs-slider-links a:focus,
.cs-slider-links a:nth-child(1):hover,
.cs-slider-links a:nth-child(1):focus,
.cs-slider-links a:nth-child(2):hover,
.cs-slider-links a:nth-child(2):focus,
.cs-slider-links a:nth-child(3):hover,
.cs-slider-links a:nth-child(3):focus{
  background-repeat:no-repeat;
  background-position:center 25px;
}
@media(max-width:760px){
  .cs-slider-links a:hover,
  .cs-slider-links a:focus{background-position:center 14px}
}

/* 1.9.3: hide Joomla breadcrumb divider/icon that renders as a stray "1." on the homepage. */
.mod-breadcrumbs__divider {
  display: none !important;
}

/* 1.9.4: remove the empty breadcrumb row on the homepage. */
body.is-home .cs-breadcrumbs {
  display: none !important;
}


/* 1.9.5: homepage intro typography matched to the original Joomla 3 site. */
body.is-home .cs-content-top > *:not(:has(.cs-slider-links)) {
  color:#555;
  font-size:14px;
  font-weight:300;
  line-height:1.7;
}
body.is-home .cs-content-top > *:not(:has(.cs-slider-links)) h1 {
  margin:0 0 10px;
  color:#454545;
  font-size:28px;
  font-weight:700;
  line-height:1.2;
}
body.is-home .cs-content-top > *:not(:has(.cs-slider-links)) p {
  margin:5px 0;
  line-height:1.7;
}
body.is-home .cs-content-top > *:has(.cs-slider-links) {
  margin-bottom:34px;
}
@media(max-width:760px){
  body.is-home .cs-content-top > *:not(:has(.cs-slider-links)) h1 {
    font-size:24px;
  }
  body.is-home .cs-content-top > *:has(.cs-slider-links) {
    margin-bottom:26px;
  }
}

/* 1.9.6: center the homepage intro block like the original site. */
body.is-home .cs-content-top > *:not(:has(.cs-slider-links)) {
  text-align:center;
}


/* 1.9.7: original-style homepage contact strip. */
body.is-home .cs-home-contact{
  margin-top:34px;
  border-top:1px solid #f1f1f1;
  background:#fff;
}
body.is-home .cs-home-contact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  padding-top:32px;
  padding-bottom:34px;
}
body.is-home .cs-home-contact-item{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  padding:0 26px;
}
body.is-home .cs-home-contact-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 96px;
  min-height:64px;
  padding:0 20px 0 0;
  vertical-align:top;
  text-decoration:none;
  transition:transform .3s ease-in-out;
}
body.is-home .cs-home-contact-icon:hover,
body.is-home .cs-home-contact-icon:focus-visible{
  transform:translateY(-5px);
}
body.is-home .cs-home-contact-icon img{
  display:block;
  width:auto;
  height:64px;
  max-width:76px;
}
body.is-home .cs-home-contact-content{
  display:inline-block;
  padding-top:5px;
  min-width:0;
  text-align:left;
}
body.is-home .cs-home-contact-content span,
body.is-home .cs-home-contact-content a{
  display:block;
}
body.is-home .cs-home-contact-title{
  color:#555;
  font-size:14px;
  font-weight:400;
  line-height:1.35;
  text-transform:uppercase;
}
body.is-home .cs-home-contact-desc{
  margin-top:2px;
  color:#444;
  font-size:20px;
  font-weight:400;
  line-height:1.35;
  text-decoration:none;
}
body.is-home .cs-home-contact-desc:hover,
body.is-home .cs-home-contact-desc:focus{
  color:var(--cs-blue);
  text-decoration:none;
}
@media(max-width:900px){
  body.is-home .cs-home-contact-grid{grid-template-columns:1fr;gap:24px}
  body.is-home .cs-home-contact-item{justify-content:flex-start;max-width:520px;margin:0 auto;width:100%;padding:0}
}
@media(max-width:520px){
  body.is-home .cs-home-contact{margin-top:26px}
  body.is-home .cs-home-contact-grid{padding-top:26px;padding-bottom:28px}
  body.is-home .cs-home-contact-icon{flex-basis:84px;padding-right:14px}
  body.is-home .cs-home-contact-desc{font-size:17px}
}


/* 1.9.8 – Footer aligned to the original JM-Doctor layout */
.cs-footer{
  background:#373737;
  color:#696969;
  font-size:13px;
}
.cs-footer a{color:#969696;}
.cs-footer a:hover,.cs-footer a:focus{color:#fff;}
.cs-footer-grid{
  padding-top:35px;
  padding-bottom:35px;
}
.cs-footer-bottom{
  border-top:0;
  padding:35px 0;
  line-height:30px;
  font-size:13px;
  color:#696969;
  text-align:center;
}


/* 1.9.9 – Single editable Joomla footer module */
.cs-footer{
  background:#373737;
  color:#969696;
  font-size:13px;
}
.cs-footer > .cs-container{
  padding-top:30px;
  padding-bottom:30px;
}
.cs-footer .cs-footer-module{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.cs-footer .cs-footer-left,
.cs-footer .cs-footer-right{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.cs-footer .cs-footer-links,
.cs-footer .cs-footer-social{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.cs-footer .cs-footer-links a,
.cs-footer .cs-footer-social a{
  color:#969696;
  text-decoration:none;
}
.cs-footer .cs-footer-links a:hover,
.cs-footer .cs-footer-links a:focus,
.cs-footer .cs-footer-social a:hover,
.cs-footer .cs-footer-social a:focus{
  color:#fff;
  text-decoration:none;
}
.cs-footer .cs-footer-social img{
  width:22px;
  height:22px;
  display:block;
  opacity:.72;
  transition:opacity .2s ease, transform .2s ease;
}
.cs-footer .cs-footer-social a:hover img,
.cs-footer .cs-footer-social a:focus img{
  opacity:1;
  transform:translateY(-2px);
}
@media(max-width:700px){
  .cs-footer .cs-footer-module,
  .cs-footer .cs-footer-left,
  .cs-footer .cs-footer-right{
    justify-content:center;
  }
  .cs-footer .cs-footer-module{
    flex-direction:column;
    text-align:center;
  }
}

/* 2.0.11 – single authoritative desktop navigation block */
@media (min-width:901px){
  .cs-nav{align-self:stretch;display:flex;align-items:stretch;position:relative;}
  .cs-nav > ul{height:100%;align-items:stretch;}
  .cs-nav > ul > li{height:100%;display:flex;align-items:stretch;line-height:normal;position:relative;}
  .cs-nav > ul > li > a{
    position:relative;display:flex;align-items:center;justify-content:center;
    height:100%;min-height:92px;margin:0;padding:0 17px;
    background:transparent !important;color:#444 !important;font-size:13px;
    font-weight:400;line-height:1;text-transform:none;text-decoration:none !important;white-space:nowrap;
  }
  .cs-nav > ul > li > a::before{
    content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#37abda;
    transform:scaleX(0);transform-origin:center top;transition:transform .16s ease-out;
  }
  .cs-nav > ul > li.active > a,
  .cs-nav > ul > li.current > a,
  .cs-nav > ul > li.cs-menu-open > a,
  .cs-nav > ul > li > a:hover,
  .cs-nav > ul > li > a:focus{
    color:#37abda !important;background:transparent !important;
  }
  .cs-nav > ul > li.active > a::before,
  .cs-nav > ul > li.current > a::before,
  .cs-nav > ul > li.cs-menu-open > a::before,
  .cs-nav > ul > li > a:hover::before,
  .cs-nav > ul > li > a:focus::before{transform:scaleX(1);}

  /* First-level submenus are NEVER opened by CSS hover. JS owns visibility. */
  .cs-nav > ul > li > ul,
  .cs-nav > ul > li:hover > ul,
  .cs-nav > ul > li:focus-within > ul{
    display:block !important;opacity:0 !important;visibility:hidden !important;
    pointer-events:none !important;
  }

  /* ordinary dropdown, e.g. Unternehmen */
  .cs-nav > ul > li:not(.cs-products-mega) > ul{
    position:absolute;left:0;top:calc(100% - 1px);min-width:220px;margin:0;padding:14px 0 16px;
    background:#fafafa;border:1px solid #ededed;box-shadow:0 2px 4px rgba(0,0,0,.05);
    transform:translateY(-8px) !important;
    transition:opacity .16s ease-out,transform .16s ease-out,visibility 0s linear .16s !important;
    z-index:500;
  }
  .cs-nav > ul > li.cs-menu-open:not(.cs-products-mega) > ul{
    opacity:1 !important;visibility:visible !important;pointer-events:auto !important;
    transform:translateY(0) !important;transition-delay:0s !important;
  }
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li{width:100%;padding:0;margin:0;background:transparent;}
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li > a,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li > span{
    display:block;width:100%;height:auto;padding:10px 25px !important;margin:0;
    background:transparent !important;color:#858585 !important;font-size:13px;line-height:15px;
    text-transform:none;text-decoration:none !important;
  }
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li > a *{color:inherit !important;}
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:hover,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:focus-within{background:#37abda !important;}
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:hover > a,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:hover > a *,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:focus-within > a,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:focus-within > a *{
    background:transparent !important;color:#fff !important;
  }

  /* Products mega menu */
  .cs-nav > ul > li.cs-products-mega > ul{
    position:absolute;display:grid !important;grid-template-columns:repeat(3,1fr);align-items:stretch;
    left:50%;top:calc(100% - 1px);width:468px;min-width:468px;margin:0;padding:0;
    background:#fafafa;border:1px solid #ededed;box-shadow:0 2px 4px rgba(0,0,0,.05);
    transform:translate(-50%,-8px) !important;
    transition:opacity .16s ease-out,transform .16s ease-out,visibility 0s linear .16s !important;
    z-index:500;
  }
  .cs-nav > ul > li.cs-products-mega.cs-menu-open > ul{
    opacity:1 !important;visibility:visible !important;pointer-events:auto !important;
    transform:translate(-50%,0) !important;transition-delay:0s !important;
  }
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column{
    position:relative;width:auto;min-width:0;padding:18px 20px 17px;border-left:1px solid #ececec;
  }
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column:first-child{border-left:0;}
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > span,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > .nav-header,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > .separator{
    display:block;height:auto;margin:0 0 11px;padding:0;color:#444 !important;background:transparent !important;
    font-size:11px;line-height:16px;font-weight:400;text-transform:uppercase;white-space:normal;
  }
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul{
    position:static !important;display:block !important;min-width:0;width:auto;margin:0;padding:0;border:0;
    background:transparent;box-shadow:none;opacity:1 !important;visibility:visible !important;
    pointer-events:none !important;transform:none !important;transition:none !important;
  }
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li{width:auto;padding:0;}
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li > span{
    display:block;height:auto;padding:5px 0;background:transparent !important;color:#858585 !important;
    font-size:11px;line-height:15px;font-weight:400;text-transform:none;white-space:normal;
  }
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li:hover > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li:focus-within > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.active > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.current > a{color:#37abda !important;}
}


/* 2.0.12 – final menu safety + internal Joomla span hover */
@media (min-width:901px){
  .cs-nav > ul > li:not(.cs-menu-open) > ul{
    opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
  }
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li > a *,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li > span *{
    background:transparent !important;
    color:inherit !important;
  }
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:hover,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:focus-within{
    background:#37abda !important;
  }
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:hover > a,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:hover > a *,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:focus-within > a,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:focus-within > a *{
    color:#fff !important; background:transparent !important;
  }
}


/* 2.0.13 – CSS-only desktop menu; no hover timers */
@media (min-width:901px){
  /* The top row */
  .cs-nav{align-self:stretch;display:flex;align-items:stretch;position:relative;}
  .cs-nav > ul{height:100%;align-items:stretch;}
  .cs-nav > ul > li{height:100%;display:flex;align-items:stretch;line-height:normal;position:relative;}
  .cs-nav > ul > li > a,
  .cs-nav > ul > li > span{
    position:relative;display:flex;align-items:center;justify-content:center;
    height:100%;min-height:92px;margin:0;padding:0 17px;
    background:transparent !important;color:#444 !important;font-size:13px;
    font-weight:400;line-height:1;text-transform:none;text-decoration:none !important;white-space:nowrap;
  }
  .cs-nav > ul > li > a::before,
  .cs-nav > ul > li > span::before{
    content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#37abda;
    transform:scaleX(0);transform-origin:center top;transition:transform .16s ease-out;
  }
  .cs-nav > ul > li.active > a,
  .cs-nav > ul > li.current > a,
  .cs-nav > ul > li:hover > a,
  .cs-nav > ul > li:focus-within > a,
  .cs-nav > ul > li:hover > span,
  .cs-nav > ul > li:focus-within > span{color:#37abda !important;background:transparent !important;}
  .cs-nav > ul > li.active > a::before,
  .cs-nav > ul > li.current > a::before,
  .cs-nav > ul > li:hover > a::before,
  .cs-nav > ul > li:focus-within > a::before,
  .cs-nav > ul > li:hover > span::before,
  .cs-nav > ul > li:focus-within > span::before{transform:scaleX(1);}

  /* First-level submenu: open only when its own parent is actually hovered/focused. */
  .cs-nav > ul > li > ul{
    display:block !important;
    opacity:0 !important;visibility:hidden !important;pointer-events:none !important;
    transform:translateY(-8px) !important;
    transition:
      opacity .14s ease-out .08s,
      transform .14s ease-out .08s,
      visibility 0s linear .28s;
  }
  .cs-nav > ul > li:hover > ul,
  .cs-nav > ul > li:focus-within > ul{
    opacity:1 !important;visibility:visible !important;pointer-events:auto !important;
    transform:translateY(0) !important;
    transition:
      opacity .14s ease-out .10s,
      transform .14s ease-out .10s,
      visibility 0s linear 0s;
  }

  /* Ordinary dropdown such as Unternehmen. */
  .cs-nav > ul > li:not(.cs-products-mega) > ul{
    position:absolute;left:0;top:calc(100% - 1px);min-width:220px;margin:0;padding:14px 0 16px;
    background:#fafafa;border:1px solid #ededed;box-shadow:0 2px 4px rgba(0,0,0,.05);z-index:600;
  }
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li{width:100%;padding:0;margin:0;background:transparent !important;}
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li > a,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li > span{
    display:block;width:100%;height:auto;padding:10px 25px !important;margin:0;
    background:transparent !important;color:#858585 !important;font-size:13px;line-height:15px;
    text-transform:none;text-decoration:none !important;
  }
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li > a *{color:inherit !important;background:transparent !important;}
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:hover{background:#37abda !important;}
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:hover > a,
  .cs-nav > ul > li:not(.cs-products-mega) > ul > li:hover > a *{color:#fff !important;background:transparent !important;}

  /* Products mega menu. */
  .cs-nav > ul > li.cs-products-mega > ul{
    position:absolute;display:grid !important;grid-template-columns:repeat(3,1fr);align-items:stretch;
    left:50%;top:calc(100% - 1px);width:468px;min-width:468px;margin:0;padding:0;
    background:#fafafa;border:1px solid #ededed;box-shadow:0 2px 4px rgba(0,0,0,.05);
    transform:translate(-50%,-8px) !important;z-index:600;
  }
  .cs-nav > ul > li.cs-products-mega:hover > ul,
  .cs-nav > ul > li.cs-products-mega:focus-within > ul{transform:translate(-50%,0) !important;}
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column{
    position:relative;width:auto;min-width:0;padding:18px 20px 17px;border-left:1px solid #ececec;
  }
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column:first-child{border-left:0;}
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > span,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > .nav-header,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > .separator{
    display:block;height:auto;margin:0 0 11px;padding:0;color:#444 !important;background:transparent !important;
    font-size:11px;line-height:16px;font-weight:400;text-transform:uppercase;white-space:normal;
  }
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul{
    position:static !important;display:block !important;min-width:0;width:auto;margin:0;padding:0;border:0;
    background:transparent;box-shadow:none;opacity:1 !important;visibility:visible !important;
    pointer-events:none !important;transform:none !important;transition:none !important;
  }
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li{width:auto;padding:0;}
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li > span{
    display:block;height:auto;padding:5px 0;background:transparent !important;color:#858585 !important;
    font-size:11px;line-height:15px;font-weight:400;text-transform:none;white-space:normal;
  }
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li:hover > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.cs-mega-column > ul > li:focus-within > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.active > a,
  .cs-nav > ul > li.cs-products-mega > ul > li.current > a{color:#37abda !important;}
}


/* 2.0.15 – precise product mega-menu pointer-events fix only */
@media (min-width:901px){
  .cs-nav > ul > li.cs-products-mega:hover > ul > li.cs-mega-column > ul,
  .cs-nav > ul > li.cs-products-mega:focus-within > ul > li.cs-mega-column > ul{
    pointer-events:auto !important;
  }
}


/* 2.0.16 – Slider controls + horizontal slide transition */
.cs-home-slider .cs-slider-dots button{
  width:29px;
  height:29px;
  font-size:13px;
  line-height:29px;
}

@media (min-width:761px){
  .cs-home-slider{
    position:relative;
    overflow:hidden;
  }
  .cs-home-slider .cs-slide{
    display:block;
    position:absolute;
    inset:0;
    width:100%;
    height:470px;
    visibility:hidden;
    transform:translateX(100%);
    z-index:1;
  }
  .cs-home-slider .cs-slide.is-active{
    position:relative;
    visibility:visible;
    transform:translateX(0);
    z-index:2;
  }
  .cs-home-slider .cs-slide.cs-slide-out{
    visibility:visible;
    transform:translateX(-100%);
    z-index:2;
    transition:transform .55s ease-in-out;
  }
  .cs-home-slider .cs-slide.cs-slide-in{
    visibility:visible;
    transform:translateX(0);
    z-index:3;
    transition:transform .55s ease-in-out;
  }
  .cs-home-slider .cs-slide.cs-slide-prep{
    visibility:visible;
    transform:translateX(100%);
    z-index:3;
    transition:none;
  }
}

@media(max-width:760px){
  .cs-home-slider .cs-slider-dots button{
    width:29px;
    height:29px;
    font-size:13px;
    line-height:29px;
  }
}


/* 2.0.17 – keep animated desktop slides stacked inside a fixed-height slider */
@media (min-width:761px){
  .cs-home-slider{
    height:470px;
    min-height:470px;
    overflow:hidden;
  }
  .cs-home-slider .cs-slide,
  .cs-home-slider .cs-slide.is-active,
  .cs-home-slider .cs-slide.cs-slide-out,
  .cs-home-slider .cs-slide.cs-slide-in,
  .cs-home-slider .cs-slide.cs-slide-prep{
    position:absolute !important;
    inset:0;
    width:100%;
    height:470px;
    margin:0;
  }
  .cs-home-slider .cs-slide.is-active{
    display:block;
  }
}


/* 2.0.18 – Keep contact title on one line on desktop */
@media (min-width:901px){
  body.is-home .cs-home-contact-title{white-space:nowrap;}
}


/* 2.0.19 – LinkedIn menu icon only */
.cs-nav a.linkedin-menu img,
.cs-nav .linkedin-menu img {
  width:16px !important;
  height:16px !important;
  max-width:16px !important;
  object-fit:contain;
  margin-right:7px;
  vertical-align:middle;
  display:inline-block;
}


/* 2.0.20 – LinkedIn icon: target the actual external menu link directly */
.cs-nav a[href*="linkedin.com"] img{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  max-width:16px !important;
  max-height:16px !important;
  inline-size:16px !important;
  block-size:16px !important;
  object-fit:contain !important;
  margin:0 7px 0 0 !important;
  padding:0 !important;
  vertical-align:middle !important;
  display:inline-block !important;
}
.cs-nav a[href*="linkedin.com"]{
  display:flex !important;
  align-items:center !important;
}


/* 2.0.21 – WhatsApp menu icon only */
.cs-nav a[href*="api.whatsapp.com"] img,
.cs-nav a[href*="wa.me"] img,
.cs-nav a[href*="whatsapp.com"] img{
  width:16px !important;
  height:16px !important;
  max-width:16px !important;
  max-height:16px !important;
  object-fit:contain;
  margin-right:7px;
  vertical-align:middle;
}
.cs-nav a[href*="api.whatsapp.com"],
.cs-nav a[href*="wa.me"],
.cs-nav a[href*="whatsapp.com"]{
  display:flex;
  align-items:center;
}


/* 2.0.22 – WhatsApp menu icon scoped by explicit menu class */
.cs-nav a.whatsapp-menu img,
.cs-nav .whatsapp-menu img{
  width:16px !important;
  height:16px !important;
  max-width:16px !important;
  max-height:16px !important;
  object-fit:contain;
  display:inline-block;
  margin-right:7px;
  vertical-align:middle;
}


/* 2.0.23 – Match original light slider side background */
.cs-hero{background:#f8f8f8 !important;}

/* 2.0.24 – Slider text panel matches original light grey */
.cs-home-slider .cs-slide-content{background:#f8f8f8 !important;}
@media(max-width:760px){.cs-home-slider .cs-slide-content{background:#f8f8f8 !important;}}


/* 2.0.25 – typography and logo matched more closely to the original site */
@media (min-width:901px){
  .cs-brand img{
    max-height:88px;
    max-width:180px;
    width:auto;
    height:auto;
  }
  .cs-home-slider .cs-slide-content h2{
    font-size:32px;
    font-weight:400;
    line-height:1.18;
    margin-bottom:20px;
  }
  .cs-home-slider .cs-slide-content p{
    font-size:14px;
    line-height:1.6;
  }
  .cs-slider-links a::before,
  .cs-slider-links a::after{
    font-size:24px;
    line-height:30px;
  }
  .cs-slider-links a::before{font-weight:400;}
  .cs-slider-links a::after{font-weight:700;}
}


/* 2.0.26 – slider text positioning and image framing refinement */
.cs-home-slider .cs-slide-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  box-sizing:border-box;
  padding:34px 34px 34px 48px;
}
.cs-home-slider .cs-slide-content h2{
  margin:0 0 18px;
  font-size:30px;
  font-weight:300;
  line-height:1.14;
}
.cs-home-slider .cs-slide-content p{
  margin:0 0 18px;
  max-width:255px;
  font-size:13px;
  line-height:1.75;
}
.cs-home-slider .cs-slide-more{
  margin-top:4px;
}
/* Fine-tune slide image crop so slide 3 keeps more of the arm/body visible. */
.cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-image img{
  object-position:42% center;
}
@media(max-width:760px){
  .cs-home-slider .cs-slide-content{padding:22px 22px 58px}
  .cs-home-slider .cs-slide-content h2{font-size:28px}
  .cs-home-slider .cs-slide-content p{max-width:none;line-height:1.65}
  .cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-image img{object-position:center center}
}


/* 2.0.27 – slide 3 crop nudged further left to reveal more of the arm */
.cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-image img{
  object-position:34% center;
}
@media(max-width:760px){
  .cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-image img{object-position:center center}
}


/* 2.0.28 – Slide 3: image overlaps the panel edge like the original.
   The slide background stays #f8f8f8, the photo sits above it, and the
   text remains the top layer. This reveals the woman's left arm instead
   of hiding it behind the opaque text panel. */
.cs-home-slider .cs-slide:nth-of-type(3){
  background:#f8f8f8;
}
.cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-image{
  z-index:2;
  clip-path:inset(0 0 0 24%);
}
.cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-image img{
  object-position:center center;
}
.cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-content{
  z-index:3;
  background:transparent;
}
@media(max-width:760px){
  .cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-image{
    clip-path:none;
  }
  .cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-content{
    background:#f8f8f8;
  }
}


/* 2.0.30 – Slide 3: remove the accidental left clipping. */
.cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-image {
  z-index: 1;
  clip-path: none !important;
  inset: 0;
}
.cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center !important;
}
.cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-content {
  z-index: 3;
  background: transparent !important;
}
@media (max-width:760px) {
  .cs-home-slider .cs-slide:nth-of-type(3) .cs-slide-content {
    background: #f8f8f8 !important;
  }
}


/* 2.0.31 – Original-style subpage breadcrumb and section navigation */
body:not(.is-home) .cs-auto-breadcrumbs{
  background:#fff;
  border-top:1px solid #ededed;
  border-bottom:1px solid #ededed;
  padding:17px 0;
  font-size:13px;
  color:#8a8a8a;
}
body:not(.is-home) .cs-auto-breadcrumbs nav{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  min-height:22px;
}
body:not(.is-home) .cs-breadcrumb-label{
  margin-right:10px;
  color:#888;
  font-weight:700;
}
body:not(.is-home) .cs-auto-breadcrumbs a{
  color:#169fd1;
  text-decoration:none;
}
body:not(.is-home) .cs-auto-breadcrumbs a:hover{ text-decoration:underline; }
body:not(.is-home) .cs-breadcrumb-sep{
  margin:0 9px;
  color:#b8b8b8;
}
body:not(.is-home) .cs-breadcrumb-current{ color:#888; }
body:not(.is-home) .cs-main{ padding-top:38px; }
body:not(.is-home) .cs-layout.has-left{
  grid-template-columns:228px minmax(0,1fr);
  gap:44px;
}
body:not(.is-home) .cs-section-nav{
  margin:0;
  color:#777;
}
body:not(.is-home) .cs-section-nav h2{
  margin:0 0 14px;
  padding:0 0 13px;
  border-bottom:1px solid #e7e7e7;
  font-size:23px;
  line-height:1.25;
  font-weight:400;
}
body:not(.is-home) .cs-section-nav h2 a{
  color:#20a5d7;
  text-decoration:none;
}
body:not(.is-home) .cs-section-nav > ul,
body:not(.is-home) .cs-section-nav ul ul{
  list-style:none;
  margin:0;
  padding:0;
}
body:not(.is-home) .cs-section-nav > ul > li{
  border-bottom:1px solid #e7e7e7;
}
body:not(.is-home) .cs-section-nav > ul > li > a,
body:not(.is-home) .cs-section-nav > ul > li > .cs-section-heading{
  display:block;
  padding:14px 0;
  color:#20a5d7;
  font-size:13px;
  line-height:1.35;
  text-decoration:none;
}
body:not(.is-home) .cs-section-nav > ul > li > a:hover,
body:not(.is-home) .cs-section-nav > ul > li.is-active > a{
  color:#1188b5;
}
body:not(.is-home) .cs-section-nav .cs-section-heading{
  color:#666;
  font-weight:700;
  text-transform:uppercase;
  font-size:12px;
}
body:not(.is-home) .cs-section-nav ul ul{
  padding:0 0 9px 13px;
}
body:not(.is-home) .cs-section-nav ul ul li a{
  display:block;
  padding:6px 0;
  color:#777;
  font-size:12px;
  text-decoration:none;
}
body:not(.is-home) .cs-section-nav ul ul li a:hover,
body:not(.is-home) .cs-section-nav ul ul li.is-active a{
  color:#20a5d7;
}
@media(max-width:900px){
  body:not(.is-home) .cs-layout.has-left,
  body:not(.is-home) .cs-layout.has-both{grid-template-columns:1fr;gap:28px}
  body:not(.is-home) .cs-section-nav{order:0}
  body:not(.is-home) .cs-component{order:1}
}


/* 2.0.32 – left sidebar menu styled like the original site */
.cs-left .moduletable,
.cs-left .mod-menu,
.cs-left .moduletable_menu{
  margin:0 0 28px;
}
.cs-left .moduletable > h3,
.cs-left .moduletable_menu > h3,
.cs-left .mod-menu + h3,
.cs-left .moduletable .mod-menu__heading{
  margin:0 0 8px;
  padding:0 0 12px;
  border-bottom:1px solid #dcdcdc;
  color:#28a9da;
  font-size:20px;
  font-weight:400;
  line-height:1.2;
}
.cs-left ul.mod-menu,
.cs-left .mod-menu ul,
.cs-left .menu{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.cs-left ul.mod-menu > li,
.cs-left .menu > li{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid #e7e7e7;
}
.cs-left ul.mod-menu > li::marker,
.cs-left .menu > li::marker{content:'';}
.cs-left ul.mod-menu > li > a,
.cs-left .menu > li > a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:11px 0;
  color:#28a9da;
  font-size:14px;
  line-height:1.35;
  text-decoration:none;
}
.cs-left ul.mod-menu > li > a:hover,
.cs-left ul.mod-menu > li > a:focus,
.cs-left .menu > li > a:hover,
.cs-left .menu > li > a:focus{
  color:#168fbd;
  text-decoration:none;
}
.cs-left ul.mod-menu > li.current > a,
.cs-left ul.mod-menu > li.active > a,
.cs-left .menu > li.current > a,
.cs-left .menu > li.active > a{
  color:#28a9da;
}
/* Keep sidebar menu images compact; WhatsApp on the old site is a larger icon, but not oversized. */
.cs-left a.whatsapp-menu img,
.cs-left a[href*="api.whatsapp.com"] img,
.cs-left a[href*="wa.me"] img,
.cs-left a[href*="whatsapp.com"] img{
  width:64px!important;
  height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  object-fit:contain;
  flex:0 0 64px;
  margin:2px 4px 2px 0;
}
@media(max-width:900px){
  .cs-left{margin-top:24px}
}


/* 2.0.34 – Joomla Navigationspfad wie auf der alten Website */
.cs-breadcrumbs{
  background:#fff;
  border-top:1px solid #eeeeee;
  border-bottom:1px solid #eeeeee;
  padding:17px 0;
  font-size:13px;
  line-height:1.4;
}
.cs-breadcrumbs .mod-breadcrumbs__wrapper{
  margin:0;
  padding:0;
}
.cs-breadcrumbs ol.mod-breadcrumbs,
.cs-breadcrumbs .breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  background:transparent;
}
.cs-breadcrumbs .mod-breadcrumbs li,
.cs-breadcrumbs .breadcrumb-item{
  display:inline-flex;
  align-items:center;
  margin:0;
  padding:0;
  list-style:none !important;
  color:#777;
}
.cs-breadcrumbs .mod-breadcrumbs__here{
  margin-right:8px;
  color:#777;
}
.cs-breadcrumbs .mod-breadcrumbs__divider{
  display:none !important;
}
.cs-breadcrumbs .mod-breadcrumbs__item + .mod-breadcrumbs__item::before,
.cs-breadcrumbs .breadcrumb-item + .breadcrumb-item::before{
  content:'›';
  display:inline-block;
  margin:0 8px;
  padding:0;
  color:#aaa;
  float:none;
}
.cs-breadcrumbs a{
  color:#169fd1;
  text-decoration:none;
}
.cs-breadcrumbs a:hover,
.cs-breadcrumbs a:focus{
  color:#1188b5;
  text-decoration:underline;
}
.cs-breadcrumbs .active,
.cs-breadcrumbs [aria-current="page"]{
  color:#777;
}
@media(max-width:700px){
  .cs-breadcrumbs{padding:12px 0;font-size:12px}
  .cs-breadcrumbs .mod-breadcrumbs__item + .mod-breadcrumbs__item::before,
  .cs-breadcrumbs .breadcrumb-item + .breadcrumb-item::before{margin:0 5px}
}


/* 2.0.35 – breadcrumb lines and hierarchy colors like the original */
.cs-breadcrumbs{
  background:#fff;
  border-top:1px solid #ececec;
  border-bottom:1px solid #ececec;
  padding:0;
}
.cs-breadcrumbs .cs-container{
  padding-top:18px;
  padding-bottom:18px;
}
.cs-breadcrumbs .mod-breadcrumbs,
.cs-breadcrumbs .breadcrumb{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  font-size:13px;
  line-height:1.45;
  color:#444;
}
.cs-breadcrumbs .mod-breadcrumbs__here{
  color:#666;
  margin-right:8px;
}
.cs-breadcrumbs .mod-breadcrumbs__item,
.cs-breadcrumbs .breadcrumb-item{
  color:#444;
}
.cs-breadcrumbs .mod-breadcrumbs__item a,
.cs-breadcrumbs .breadcrumb-item a{
  color:#37abda;
  text-decoration:none;
}
.cs-breadcrumbs .mod-breadcrumbs__item a:hover,
.cs-breadcrumbs .breadcrumb-item a:hover{
  color:#229bcc;
  text-decoration:underline;
}
.cs-breadcrumbs .mod-breadcrumbs__item.active,
.cs-breadcrumbs .breadcrumb-item.active,
.cs-breadcrumbs .mod-breadcrumbs__item.active span,
.cs-breadcrumbs .breadcrumb-item.active span{
  color:#333;
  font-weight:400;
}
.cs-breadcrumbs .mod-breadcrumbs__item + .mod-breadcrumbs__item::before,
.cs-breadcrumbs .breadcrumb-item + .breadcrumb-item::before{
  content:'›';
  display:inline-block;
  margin:0 8px;
  color:#999;
}
.cs-breadcrumbs .mod-breadcrumbs__divider{display:none!important;}


/* 2.0.36 – Slider typography copied from the original DJ-MediaTools template */
.cs-home-slider .cs-slide-content{
  font-family:Arial,Helvetica,sans-serif;
}
.cs-home-slider .cs-slide-content h2{
  margin:0;
  font-family:inherit;
  font-size:30px;
  font-weight:300;
  line-height:1.5;
  color:#37abda;
}
.cs-home-slider .cs-slide-content h2 + p{
  margin-top:10px;
}
.cs-home-slider .cs-slide-content p{
  margin-bottom:15px;
  max-width:none;
  font-family:inherit;
  font-size:16px;
  font-weight:400;
  line-height:1.5;
  color:#5f5f5f;
}
.cs-home-slider .cs-slide-more{
  margin-top:0;
  padding:14px 30px;
  border:2px solid #37abda;
  font-family:inherit;
  font-size:16px;
  font-weight:600;
  line-height:20px;
  color:#37abda!important;
  background:transparent;
  transition:all .2s ease-in;
}
.cs-home-slider .cs-slide-more:hover,
.cs-home-slider .cs-slide-more:focus{
  color:#444!important;
  border-color:#444;
  background:transparent;
}
@media(max-width:760px){
  .cs-home-slider .cs-slide-content h2{font-size:30px;line-height:1.35}
  .cs-home-slider .cs-slide-content p{font-size:15px;line-height:1.5}
  .cs-home-slider .cs-slide-more{font-size:14px;padding:11px 22px}
}


/* 2.0.37 – original homepage intro typography */
body.is-home .cs-content-top > *:not(:has(.cs-slider-links)){
  font-family:Arial,Helvetica,sans-serif;
  color:#555;
  font-size:14px;
  font-weight:300;
  line-height:1.7;
  text-align:center;
}
body.is-home .cs-content-top > *:not(:has(.cs-slider-links)) h1{
  margin:0 0 10px;
  font-family:Arial,Helvetica,sans-serif;
  color:#454545;
  font-size:28px;
  font-weight:700;
  line-height:1.2;
}
body.is-home .cs-content-top > *:not(:has(.cs-slider-links)) p{
  margin:5px 0;
  color:#555;
  font-size:14px;
  font-weight:300;
  line-height:1.7;
}
@media(max-width:760px){
  body.is-home .cs-content-top > *:not(:has(.cs-slider-links)) h1{font-size:24px}
}


/* 2.0.38 – LinkedIn icon size in left-column only */
.cs-left a[href*="linkedin.com"] img,
.cs-left .linkedin-menu img {
  width:64px !important;
  height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
  object-fit:contain;
  display:inline-block;
  vertical-align:middle;
  margin-right:10px;
}
