/* Maas + Müller — Standard Cassiopeia, migrated 2026-10-08. */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&family=Tangerine:wght@400;700&display=swap');
:root{--cassiopeia-color-primary:#0019aa;--cassiopeia-color-link:#0019aa;--cassiopeia-color-hover:#333;--template-link-color:#0019aa;--cassiopeia-font-family-body:"Open Sans",sans-serif;--cassiopeia-font-family-headings:"Open Sans",sans-serif;--white:#fff;--cwhite:#fff;--template-bg-dark-90:#333;--body-font-size:1rem}
body{font-size:1rem;line-height:1.5}
.container-header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;box-shadow:0 0 10px #3333;padding:0 max(12px,calc((100% - 1320px)/2));z-index:1030;color:#333}
.container-header>.grid-child{padding:0;margin:0;min-width:0;max-width:none}
.container-header>.grid-child:not(.container-nav){flex:0 1 30%}
.container-header .navbar-brand{padding:15px 0;margin:0;display:block}
.container-header .navbar-brand img{width:396px;min-width:0;max-width:100%;height:auto}
.container-header .container-nav{flex:1;justify-content:flex-end;align-items:center}
.container-header .navbar{padding:0;margin:0;min-height:0}
.container-header .mod-menu{color:#333;font-size:1.1rem;gap:0}
.container-header .metismenu-item{padding:8px 16px}
.container-header .metismenu-item>a,.container-header .metismenu-item>button{font-weight:400;color:#333;text-decoration:none;line-height:1.5}
.container-header .metismenu-item.active>a,.container-header .metismenu-item.active>button,.container-header .metismenu-item>a:hover{color:#0019aa}
.container-header .metismenu-item.active>a:after{background:currentColor;height:2px}
.container-header a:focus-visible,.container-header button:focus-visible{outline:2px solid #0019aa;outline-offset:4px}
.container-header .metismenu .mm-collapse{background:#fff;color:#333;z-index:1050;min-width:280px;box-shadow:0 4px 12px #0003}
.container-header .metismenu .mm-collapse .metismenu-item{padding:6px 14px}
.container-header .metismenu .mm-collapse .metismenu-item>a{white-space:normal;color:#333}
.container-header .metismenu .mm-collapse .metismenu-item.active>a{color:#0019aa}
.site-grid{display:block}
.site-grid>.container-component{display:block;width:100%;max-width:none;margin:0;padding:0}
.container-banner{margin:0}
.maas-hero>.row{--gutter-x:24px;margin-top:0}
.container-footer.footer{background:#0019aa;margin:0;padding:0 0 50px;color:#fff}
.container-footer.footer>.grid-child{display:block;width:100%;max-width:none;padding:0}
.maas-footer{background:linear-gradient(150deg,#aaa,#bbb);padding:30px 0;color:#fff}
.maas-footer .container-xl{max-width:1320px}
.maas-footer h3{font-size:1.3rem;font-weight:300;letter-spacing:.1rem;margin:0 0 12px}
.maas-footer address,.maas-footer a,.maas-footer td{font-size:1.15rem;font-weight:300;line-height:1.6rem;color:#fff}
.maas-footer address{margin:0;font-style:normal}
.maas-footer a:hover{color:#0019aa}
.maas-footer .mod-menu{display:block;list-style:none;padding:0;margin:0}
.maas-footer .mod-menu li{padding:0}
.maas-contact td{padding:0 8px 0 0;vertical-align:top}
.mod-footer{padding:24px 0 0}
.mod-footer .container{max-width:1320px}
.mod-footer .footer2{font-size:.8rem;font-weight:300}
.back-to-top-link{color:#fff;background:#333;border:0;right:20px;bottom:15px}
@media(max-width:991.98px){
 .container-header{gap:0;padding:0 15px;position:relative!important}
 .container-header>.grid-child:not(.container-nav){flex:1}
 .container-header .navbar-brand img{width:340px;max-width:calc(100vw - 100px)}
 .container-header .container-nav{flex:0;margin:0}
 .container-header .navbar-toggler{position:fixed;top:20px;right:20px;z-index:1060;background:#fff;color:#333;border:1px solid #ccc;padding:10px;box-shadow:0 2px 6px #0002;margin:0}
 .container-header .navbar-collapse{position:fixed;top:0;right:0;height:100dvh;max-width:92vw;width:360px;overflow-y:auto;background:#fff;padding:85px 15px 25px;box-shadow:-4px 0 15px #0002;z-index:1055}
 .container-header .metismenu.mod-menu{display:block;width:100%}
 .container-header .metismenu .mm-collapse{position:static;box-shadow:none;min-width:0;width:100%}
 .container-header .metismenu-item{display:block;padding:10px 6px}
 .container-header .metismenu-item>button{padding:8px}
 .container-header .mod-menu>.metismenu-item.active{border-left:3px solid #0019aa;padding-left:9px}
 .maas-footer{padding:25px 15px}
 .maas-footer .row>div{margin-bottom:20px}
 main>.com-contact.contact .com-contact__form{padding:35px 20px;margin:0}
}
@media(max-width:767.98px){.container-component .p-5{padding:1rem!important}.maas-hero{padding:12px 0}.maas-hero>.row>div+div{margin-top:15px}.maas-hero .col-md-5:empty,.maas-hero .col-md-7:empty{display:none}.com-content-article .container{padding-left:18px;padding-right:18px}}

/* Preserved article/project/contact styles. */
.btn-outline-info{
  color: var(--cassiopeia-color-primary) !important;
  border-color: var(--cassiopeia-color-primary) !important;
}
.btn-outline-info:hover{
  color: #fff !important;
  background-color: var(--cassiopeia-color-primary) !important;
  border-color: var(--cassiopeia-color-primary) !important;
}
.banner-slider{
  padding:20px 0;
  overflow: hidden;
}
.banner-slider > div.row > div > div:first-of-type{
  box-shadow: 2px 2px 18px -2px rgba(0,0,0,.75) !important;
}
.pdf-link{
  float: right;
  width:150px;
  max-width: 100%;
  border:2px solid gray;
  position: relative;
}
.pdf-link:after{
  content:"PDF";
  background-color: #fffa;
  color:#000;
  font-size: 2em;
  font-weight: bold;
  position: absolute;
  padding:10px;
  height:100%;
  width:100%;
  left: 0;
  top:0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: all ease .6s;
}
.pdf-link:hover:after{
  opacity: 1;
}
.text-right{text-align: right;padding: 5px 15px;}
.com-contact__thumbnail.thumbnail img{
  max-width: 250px;
}
.com-contact.contact{
  padding:15px;
}
main > div.com-contact.contact{
  display: block;
  
  margin: 10px auto 100px auto;
}
main > div.com-contact.contact .com-contact__container{
  grid-template-rows: repeat(4,2);
  margin:80px 0;
}
main > div.com-contact.contact h3{
  color:#fff;
  font-size:2em;
  font-weight: bold !important;
}
main > div.com-contact.contact .com-contact__container h3{
  color:inherit;
}
main > div.com-contact.contact .com-contact__form{
 background-color: var(--cassiopeia-color-primary);
 padding: 90px 200px 50px 200px;
 margin: -90px -200px -50px -200px;
 border-radius: 15px;
 color: #fff;
 border:1px solid#3333 !important;
 box-shadow: 3px 5px 10px #3333 !important;
}
main > div.com-contact.contact .com-contact__form #contact-form{
  position: relative;
}
@media screen and (max-width: 1024px){.com-contact__thumbnail.thumbnail img{
    margin: 20px 0;
  }}
main > div.com-contact.contact .com-contact__form #contact-form .control-group{
  position: relative;
  z-index: 9999;
}
main > div.com-contact.contact .com-contact__form #contact-form .control-group input , main > div.com-contact.contact .com-contact__form #contact-form .control-group textarea , main > div.com-contact.contact .com-contact__form #contact-form .control-group button{
  border:1px solid#3333 !important;
  box-shadow: 3px 5px 10px #3333 !important;
}
main > div.com-contact.contact .com-contact__form #contact-form .control-group button{
  border:1px solid#3333 !important;
  box-shadow: 3px 5px 10px #3333 !important;
  background-color: var(--cassiopeia-color-hover) !important;
}
@media (min-width: 992px){.com-contact__container .com-contact__thumbnail{
    text-align: left;
  }}
.under-mainslider-features-container{
  min-height: 200px;
  background-color:#aaa1;
}
.under-mainslider-features-container > div{
}
.under-mainslider-features-container .umfc-card{
  margin-top:-100px;
  min-height: 200px;
  box-shadow: 0 0 10px #aaa5;
  border-radius: 30px;
  padding:10px 10px 20px 10px;
  text-align: center;
}
.under-mainslider-features-container .umfc-card .umfc-icon{
  margin:10px auto;
  background-color:#aaa2;
  border:1px solid #3331;
  border-radius: 50%;
  padding:20px;
  box-shadow: 5px 5px 10px #3335;
}
.under-mainslider-features-container .umfc-card .umfc-icon i{
  width:30px;
  height:30px;
  font-size: 30px;
  color:var(--cassiopeia-color-primary);
}
.under-mainslider-features-container .umfc-card .umfc-text{
  font-size: small;
}
@media screen and (max-width: 768px){.under-mainslider-features-container .umfc-card{
    margin:10px;
  }}
.template-root{background:  var(--cassiopeia-color-primary); color: var(--white);}
a.template-root:hover{background:  var(--cassiopeia-color-hover) !important; color: var(--white) !important;}
body{color: RGBA(0,0,0,0.8);font-family: 'Open Sans', sans-serif !important;}
.h1, h1{font-weight: 400 !important; margin-bottom: 2rem;font-family: 'Open Sans', sans-serif !important;}
.h4, h4{font-weight: 400 !important; margin-bottom: 1rem;font-family: 'Open Sans', sans-serif !important;}
.h3, h3{font-weight: 400 !important;font-family: 'Open Sans', sans-serif !important;}
a{text-decoration: none !important;font-family: 'Open Sans', sans-serif !important;}
.template-root{background:  var(--cassiopeia-color-primary) !important;}
main .com-content-article{margin:50px 0 100px 0;}
.leistungs-uebersicht .leistung{
  position: relative;
  box-shadow: 2px 2px 18px -2px RGBA(0,0,0,0.75);
  overflow:hidden;
  margin-bottom: 15px;
}
.leistungs-uebersicht .leistung-image{
  min-height: 400px;
  background-position: center;
  background-size: cover;
}
.leistungs-uebersicht .leistung-text{
  position: absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  opacity: .0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all ease .3s;
}
.leistungs-uebersicht .leistung .leistung-text span{
  transition: all ease .3s;
  transform: scale(1.1);
  color:var(--cassiopeia-color-primary);
  font-size: 1.1em;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
}
.leistungs-uebersicht .leistung:hover .leistung-text{
  opacity: 1;
  background-color: #fffd;
}
.leistungs-uebersicht .leistung:hover .leistung-text span{
  transform: scale(1);
}
.projekte-row > div{
  margin-bottom: 15px;
}
.projekt{
  border:1px solid #3333;
  
  padding:10px;
  box-shadow: 2px 2px 18px -2px RGBA(0,0,0,0.75);
  height:100%;
  
}
.projekt .projekt-slider{
  
}
.projekt .projekt-description{
  
  padding: 10px;
  font-size: small;
}
.projekt .projekt-description h4{
  font-weight: bold;
  color:var(--cassiopeia-color-primary);
}
.leistungen-block{
  background: linear-gradient(150deg, rgba(34, 34, 34, 0.4)0%, rgba(85, 85, 85, 0.4) 100%);
  padding:15px 25px;
  color:#fff;
}
.leistungen-block h2{
  
  margin-top: 15px;
  letter-spacing: 2px;
}
.leistungen-block .leistungs-background-image{
  width:150px;
  height:150px;
  background-size: cover;
  background-position:center;
}
.leistungen-block > .row > .col{
  display: flex;
  
  align-items: center;
}
.leistungen-block > .row > .col > h4{
  padding-left: 20px;
}
@media screen and (max-width: 768px){button.mm-toggler{
    padding:10px !important;
  }}
.com-content-article.item-page ul.fields-container{display: none;}
img.team-img{
  border-radius: 50%;
  box-shadow: 2px 2px 18px -2px rgba(0,0,0,.75) !important;
  height:200px;
  width: 200px;
}
.shadow-lz{
  box-shadow: 2px 2px 18px -2px rgba(0,0,0,.75) !important;
  
}
.flex-center{
  display: flex;
  align-items: center;
}
.handwriting{
  font-family: 'Tangerine', cursive !important;
  font-size: 3em;
}
.hgd-video{z-index: 1;}
.CB_overlay{position: relative; z-index: 2;}
.CB_Container .fal, .CB_Container .far{padding: 0 .4rem;;}
.CB_Container a.btn{padding: .7rem 1.5rem; letter-spacing: .05rem;}
.CB_itembg{min-height: 100%;}
.form-control{
    color: var(--cassiopeia-color-hover);
    border: 1px solid var(--cassiopeia-color-hover);
        border-top-color: var(--cassiopeia-color-hover);
        border-right-color: var(--cassiopeia-color-hover);
        border-bottom-color: var(--cassiopeia-color-hover);
        border-left-color: var(--cassiopeia-color-hover);
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
@media screen and (max-width: 768px){.start-slider-img{
     height:250px !important;
   }}
@media screen and (min-width: 1024px){.form-control{
      width: 40%;
  }}
@media screen and (max-width: 768px){.p-5{padding: 1rem!important;}}
@keyframes effect{
        0% {
            transform: scale(1, 1);
        }
        25% {
            transform: scale(1.5, 0.5);
        }

        50% {
            transform: scale(0.5, 1.5);
        }

        75% {
            transform: scale(1.5, 0.5);
        }

        100% {
            transform: scale(1, 1);
        }
    }
.card-actions-3d a.btn{background: var(--cassiopeia-color-primary); border-radius: 4px; box-shadow: 0 2px 0px 0 rgba(0, 0, 0, 0.25); color: var(--white); display: inline-block; padding: .6rem 3rem .8rem; position: relative; text-decoration: none; transition: all 0.1s 0s ease-out;}
.card-actions-3d a.btn:hover{background: var(--cassiopeia-color-hover); box-shadow: 0px 8px 2px 0 rgba(0, 0, 0, 0.075); transform: translateY(-2px); transition: all 0.25s 0s ease-out;}
.card-actions-3d a.btn:active,
.card-actions-3d a.btn:active{background: var(--cassiopeia-color-hover); box-shadow: 0 1px 0px 0 rgba(255, 255, 255, 0.25); transform: translate3d(0, 1px, 0); transition: all 0.025s 0s ease-out;}
div.cards-3d{max-width: 100%;}
div.card-3d{background: var(--white); display: inline-block; margin: 8px; max-width: 400px; perspective: 1000; position: relative; text-align: left; transition: all 0.4s 0s ease-in; width: 100%; z-index: 1;}
div.card-3d .card__image-holder{background: rgba(0, 0, 0, 0.1); height: 0; padding-bottom: 75%; overflow: hidden;}
div.card-3d .card__image-holder img{filter: brightness(.7); transition: all ease .6s;}
div.card-3d:hover .card__image-holder img, div.card-3d.show .card__image-holder img{filter: brightness(1);}
div.card-3d div.card-title-3d{background: var(--white); padding: .6rem 1.5rem 1rem; position: relative; z-index: 0;}
div.card-3d div.card-title-3d div.toggle-info-3d{border-radius: 3rem; height: 3rem; padding: 0; position: absolute; right: 1rem; top: 1rem;}
div.card-3d div.card-title-3d div.toggle-info-3d span{background: var(--white); display: block; position: absolute;  transition: all 0.3s 0s ease-out; width: 12px;}
div.card-3d div.card-title-3d div.toggle-info-3d span.right .fal{padding: 0rem;}
div.card-3d div.card-title-3d div.toggle-info-3d span.right{transform: rotate(0deg);}
div.card-3d.show div.card-title-3d div.toggle-info-3d span.right{transform: rotate(0.5turn);}
div.card-3d .card-title-3d h4{font-size: 1.7rem; font-weight: 400; letter-spacing: 0.05em; margin: 0; padding: 0; transition: all ease .6s;}
div.card-3d .card-title-3d h4 small{display: block; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.025em; filter: grayscale(70%);}
div.card-3d div.card-description-3d{padding: 0 1.2rem 1rem; position: relative; font-size: 1.1rem;}
div.card-3d div.card-description-3d h5{font-size: 1.1rem;}
div.card-3d div.card-description-3d td{padding:0 .5rem;}
div.card-actions-3d{box-shadow: 0 2px 0px 0 rgba(0, 0, 0, 0.075); padding: 1rem 1.2rem 1.5rem; text-align: center;}
div.cards-3d div.card-3d div.card-flap{background: darken(var(--white), 15); position: absolute; width: 100%; transform-origin: top; transform: rotateX(-90deg);}
div.cards-3d div.card-3d div.flap1{transition: all 0.2s 0.3s ease-out; z-index: -1;}
div.cards-3d div.card-3d div.flap2{transition: all 0.2s 0s ease-out; z-index: -2;}
div.cards-3d.showing div.card-3d{cursor: pointer; opacity: 0.5; transform: scale(0.8);}
div.cards-3d div.card-3d:hover{cursor: pointer;}
div.cards-3d div.card-3d:hover h4{color: var(--cassiopeia-color-primary); font-weight: 500; letter-spacing: .2rem; }
div.cards-3d.showing div.card-3d:hover{opacity: 0.9;transform: scale(0.9);}
div.card-3d.show{opacity: 1 !important; transform: scale(1) !important;}
div.card-3d div.card-title div.toggle-info-3d{background: var(--white) !important;}
div.card-3d div.card-title div.toggle-info-3d span{top: 1rem;}
div.card-3d div.card-title div.toggle-info-3d span.left{right: 1rem;}
div.card-3d div.card-title div.toggle-info-3d span.right{left: 1rem;}
div.cards-3d.showing div.card-3d.show div.card-flap{background: var(--white); transform: rotateX(0deg);}
div.cards-3d.showing div.card-3d.show div.flap1{transition: all 0.2s 0s ease-out;}
div.cards-3d.showing div.card-3d.show div.flap2{transition: all 0.2s 0.2s ease-out;}
.uk-text-primary{color: #0032ff !important;}
.uk-text-normal{font-weight: 400 !important;}

/* Match legacy desktop alignment without overriding Bootstrap collapse. */
.container-header.container-header>.grid-child{padding:0}
@media(min-width:992px){.container-header .container-nav{align-self:flex-end;padding-bottom:10px}.container-header .metismenu.mod-menu>.metismenu-item{padding:8px 16px}.container-header .metismenu .mm-collapse{right:0;left:auto}}
.maas-footer{background:linear-gradient(150deg,rgba(34,34,34,.4),rgba(85,85,85,.4)),#fff;padding:48px 0}
@media(max-width:991.98px){main>.com-contact.contact .com-contact__form{padding:35px 20px;margin:0}.maas-footer{padding:25px 15px}}

@media(max-width:991.98px){.container-header .navbar-collapse{align-items:flex-start;justify-content:flex-start}.container-header .metismenu.mod-menu .metismenu-item>ul{position:static;margin:0;box-shadow:none;min-width:0;width:100%}.container-header .metismenu.mod-menu .metismenu-item{display:block}.container-header .metismenu.mod-menu .metismenu-item>button{min-width:44px;min-height:44px}}

@media(max-width:991.98px){.container-header .metismenu.mod-menu .metismenu-item.level-1{display:flex;flex-wrap:wrap;align-items:center}.container-header .metismenu.mod-menu .level-1>a{flex:1}.container-header .metismenu.mod-menu .level-1>ul{flex-basis:100%}}

/* Visible active parent marker on the light standard header. */
@media(min-width:992px){.container-header .metismenu.mod-menu>.metismenu-item.active>a::after{background-color:#0019aa!important;opacity:1;height:2px}}

/* Joomla 6 uses an h2 for the form heading; retain the existing white heading on blue. */
main>div.com-contact.contact .com-contact__form :is(h2,h3),main>div.com-contact.contact>h2:has(+.com-contact__form){color:#fff}

/* Form controls must remain below the fixed mobile navigation. */
main>div.com-contact.contact .com-contact__form #contact-form .control-group{z-index:auto}

/* Dropdown refinement — 2026-10-09. Native menu state stays in sync with ARIA. */
.container-header nav.navbar .metismenu.mod-menu .level-1 > ul > .metismenu-item {
  padding: 0;
  margin: 0;
}
.container-header nav.navbar .metismenu.mod-menu .level-1 > ul > .metismenu-item > a {
  display: block;
  padding: 10px 14px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.45;
  color: #303744;
  white-space: normal;
  overflow-wrap: break-word;
  border-radius: 3px;
}
.container-header nav.navbar .metismenu.mod-menu .level-1 > ul > .metismenu-item > a::after {
  content: none;
}
.container-header nav.navbar .metismenu.mod-menu .level-1 > ul > .metismenu-item > a:hover,
.container-header nav.navbar .metismenu.mod-menu .level-1 > ul > .metismenu-item > a:focus-visible,
.container-header nav.navbar .metismenu.mod-menu .level-1 > ul > .metismenu-item.active > a {
  color: #0019aa;
  background: #f0f3fb;
}
@media (min-width: 992px) {
  .container-header nav.navbar .metismenu.mod-menu .level-1 > .mm-toggler {
    display: none;
  }
  .container-header nav.navbar .metismenu.mod-menu .level-1 > ul {
    top: 100%;
    right: 0;
    left: auto;
    width: 356px;
    min-width: 0;
    max-width: calc(100vw - 32px);
    margin: 0;
    padding: 8px;
    border: 1px solid #e5e9f2;
    border-radius: 6px;
    box-shadow: 0 10px 28px rgb(20 35 65 / 12%);
  }
}
@media (max-width: 991.98px) {
  .container-header nav.navbar .metismenu.mod-menu .level-1 > ul {
    padding: 4px 0 4px 8px;
  }
  .container-header nav.navbar .metismenu.mod-menu .level-1 > ul > .metismenu-item > a {
    padding: 11px 12px;
  }
}

/* Contact and photo-credit corrections — 2026-10-09. */
.banner-slider.maas-hero > .row > div > div:first-of-type {box-shadow:none!important;}
main > div.com-contact.contact {width:min(100%,1320px);margin:40px auto 64px;padding:0 24px;}
main > div.com-contact.contact .com-contact__container {display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:24px 48px;margin:0 0 40px;align-items:start;}
main > div.com-contact.contact .com-contact__container > :is(h2,h3) {grid-column:1/-1;margin:0;}
main > div.com-contact.contact .com-contact__info {grid-area:2/1;min-width:0;}
main > div.com-contact.contact .com-contact__thumbnail {grid-area:2/2;margin:0;text-align:right;}
main > div.com-contact.contact .com-contact__thumbnail img {width:250px;max-width:100%;height:auto;margin:0;}
main > div.com-contact.contact .contact-address {display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 16px;margin:0;}
main > div.com-contact.contact .contact-address dt {grid-column:1;font-weight:600;}
main > div.com-contact.contact .contact-address dd {grid-column:2;margin:0;padding:0;overflow-wrap:anywhere;}
main > div.com-contact.contact > h2:has(+.com-contact__form) {margin:0;padding:32px 40px 12px;background:#0019aa;color:#fff;border-radius:0;}
main > div.com-contact.contact .com-contact__form {margin:0;padding:0 40px 40px;border-radius:0;box-shadow:none!important;border:0!important;}
main > div.com-contact.contact .com-contact__form #contact-form {max-width:760px;}
main > div.com-contact.contact .com-contact__form .control-group {margin-bottom:18px;}
main > div.com-contact.contact .com-contact__form .control-label {margin-bottom:6px;}
main > div.com-contact.contact .com-contact__form .form-control {width:100%;max-width:100%;background:#fff;color:#333;}
@media(min-width:992px){.container-header nav.navbar .metismenu.mod-menu .level-1 > ul {left:var(--maas-dropdown-offset,0px);right:auto;}}
@media(max-width:767.98px){
 main > div.com-contact.contact {margin:24px auto 40px;padding:0 18px;}
 main > div.com-contact.contact .com-contact__container {grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:20px;margin-bottom:28px;}
 main > div.com-contact.contact .com-contact__thumbnail {grid-area:2/1;text-align:left;}
 main > div.com-contact.contact .com-contact__info {grid-area:3/1;}
 main > div.com-contact.contact > h2:has(+.com-contact__form) {padding:24px 20px 12px;}
 main > div.com-contact.contact .com-contact__form {padding:0 20px 24px;}
}

/* Keep MetisMenu's collapsed height at zero; put vertical spacing on the items. */
@media(min-width:992px){
 .container-header nav.navbar .metismenu.mod-menu .level-1 > ul {padding:0;border:0;outline:1px solid #e5e9f2;}
 .container-header nav.navbar .metismenu.mod-menu .level-1 > ul > li:first-child {padding-top:8px;}
 .container-header nav.navbar .metismenu.mod-menu .level-1 > ul > li:last-child {padding-bottom:8px;}
 .container-header nav.navbar .metismenu.mod-menu .level-1 > ul > li > a {margin:0 8px;}
}

/* Requested light send button on the blue contact panel. */
main > div.com-contact.contact .com-contact__form #contact-form .control-group button[type="submit"] {background:#f7f8fa!important;color:#20252d!important;border-color:#e1e5eb!important;font-weight:600;padding:11px 20px;}
main > div.com-contact.contact .com-contact__form #contact-form .control-group button[type="submit"]:hover {background:#e8edf3!important;color:#101820!important;}
main > div.com-contact.contact .com-contact__form #contact-form .control-group button[type="submit"]:focus-visible {outline:3px solid #fff;outline-offset:4px;}

/* Navigation nach freigegebener Anleitung — 2026-10-12. */
/* Maas + Müller / Cassiopeia / MetisMenu
   Diesen Block am ENDE der bestehenden user.css ergänzen.
   Der Footer und das Kontaktformular werden nicht angesprochen. */
.container-header nav.navbar .metismenu.mod-menu > .level-1 {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px 14px;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 7px 0 10px;
  color: #303744;
  text-decoration: none;
}
/* Vollständige Geometrie setzen: keine geerbte, unsichtbare weiße Linie. */
.container-header nav.navbar .metismenu.mod-menu > .level-1 > a::after {
  content: "";
  position: absolute;
  inset: auto 0 2px;
  display: block;
  height: 2px;
  margin: 0;
  opacity: 1;
  background: transparent;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .16s ease;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > a:hover,
.container-header nav.navbar .metismenu.mod-menu > .level-1.active > a,
.container-header nav.navbar .metismenu.mod-menu > .level-1 > a[aria-current="page"] {
  color: #0019aa;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > a:hover::after,
.container-header nav.navbar .metismenu.mod-menu > .level-1 > a:focus-visible::after,
.container-header nav.navbar .metismenu.mod-menu > .level-1.active > a::after,
.container-header nav.navbar .metismenu.mod-menu > .level-1 > a[aria-current="page"]::after {
  background: #0019aa !important;
  transform: scaleX(1);
}
/* Separater, sichtbarer Button. Der Textlink bleibt ein normaler Link. */
.container-header nav.navbar .metismenu.mod-menu > .level-1 > .mm-toggler {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  margin: 0 0 0 2px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #0019aa;
  cursor: pointer;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > .mm-toggler:hover {
  background: #f0f3fb;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > .mm-toggler::before {
  content: none;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > .mm-toggler::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: 0;
  border-top: 6px solid currentColor;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  transform: none;
  transition: transform .16s ease;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > .mm-toggler[aria-expanded="true"]::after {
  transform: rotate(180deg);
}
/* Cassiopeias gepunkteten :focus-Rand nach Maus-/Touch-Klick entfernen.
   Tastaturfokus bleibt klar sichtbar; niemals :focus pauschal deaktivieren. */
.container-header nav.navbar .metismenu.mod-menu .metismenu-item > :is(a, button):focus:not(:focus-visible) {
  outline: none;
}
.container-header nav.navbar .metismenu.mod-menu .metismenu-item > :is(a, button):focus-visible {
  outline: 2px solid #0019aa;
  outline-offset: 3px;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > ul {
  padding: 0;
  margin: 0;
  background: #fff;
  border: 0;
  border-radius: 6px;
  outline: 1px solid #e5e9f2;
  box-shadow: 0 10px 28px rgb(20 35 65 / 12%);
  z-index: 1050;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > ul > li {
  display: block;
  padding: 0;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > ul > li:first-child { padding-top: 8px; }
.container-header nav.navbar .metismenu.mod-menu > .level-1 > ul > li:last-child { padding-bottom: 8px; }
.container-header nav.navbar .metismenu.mod-menu > .level-1 > ul > li > a {
  display: block;
  margin: 0 8px;
  padding: 11px 14px;
  min-height: 44px;
  font-size: 1rem;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
  hyphens: auto;
  color: #303744;
  text-decoration: none;
  border-radius: 3px;
}
.container-header nav.navbar .metismenu.mod-menu > .level-1 > ul > li > a::after { content: none; }
.container-header nav.navbar .metismenu.mod-menu > .level-1 > ul > li.active > a,
.container-header nav.navbar .metismenu.mod-menu > .level-1 > ul > li > a:hover,
.container-header nav.navbar .metismenu.mod-menu > .level-1 > ul > li > a:focus-visible {
  color: #0019aa;
  background: #f0f3fb;
}
@media (min-width: 992px) {
  .container-header .container-nav { align-self: center; padding-bottom: 0; }
  .container-header nav.navbar .metismenu.mod-menu > .level-1 > ul {
    position: absolute;
    top: 100%;
    left: var(--maas-dropdown-left, 14px);
    right: auto;
    width: 356px;
    min-width: 0;
    max-width: var(--maas-dropdown-space, calc(100vw - 32px));
  }
}
@media (max-width: 991.98px) {
  .container-header nav.navbar .metismenu.mod-menu > .level-1.active {
    border-left: 0;
    padding-left: 14px;
  }
  .container-header nav.navbar .metismenu.mod-menu > .level-1 > a { flex: 1; }
  .container-header nav.navbar .metismenu.mod-menu > .level-1 > ul {
    position: static;
    flex-basis: 100%;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    outline: 0;
    box-shadow: none;
    margin-top: 4px;
    background: #f8f9fc;
  }
}
@media (prefers-reduced-motion: reduce) {
  .container-header nav.navbar .metismenu.mod-menu > .level-1 > a::after,
  .container-header nav.navbar .metismenu.mod-menu > .level-1 > .mm-toggler::after {
    transition: none;
  }
}

/* Floating controls — Hagmans reference, Maas + Müller colours, 2026-10-12. */
:root {
  --maas-control-size: 50px;
  --maas-control-gap: 15px;
  --maas-control-right: 20px;
  --maas-control-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
}
#back-top.back-to-top-link,
#usercentrics-button #uc-btn-open-main-corner-modal.uc-privacy-button-wrapper {
  position: fixed !important;
  transform: none !important;
  translate: none !important;
  inset: auto var(--maas-control-right) var(--maas-control-bottom) auto !important;
  box-sizing: border-box !important;
  display: grid;
  place-items: center;
  width: var(--maas-control-size) !important;
  height: var(--maas-control-size) !important;
  min-width: 44px;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #0019aa !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #0019aa !important;
  box-shadow: none !important;
  text-decoration: none;
  cursor: pointer;
  z-index: 1050 !important;
  transition: opacity .16s ease, background-color .16s ease, color .16s ease;
}
#back-top.back-to-top-link { opacity: 0; visibility: hidden; pointer-events: none; }
#back-top.back-to-top-link.visible { opacity: 1; visibility: visible; pointer-events: auto; }
#usercentrics-button #uc-btn-open-main-corner-modal.uc-privacy-button-wrapper {
  bottom: calc(var(--maas-control-bottom) + var(--maas-control-size) + var(--maas-control-gap)) !important;
}
html.maas-controls-ready #usercentrics-button #uc-btn-open-main-corner-modal.uc-privacy-button-wrapper {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
html.maas-controls-ready.maas-privacy-available #usercentrics-button #uc-btn-open-main-corner-modal.uc-privacy-button-wrapper {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
#back-top.back-to-top-link:hover,
#usercentrics-button #uc-btn-open-main-corner-modal.uc-privacy-button-wrapper:hover {
  background: #0019aa !important;
  color: #fff !important;
}
#back-top.back-to-top-link:focus-visible,
#usercentrics-button #uc-btn-open-main-corner-modal.uc-privacy-button-wrapper:focus-visible {
  outline: 2px solid #0019aa;
  outline-offset: 3px;
}
#back-top.back-to-top-link > span { font-size: 24px; line-height: 1; }
#usercentrics-button #uc-btn-close-main-corner-modal {
  display: grid;
  place-items: center;
  width: 100% !important;
  height: 100% !important;
  color: inherit !important;
}
#usercentrics-button #uc-btn-close-main-corner-modal > svg {
  display: block;
  width: 28px !important;
  height: 28px !important;
  fill: currentColor;
  pointer-events: none;
}
.maas-footer-controls { display: none; }
@media (max-width: 991.98px) {
  :root {
    --maas-control-right: max(16px, env(safe-area-inset-right, 0px));
    --maas-control-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
  .container-footer.footer { padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)); }
  .maas-footer-controls {
    display: block;
    width: calc(2 * var(--maas-control-size) + var(--maas-control-gap));
    height: var(--maas-control-size);
    margin: 32px auto 0;
  }
  html.maas-privacy-available #back-top.back-to-top-link,
  html.maas-privacy-available #usercentrics-button #uc-btn-open-main-corner-modal.uc-privacy-button-wrapper {
    position: absolute !important;
    top: var(--maas-mobile-controls-top) !important;
    right: auto !important;
    bottom: auto !important;
    left: calc(50% + var(--maas-control-gap) / 2) !important;
  }
  html.maas-privacy-available #usercentrics-button #uc-btn-open-main-corner-modal.uc-privacy-button-wrapper {
    left: calc(50% - var(--maas-control-size) - var(--maas-control-gap) / 2) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #back-top.back-to-top-link,
  #usercentrics-button #uc-btn-open-main-corner-modal.uc-privacy-button-wrapper { transition: none; }
}
