@import url("richter-fonts.css");
:root{--richter-pink:#d70d47;--richter-width:1140px;--richter-header-height:80px;--richter-logo-width:clamp(260px,25vw,400px);--cassiopeia-color-primary:#d70d47;--cassiopeia-color-link:#b40b3b;--cassiopeia-color-hover:#8f092f;--link-color:#b40b3b;--link-hover-color:#8f092f;--body-color:#333;--body-bg:#fff}
html{scroll-padding-top:calc(var(--richter-header-height) + 24px)}
body.site{font-family:"Montserrat",sans-serif;font-size:16px;line-height:1.5;color:#333;background:#fff;overflow-x:clip}
a{color:#b40b3b}a:hover{color:#8f092f}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--richter-pink);outline-offset:3px}
.container-header{position:fixed!important;top:0;left:0;right:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--richter-width)) minmax(0,1fr);min-height:80px;padding:0;background:#fff;background-image:none;box-shadow:0 2px 3px #0004;color:#333;z-index:1040}
.container-header .container-topbar{display:none}.container-header>.grid-child{grid-column:2;grid-row:1;margin:0;padding:12px 15px;max-width:none;width:100%;align-self:center}
.container-header>.grid-child:not(.container-nav){width:var(--richter-logo-width);padding-right:0;justify-self:start}
.container-header .navbar-brand{margin:0;padding:0;line-height:1}.container-header .brand-logo{display:block}.container-header .brand-logo img{display:block;width:100%;height:auto;max-height:62px;object-fit:contain}
.container-header>.container-nav{width:auto;max-width:calc(100% - var(--richter-logo-width) - 12px);justify-self:end;padding-left:0}
.container-header nav.navbar{padding:0;margin:0;min-height:0}.container-header .mod-menu{display:flex;gap:24px;align-items:center;justify-content:flex-end;margin:0;padding:0;list-style:none;color:#333}
.container-header .mod-menu>li{padding:0;margin:0}.container-header .mod-menu>li>a{display:block;white-space:nowrap;text-decoration:none;font-size:16px;letter-spacing:1px;font-weight:400;line-height:1.4;padding:12px 0;color:#333}
.container-header .mod-menu>li>a:hover,.container-header .mod-menu>li.active>a,.container-header .mod-menu>li.is-section-active>a{color:var(--richter-pink)}
.container-header .navbar-toggler{padding:4px;border:0;color:var(--richter-pink);border-radius:0}.container-header .navbar-toggler .icon-menu{display:block;position:relative;width:34px;height:24px;font-family:inherit}
.container-header .navbar-toggler .icon-menu::before{content:"";display:block;width:34px;height:24px;background:linear-gradient(var(--richter-pink) 0 4px,transparent 4px 10px,var(--richter-pink) 10px 14px,transparent 14px 20px,var(--richter-pink) 20px 24px)}
.container-header .navbar-toggler[aria-expanded=true] .icon-menu::before{height:3px;margin-top:10px;background:var(--richter-pink);transform:rotate(45deg)}.container-header .navbar-toggler[aria-expanded=true] .icon-menu::after{content:"";position:absolute;left:0;top:10px;width:34px;height:3px;background:var(--richter-pink);transform:rotate(-45deg)}
.site-grid{display:block}.container-component{max-width:var(--richter-width);margin:0 auto;padding:100px 15px}.container-component main{min-width:0}.container-component .container{max-width:var(--richter-width);width:100%;padding-inline:15px}
.container-component img{max-width:100%;height:auto}.container-component .row{--bs-gutter-x:30px;--gutter-x:30px}.container-component p{margin-bottom:16px}.container-component .item-image{display:none}
.container-component h1{font-family:"Raleway",sans-serif;font-weight:300;color:var(--richter-pink);font-size:30px;text-transform:uppercase;letter-spacing:1px;line-height:1.25;display:grid;grid-template-columns:minmax(10px,1fr) minmax(0,max-content) minmax(10px,1fr);gap:20px;align-items:center;text-align:center;margin:0 0 48px;overflow-wrap:anywhere}
.container-component h1::before,.container-component h1::after{content:"";display:block;border-top:1px solid var(--richter-pink);border-bottom:1px solid var(--richter-pink);height:5px;background:#f8f8f8}
.container-component h2,.container-component h3{font-family:"Raleway",sans-serif;color:#555;line-height:1.3}.container-component ul,.container-component ol{padding-left:1.5rem}.container-component li{overflow:visible}.container-component table{max-width:100%}
body.itemid-101 .container-component{max-width:none;margin:0;padding:0}body.itemid-101 .blog-items{display:block}body.itemid-101 .blog-item{margin:0;padding:0}body.itemid-101 .blog-item:has(#ueberuns){background:#ebebeb}
body.itemid-101 .blog-item>.item-content{padding:0}.min-70-vh{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:40px 0;width:100%}.min-70-vh>.row{width:calc(100% + 30px);flex-shrink:0}.scrollanchor{position:static;scroll-margin-top:calc(var(--richter-header-height) + 24px)}
.leistungen-container{padding:50px 0;background:#fff}.leistung-block{border:1px solid #3335;box-shadow:0 0 5px #0006;overflow:hidden;margin-bottom:30px;transition:box-shadow .3s ease}.leistung-block .card{border:0;position:relative;border-radius:0!important}
.leistung-block .card-header{padding:0;border:0;height:250px;overflow:hidden;background:transparent}.leistung-block .card-header img{height:250px;width:100%;object-fit:cover;transition:transform .4s ease}.leistung-block .card-body{position:absolute;left:0;top:0;right:0;width:100%;height:auto;background:#0005;padding:20px}
.leistung-block .card-body p{color:#fff!important;margin:0;font-weight:500;letter-spacing:1px}.leistung-block .card-body i{display:inline-block;font-style:normal;transform:translate(15px,2px);transition:transform .4s ease}.leistung-block .fa-arrow-alt-right::before{content:"→";font-family:Arial,sans-serif;font-weight:700}.leistung-block .fa-arrow-alt-right::after{content:none}
.leistungs-row>a{text-decoration:none}.leistungs-row a:hover .leistung-block{box-shadow:0 0 10px #0009}.leistungs-row a:hover .card-header img{transform:scale(1.06)}.leistungs-row a:hover .card-body i{transform:translate(25px,2px)}
.richter-inner-banner img{display:block;width:100%;height:auto;max-height:350px;object-fit:cover}.container-banner{margin:0;padding:0}.container-banner .mod-custom{margin:0}
.container-footer{display:block;padding:0;margin:0;background:#ebebeb;background-image:none;color:#666}.container-footer>.grid-child{display:block;width:100%;max-width:none;padding:0;margin:0}.container-footer .mod-custom{width:100%}
.richter-footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;max-width:var(--richter-width);padding:24px 15px 40px;margin:0 auto}.richter-footer-inner h2{font-family:"Montserrat",sans-serif;font-size:24px;font-weight:400;letter-spacing:3px;color:#666;border-bottom:1px solid var(--richter-pink);padding:0 0 8px;margin:0 0 18px}
.richter-footer-inner table{margin:0;width:100%;color:#666}.richter-footer-inner td{padding:0 8px;border:0;background:transparent;vertical-align:top}.richter-footer-inner td:first-child{width:24px}.richter-footer-inner h4{font-family:"Montserrat",sans-serif;font-size:16px;font-weight:500;letter-spacing:2px;line-height:1.65;margin:0}.richter-footer-inner h4 strong{font-size:18px;font-weight:700;letter-spacing:2px}
.richter-contact-links,.richter-footer-inner .mod-menu{list-style:none;margin:0;padding:0;display:block}.richter-contact-links li{display:flex;gap:12px;align-items:baseline;margin:0 0 8px}.richter-footer-inner a{color:#666;text-decoration:none;overflow-wrap:anywhere}.richter-footer-inner a:hover{color:var(--richter-pink)}.richter-footer-inner .mod-menu li{margin:0 0 8px;padding:0}.richter-footer-inner .mod-menu a{padding:0}
.richter-footer-inner .fa-home::before{content:"⌂";font-family:Arial,sans-serif}.container-component .fa-phone::before{content:"☎";font-family:Arial,sans-serif}.container-component .fa-envelope::before{content:"✉";font-family:Arial,sans-serif}
.richter-map iframe{display:block;width:100%;height:400px;border:0}.richter-map{min-height:400px}.richter-copyright{background:var(--richter-pink);color:#fff;text-align:center;font-size:16px;padding:10px 15px 14px;line-height:1.5}.richter-copyright a{font-size:10px;color:#fff;text-decoration:none;letter-spacing:1px}.richter-copyright a:hover{text-decoration:underline}
.convertforms.richter-contact-form{max-width:none!important;width:100%!important}.convertforms{font-family:"Montserrat",sans-serif}.convertforms input,.convertforms select,.convertforms textarea,.convertforms button{font-family:inherit}.convertforms .cf-control-group{margin-bottom:14px}.convertforms .cf-input{border-radius:0}.convertforms button[type=submit]{background:var(--richter-pink);border-radius:0}.convertforms a{color:#b40b3b}.convertforms altcha-widget{--altcha-border-color:#c2c2c2;--altcha-border-radius:0px}
.richter-reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.richter-reveal.is-visible{opacity:1;transform:none}
@media(min-width:992px){.container-header .navbar-collapse{display:flex!important}.container-header .navbar-toggler{display:none}}
@media(max-width:1199px) and (min-width:992px){.container-header .mod-menu{gap:18px}.container-header .mod-menu>li>a{font-size:15px;letter-spacing:.6px}}
@media(max-width:991px){:root{--richter-header-height:56px;--richter-logo-width:min(65vw,330px)}.container-header{min-height:56px;grid-template-columns:15px minmax(0,1fr) 15px}.container-header>.grid-child{padding:10px 0}.container-header>.container-nav{max-width:none;padding:0}.container-header .brand-logo img{max-height:44px}.container-header nav.navbar{position:static}.container-header .navbar-collapse{position:absolute;left:0;right:0;top:100%;width:100%;max-height:calc(100dvh - var(--richter-header-height));overflow:auto;background:#fff;box-shadow:0 3px 5px #0003;border-top:1px solid #eee}.container-header .navbar-collapse.collapse:not(.show){display:none}.container-header .mod-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 20px;max-width:var(--richter-width);margin:0 auto}.container-header .mod-menu>li>a{padding:12px 0;font-size:16px}.richter-footer-inner{grid-template-columns:1fr;gap:36px;padding-block:32px}.container-component{padding-block:65px}.min-70-vh{min-height:0;padding:65px 0}.leistungen-container{padding:0}.container-component h1{font-size:26px;gap:14px;margin-bottom:36px}.richter-inner-banner img{height:190px;object-fit:cover}.richter-map iframe,.richter-map{min-height:360px;height:360px}}
@media(max-width:575px){.container-component .container{padding-inline:0}.itemid-101 .container-component .container{padding-inline:15px}.min-70-vh>.row{margin-inline:0;width:100%;flex-shrink:1}.min-70-vh>.row>*{padding-inline:0}.itemid-101 .min-70-vh .col-md-6+ .col-md-6{margin-top:25px}.leistungs-row{--bs-gutter-y:0}.leistung-block{margin-bottom:24px}.container-component h1{font-size:24px;gap:12px}.richter-copyright{font-size:14px}.convertforms .cf-control-group{max-width:100%}.convertforms .cf-control-label,.convertforms .cf-control-input{width:100%!important;max-width:100%!important;padding-left:0!important;margin-left:0!important}}
@media(max-width:360px){.container-component h1{display:block}.container-component h1::before,.container-component h1::after{display:none}.richter-footer-inner h2{font-size:22px;letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.richter-reveal{opacity:1;transform:none}}

@media(min-width:992px){body.itemid-279 .container-component,body.itemid-280 .container-component,body.itemid-281 .container-component{padding-top:0}.container-component h1{grid-template-rows:27px 0;margin-bottom:25px}.richter-inner-banner img{max-height:none}}

#ueberuns,#leistungen{scroll-margin-top:0}

body.itemid-1103 .container-component h3,body.itemid-181 .container-component h3{font-family:"Montserrat",sans-serif;font-size:16px;font-weight:400;line-height:1.5;margin:0 0 24px}.hgd-kundenkontakt02 td{padding-block:8px}.hgd-kundenkontakt02 .fa-phone-alt::before{content:"☎";font-family:Arial,sans-serif}.convertforms textarea[name="cf[nachricht]"]{min-height:160px}

/* Long legal URLs remain within the actual mobile viewport. */
.container-component main{overflow-wrap:anywhere}
