@import url("../rati/css/all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap');

:root {
  --cassiopeia-font-family-headings: 'Source Sans Pro', sans-serif !important;
  --cassiopeia-font-family-body: 'Source Sans Pro', sans-serif !important;
}


.template-root, a.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: var(--template-bg-dark-90); font-family: var(--cassiopeia-font-family-headings); font-size: 1.07rem; hyphens: auto;}
.row {width:100%;}
main .h1, main h1 {font-size: clamp(1.5rem, 5vw, 1rem); font-weight: 400;}
main .h2, main h2 {font-size: clamp(2rem, 5vw, 3rem); font-weight: 400;}
main .h3, main h3 {font-size: clamp(1.3rem, 5vw, 2rem); font-weight: 400;}
main h6 {font-size: 0.85rem;}
main a {color: var(--template-bg-dark-90); text-decoration: none !important;}
a, .uk-link {text-decoration: none !important; color: var(--template-bg-dark-90);}

a.brand-logo span {color: var(--template-bg-dark-90) !important;}

.p-6 {padding: 6rem;}
.px-6 {padding: 0 6rem;}
.py-6 {padding: 6rem 0;}
.p-7 {padding: 8rem;}
.px-7 {padding: 0 8rem;}
.py-7 {padding: 8rem 0;}
.p-8 {padding: 10rem;}
.px-8 {padding: 0 10rem;}
.py-8 {padding: 10rem 0;}

.gbh {
   color: #e77918 !important;
}

a.gblink {
	color: #29166f !important;
}

.container a:hover,
.container a:focus {
	color: #e77918 !important;
}

.card:hover .card-img-overlay {
    top: 0rem;
    opacity: 1;
}

.gbpic {
	
	padding-top: 0.7rem;
}

.gbh4 {
	color: #29166f !important;
}

body.wrapper-fluid .site-grid {grid-gap: 0 0em;}
site-grid > [class*=" container-"], .site-grid > [class^="container-"] {-webkit-column-gap: 0em; -moz-column-gap: 0em; column-gap: 0em;}
.container-component {padding: 0rem !important;}
.container-component > * + *, .container-component > :first-child, .container-sidebar-left > * + *, .container-sidebar-left > :first-child, .container-sidebar-right > * + *, .container-sidebar-right > :first-child {margin-top: 0em;}

.template-root {background:  var(--cassiopeia-color-primary) !important;}
.header.container-header.full-width {display: grid; grid-template-columns: minmax(0,1fr) repeat(4,minmax(0,19.875rem)) minmax(0,1fr); grid-gap: 0 1em; align-items: end;}
.container-header .site-description {white-space: nowrap;}
.container-header .grid-child:first-child {grid-column: 2/2;}
.container-header .container-nav {grid-column: 3/6;}
.container-header .container-nav {padding-bottom: 0em;}

.container-header {z-index: 99999;}
.container-header .container-nav {display: grid; align-items: flex-end;}

.container-header {background-color: var(--white); background-image: linear-gradient(135deg,var(--white),var(--white)); box-shadow: rgba(0, 0, 0, 0.03) 0px 5px 5px inset;}
main .com-content-article {margin-top: 2rem; margin-bottom: 2rem;}
.com-content-article.item-page ul.fields-container {display: none;}

.container-header .navbar-brand img {width: 14rem; min-width: 10rem; padding: .09em 0;}
.container-header .container-nav {justify-content: end;}
.container-header .mod-menu, .container-header .mod-menu, .container-header .navbar-toggler, .container-header .mod-menu>li>a, .container-header .mod-menu>li>span {color: var(--template-bg-dark-90);}

.metismenu-item a {background: var(--cassiopeia-color-primary); color: var(--white) !important; transition: all ease .4s;}
.metismenu-item a, .metismenu.mod-menu .mm-toggler {padding: .5em 1em;}
ul .metismenu-item.active ul li a {background: var(--white); color: var(--template-bg-dark-80) !important;}
ul .metismenu-item.active ul li.active a, ul .metismenu-item.active ul li:hover a {background: var(--cassiopeia-color-hover); color: var(--white) !important;}
.metismenu-item a:hover, .metismenu-item.active a, .metismenu.mod-menu .mm-toggler:hover {background: var(--cassiopeia-color-hover); color: var(--white) !important;}
.metismenu.mod-menu .metismenu-item {padding: 0;}
.metismenu.mod-menu .mm-collapse > li > a {width: 100%;}
.metismenu.mod-menu .metismenu-item > a:focus, .metismenu.mod-menu .metismenu-item > button:focus {outline-color: var(--white);}
.metismenu.mod-menu .metismenu-item > a:focus, .metismenu.mod-menu .metismenu-item > button:focus {outline: 0px dotted var(--cassiopeia-color-primary) !important; outline-color: var(--cassiopeia-color-primary) !important; outline-offset: 0px;}
.navbar-toggler:focus {box-shadow: 0 0 0 0rem;}
[class*=" icon-"], [class^="icon-"] {margin-bottom: 1rem;}
a.back-to-top-link [class*=" icon-"], [class^="icon-"] {margin-bottom: 0rem;}
.container-header .navbar-toggler {padding-bottom: .4rem !important;}
#navbar1 ul.mod-menu li a img {display: none !important;}

#mod-hgd-contentbuilder115 .separator_bottom svg {transform:rotate(180deg);}
#mod-hgd-contentbuilder115 .separator_bottom {bottom: -1px;}
.separator_bottom svg, .separator_bottom img, .separator_bottom_out svg, .separator_bottom_out img {
  transform: rotate(0deg);
  height: 78px;
}

#mod-hgd-contentbuilder116 .fal {font-size: 1rem;} 
#mod-hgd-contentbuilder116 .card-body {padding: 0;} 
#mod-hgd-contentbuilder116 div.card img {max-width: 20rem;}
#mod-hgd-contentbuilder116 ul.cb_menu {padding-left: 0;list-style: none;}
#mod-hgd-contentbuilder116 a { transition: all ease .4s;}
#mod-hgd-contentbuilder116 a:hover {color: var(--cassiopeia-color-hover);}
#mod-hgd-contentbuilder116 .table > :not(caption) > * > * {padding: 0; border-bottom: 0;}
#mod-hgd-contentbuilder116 h3 {border-bottom: 1px solid var(--template-bg-dark-50);}
#mod-hgd-contentbuilder116 address {margin-top: 0 !important;}

.row.hgd-cards {--gutter-y: 0; --gutter-x: 0em;}

body.wrapper-fluid footer > .grid-child {justify-content: between; padding: .8rem !important;}
body.wrapper-fluid header > .grid-child {justify-content: between; padding: 0 .8rem !important;}
.footer {background-color: var(--cassiopeia-color-primary); background-image: linear-gradient(135deg,var(--cassiopeia-color-primary),var(--cassiopeia-color-primary)); margin-top: 0;}
.footer2 a {text-decoration: none; font-size: .8rem; font-weight: 300;}

.com-contact__form.contact-form {width: 50%;}
.form-control {width: 100%; color: var(--cassiopeia-color-hover);
    border: 1px solid var(--cassiopeia-color-hover);
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.fields-container.contact-fields.dl-horizontal {padding: 0 !important; margin: 2rem 0;}

nav.cb_navtabs .nav.nav-tabs .nav-link:hover, nav.cb_navtabs .nav.nav-tabs .nav-link.active {background-color: var(--cassiopeia-color-primary) !important; color: var(--white);}
.tab-content h6 {padding: 0;}
.tab-content .table > :not(caption) > * > * {padding: 0rem 0rem;}

div.cb_navtabsv .nav-link {border: none; white-space: nowrap;}
div.nav.cb_navtabsv .nav-link:hover, div.nav.cb_navtabsv .nav-link.active {background-color: var(--cassiopeia-color-hover) !important; color: var(--white);}

.kontaktformular {margin-bottom: 5rem;}
.com-contact__container {display: block;}
.com-contact__container .com-contact__info {grid-row: inherit;}

joomla-tab#com-content-form {background: var(--template-bg-dark-70) !important; color: white !important;}
joomla-tab[view="tabs"] > div[role="tablist"] {background-color: var(--template-bg-dark-80) !important; border: 1px solid #ccc;
    border-bottom-color: rgb(204, 204, 204);
  box-shadow: inset 0 1px #fff,0 2px 3px -3px rgba(0,0,0,.15),inset 0 -4px 0 rgba(0,0,0,.05),0 0 3px rgba(0,0,0,.04);
}

joomla-tab > joomla-tab-element {background-color: var(--template-bg-dark-60) !important;}
joomla-tab button[role="tab"] {color: var(--template-bg-dark-10) !important;}
joomla-tab-element#editor input {background: var(--template-bg-dark-80) !important;  color: white !important;}
joomla-tab button[role="tab"][aria-expanded="true"] {background-color: var(--cassiopeia-color-primary);}
.edit.item-page .mb-2 {background: var(--template-bg-dark-80) !important; color: white !important; margin-top: 0px !important; padding: .7rem 0;}
.options-form, .options-form > legend {color: white !important; background-color: var(--template-bg-dark-70) !important;}
joomla-tab-element input {background: var(--template-bg-dark-80) !important;  color: white !important;}

@media screen and (max-width: 1440px) {
  .p-6 {padding: 2rem;}
  .px-6 {padding: 0 2rem;}
  .py-6 {padding: 2rem 0;}
  .p-7 {padding: 3rem;}
  .px-7 {padding: 0 3rem;}
  .py-7 {padding: 3rem 0;}
  .p-8 {padding: 4rem;}
  .px-8 {padding: 0 4rem;}
  .py-8 {padding: 4rem 0;}
	
   .gbimg {
		padding-top: 2rem;
	}
	
	.gbimage {
		padding-top: 2.6rem;
	}
}

@media screen and (min-width: 1280px) {

	.card:hover .card-img-overlay {top: 0rem;}
  .card:hover .card-img-overlay .card-text, .card:hover .card-img-overlay .card-title {
  line-height: 1.2rem;}
  }

@media screen and (min-width: 1024px) {

	.card:hover .card-img-overlay {
  top: 0rem;
  opacity: 1;
}
	
}



@media screen and (max-width: 1024px) {
	.container-header .grid-child:first-child {grid-column: 1/7; justify-content: center;}
.container-header .container-nav {grid-column: 1/7;}
	
.container-header .container-nav {display: grid; align-items: center;}
	
.container-header .container-nav {
  justify-content: center;
}
	
	.grid-child {
  display: grid;
  width: 100%;
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
}
	
}


@media screen and (max-width: 834px) {
	.container-header .grid-child:first-child {grid-column: 1/7; justify-content: center;}
.container-header .container-nav {grid-column: 1/7;}
	
.container-header .container-nav {display: grid; align-items: center;}
	
.container-header .container-nav {
  justify-content: center;
}
	
	.grid-child {
  display: grid;
  width: 100%;
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
}
	
}

@media screen and (max-width: 768px) {
  .card-img-overlay {padding: 1rem;}
card-img-overlay .card-title h4 {color: var(--white); font-size: 1rem;}
.card-text {font-size: .9rem; line-height: 1;}

    .container-header .container-nav {grid-column: 3/1 !important;}
    .container-header .navbar-toggler, .container-header .mod-menu > li > a, .container-header .mod-menu > li > span, .metismenu.mod-menu .metismenu-item > button {color: var(--white);}
    .metismenu.mod-menu .metismenu-item:not(.level-2) > ul {background:  var(--cassiopeia-color-primary);}
    .metismenu.mod-menu .metismenu-item:not(.level-2) > ul li a {color: var(--white);}
    .p-6 {padding: 2rem;}
    .px-6 {padding: 0 2rem;}
    .py-6 {padding: 2rem 0;}
    .p-7 {padding: 2rem;}
    .px-7 {padding: 0 2rem;}
    .py-7 {padding: 2rem 0;}
    .p-8 {padding: 2rem;}
    .px-8 {padding: 0 2rem;}
    .py-8 {padding: 2rem 0;}
    .header {display: grid; grid-template-columns: 100%; justify-content: space-around;}
    .container-header .container-nav {justify-content: center;}
    .p-5 {padding: 1rem!important;}
	
}





@media screen and (max-width: 428px) {
  
  .header.container-header.full-width {grid-template-columns: 1fr;}
  .container-header .grid-child:first-child {grid-column: 1/3;}
  .CB_Container a.btn {padding: .7rem .5rem;}
  .container-header .navbar-brand {width: 100%; text-align: center;}
  #header.header-responsive-nav .container-nav, .navbar, .metismenu.mod-menu .metismenu-item {justify-content: center;}
  #header.header-responsive-nav .container-nav {display: flex; position: fixed; background: var(--cassiopeia-color-primary); top: -10rem; transition: all ease .5s;}
    #header.header-responsive-nav.aktiv ul li ul.mm-collapse {background: var(--cassiopeia-color-primary);}
    #header.header-responsive-nav.aktiv .container-nav {top: 0rem;}
    #header.header-responsive-nav.aktiv .container-header .container-nav {padding-bottom: 0em;}
    #header.header-responsive-nav.aktiv .container-header .container-nav .container-search, .container-header .container-nav nav {
    margin-top: 0em;}
    .container-header .container-nav {background: var(--cassiopeia-color-primary);}
    .container-header .navbar-toggler {border: 0px solid #fff; margin-bottom: 0;}
    #header.header-responsive-nav .icon-menu {color: #fff;}
    #header.header-responsive-nav.aktiv .metismenu.mod-menu .metismenu-item a, #header.header-responsive-nav.aktiv .metismenu.mod-menu .metismenu-item {color: #fff;}
    .uk-overlay {width: 95% !important; max-width: 95% !important;}
    .card-img-overlay {padding: 0rem .5rem !important;}
}


 
.hgd-hover-box, .hgd-hover-box .CB_itembg {transition: all ease .7s;}
.hgd-hover-box.active {box-shadow: 0 0 100rem 30rem var(--cassiopeia-color-primary);}
.hgd-hover-box.active .CB_itembg {border: 1px solid #ffffff88; -webkit-transform: scale(1.2); transform: scale(1.2);}
.hgd-hover-box.active .CB_itembg {box-shadow: rgb(0, 0, 12) 0px 48px 48px -32px, rgba(0, 0, 0, 0.6) 0px 96px 96px -64px;}

.hgd-extra {border: 5px solid #e77918; text-align: center; padding-top:  clamp(1rem, 2.5vw, 5rem);  padding-bottom:  clamp(1rem, 2.5vw, 5rem); padding-left: clamp(3rem, 10vw, 15rem); padding-right: clamp(3rem, 10vw, 15rem); hyphens: none;}
.hgd-extra h2 {color: var(--template-bg-dark-90);}

ul.ul-check {list-style: none;}
ul.ul-check li {display: flex; align-items: baseline;}
ul.ul-check li::before {font-family: "Font Awesome 6 Pro"; content: "\f058" !important; background-image: none !important; color: #e77918!important; margin-right: .5rem;}
ul.ul-arrow {list-style: none;}
ul.ul-arrow li {display: flex; align-items: baseline;}
ul.ul-arrow li::before {font-family: "Font Awesome 6 Pro"; content: "\f343" !important; background-image: none !important; color: var(--cassiopeia-color-primary) !important; margin-right: .5rem;}

.uk-heading-bullet::before {border-left: calc(5px + 0.1em) solid var(--cassiopeia-color-primary) !important; border-left-color: var(--cassiopeia-color-primary) !important;}
.uk-heading-line > ::before, .uk-heading-line > ::after {border-color: #29166f !important; padding-top: .1rem;}

.card-img-overlay {padding: 2rem; color: var(--white); top: 17rem; opacity: 0; transition: all ease .8s; overflow: hidden;}
.card-img-overlay .card-title h4 {color: var(--white); font-size: 1.5rem; letter-spacing: .1rem;}
.card-img-overlay .card-text, .card-img-overlay .card-title {color: var(--white); transition: all ease .5s .2s; line-height: 0rem; text-align: center;}
.card:hover .card-img-overlay .card-text, .card:hover .card-img-overlay .card-title {line-height: 1.4rem;}
.card-img-overlay a {color: var(--white); transition: all ease .5s; border: 1px solid var(--white);
padding: .5rem 2rem;}
.card-img-overlay a:hover {border: 1px solid #e77918; color: var(--white);}
.card-img-top {transition: all ease .5s;}
.card:hover .card-img-top {filter: brightness(40%);}
.card:hover .card-img-overlay {top: 7%; opacity: 1;}
.c-footer {
  margin-top: 1rem !important;
  display: flex;
  justify-content: center;
}
/* RATI native module presentation; source relationships remain in Joomla. */
:root{--cassiopeia-color-primary:#29166f;--cassiopeia-color-hover:#e77918;}

/* Native Cassiopeia positions and accessible equivalents of original presentation. */
.container-bottom-a,.container-bottom-b{grid-column:full;max-width:none;width:100%;padding:0;display:block;}
.container-bottom-a>*,.container-bottom-b>*{width:100%;}
.rati-hero-spacer{height:420px;}
.mod-custom:has(>.rati-hero-spacer){position:relative;background-position:center;background-size:cover;}
.rati-wave{position:absolute;bottom:-1px;left:0;width:100%;height:78px;overflow:hidden;}
.rati-wave svg{display:block;width:100%;height:100%;transform:rotate(180deg);}
.rati-page-header img{display:block;width:100%;height:auto;}
.rati-services{padding:0 0 6rem;}
.rati-services h2{text-align:center;font-weight:300;font-size:2.5rem;letter-spacing:.13rem;margin:0 0 2.5rem;}
.rati-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.rati-card{position:relative;overflow:hidden;border-radius:3px;}
.rati-card>img{display:block;width:100%;height:300px;object-fit:cover;}
.rati-card-overlay{position:absolute;inset:0;background:#29166fe8;color:white;padding:1.5rem;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s;display:flex;flex-direction:column;}
.rati-card-overlay h3{font-size:1.75rem;color:white;font-weight:400;}
.rati-card-overlay p{font-size:1.07rem;line-height:1.3;}
.rati-card-overlay a{color:white;margin-top:auto;}
.rati-card:hover .rati-card-overlay,.rati-card:focus-within .rati-card-overlay,.rati-card.is-open .rati-card-overlay{opacity:1;transform:none;}
.rati-card-overlay a:focus-visible{outline:2px solid white;outline-offset:4px;}
.rati-footer-inner{background:#140d35;color:white;padding:3rem max(calc((100% - 1320px)/2),1rem);}
.rati-footer-inner h2{font-size:3.25rem;font-weight:300;text-align:center;letter-spacing:.13rem;margin-bottom:3rem;color:white;}
.rati-footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.rati-footer-columns h3{font-size:1.75rem;font-weight:300;letter-spacing:.13rem;border-bottom:1px solid #55506a;padding-bottom:.2rem;color:white;}
.rati-footer-columns .mod-menu{display:block;list-style:none;padding:0;margin:0;}
.rati-footer-columns .mod-menu li{margin:0;line-height:1.3;}
.rati-footer-columns a{color:white;}
.rati-footer-columns a:hover,.rati-footer-columns a:focus-visible{color:#e77918;}
.rati-footer-columns .mod_jf_contact{gap:0!important;font-size:1rem;line-height:1.3;}
.rati-footer-columns .contact_item svg{width:1rem;height:1rem;margin-right:.5rem;}
.uk-heading-line{display:flex;align-items:center;}
.uk-heading-line>span{flex:1;display:flex;align-items:center;gap:1rem;}
.uk-heading-line>span:after{content:"";height:1px;background:#29166f;flex:1;}
body{overflow-wrap:break-word;}
.container-component main{min-width:0;}
.container-component p,.container-component li{overflow-wrap:anywhere;}
.container-header a:focus-visible,.navbar-toggler:focus-visible{outline:2px solid #e77918!important;outline-offset:3px!important;}
@media(max-width:767px){
.rati-hero-spacer{height:250px;}
.container-header .container-nav{grid-column:1/-1!important;width:100%;background:#29166f;}
.rati-cards,.rati-footer-columns{grid-template-columns:1fr;}
.rati-services{padding-bottom:3rem;}
.rati-services h2{font-size:2rem;}
.rati-card>img{height:auto;aspect-ratio:1.5;}
.rati-footer-inner h2{font-size:2.1rem;}
.rati-footer-columns{gap:2rem;}
.rati-card-overlay{padding:1rem;}
.rati-card-overlay p{font-size:1rem;}
}
@media(prefers-reduced-motion:reduce){.rati-card-overlay{transition:none;}}
.rati-contact-address{margin:0;font-style:normal;font-size:1rem;line-height:1.3;}
/* Measured comparison with original 1440px/390px render. */
.rati-hero-spacer{height:424px;}
.mod-custom:has(>.rati-hero-spacer){background-size:auto max(calc(100% + 200px),41.6667vw);background-position:center top;}
main .com-content-article{margin-top:3rem;margin-bottom:3rem;}
.com-content-article__body>.container{padding-inline:1rem;}
.rati-services>.container-xxl{padding-inline:12px;}
.rati-footer-inner{padding-inline:max(calc((100% - 1320px)/2 + 8px),17px);}
.rati-footer-columns .mod-menu img{display:none;}
.rati-footer-columns .contact_item,.rati-contact-address{font-weight:400;}
@media(max-width:767px){.rati-hero-spacer{height:248px;}}
/* Preserve original light footer typography and UIKit heading-line wrapping. */
.rati-footer-inner h2{font-size:3.5rem;}
.rati-footer-columns .contact_item,.rati-contact-address,.rati-footer-columns .mod-menu a{font-weight:300;}
.rati-footer-columns .mod-menu a{padding:0;line-height:1.3;font-size:1rem;}
.mod-custom:has(>.rati-hero-spacer)::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.1);pointer-events:none;}
.uk-heading-line{display:block;overflow:hidden;}
.uk-heading-line>span{display:inline-block;position:relative;}
.uk-heading-line>span::after{content:"";position:absolute;left:100%;top:50%;margin-left:.6em;width:2000px;height:1px;background:#29166f;}
@media(max-width:767px){.rati-footer-inner h2{font-size:2.1rem;}}

.rati-card-overlay{pointer-events:none;}
.rati-card:hover .rati-card-overlay,.rati-card:focus-within .rati-card-overlay,.rati-card.is-open .rati-card-overlay{pointer-events:auto;}
.com-users-reset,.com-users-remind,.com-users-reset-confirm,.com-users-reset-complete{max-width:1320px;margin:3rem auto;padding-inline:1rem;}
.com-users-reset .form-control,.com-users-remind .form-control,.com-users-reset-confirm .form-control,.com-users-reset-complete .form-control{min-height:44px;font-size:1rem;line-height:1.5;padding:.375rem .75rem;}
/* Existing contact-page hierarchy, using the current native component data. */
.com-contact.contact{max-width:1320px;margin:3rem auto;padding-inline:.5em;}
.com-contact__container>h2{font-size:clamp(1.3rem,5vw,2rem);font-weight:400;}
.com-contact__address{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:1rem;row-gap:0;}
.com-contact__address dt{grid-column:1;margin:0;}
.com-contact__address dd{grid-column:2;margin:0;line-height:1.5;}
.com-contact__address [class^="icon-"]{margin-bottom:0;}

.com-contact.contact{margin-top:1rem;}
.com-contact.contact .com-contact__address dd{padding:0;margin:0;}
/* Legal articles have no embedded .container; retain their original outer gutters. */
.itemid-122 .com-content-article,.itemid-123 .com-content-article{max-width:1320px;margin:1rem auto 3rem;padding-inline:.5em;}
