/* ==========================================================================
   Author's custom styles
   ========================================================================== */
/* Fonts */
@font-face {
  font-family: 'manrope300';
  src: url('../fonts/manrope-v8-latin-300.eot'), url('../fonts/manrope-v8-latin-300.eot?#iefix') format('embedded-opentype'), url('../fonts/manrope-v8-latin-300.woff') format('woff'), url('../fonts/manrope-v8-latin-300.woff2') format('woff2'), url('../fonts/manrope-v8-latin-300.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'manrope500';
  src: url('../fonts/manrope-v8-latin-500.eot'), url('../fonts/manrope-v8-latin-500.eot?#iefix') format('embedded-opentype'), url('../fonts/manrope-v8-latin-500.woff') format('woff'), url('../fonts/manrope-v8-latin-500.woff2') format('woff2'), url('../fonts/manrope-v8-latin-500.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Navbar brand seperate from navigation */
.navbar-brand-separate {
  position: absolute;
  left: 25px;
  top: 25px;
  z-index: 100;
}
/* wrapper for prevent x-scrolling on iOS */
.overflow-x-wrapper {
  overflow-x: hidden;
  position: relative;
}
/* Home News */
.container-newstext {
  height: 650px;
  background-position: center;
  background-size: cover;
  color: #185ca3;
}
@media (max-width: 991.98px) {
  .container-newstext {
    height: auto;
  }
}
.container-newsimage {
  height: 650px;
  background-position: top;
  background-size: cover;
}
@media (max-width: 991.98px) {
  .container-newsimage {
    height: 400px;
  }
}
.newsblur {
  height: 100%;
  padding: 40px 40px 40px 40px;
  background-color: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
@media (max-width: 991.98px) {
  .newsblur {
    padding: 25px 25px 25px 25px;
  }
}
.news-center {
  padding-top: 125px;
}
@media (min-width: 576px) {
  .news-center {
    padding-top: 125px;
  }
}
@media (min-width: 768px) {
  .news-center {
    padding-top: 115px;
  }
}
/* Featureboxen */
.container-featurebox1 {
  padding: 50px 25px 25px 25px;
  background-position: center;
  background-size: cover;
  color: #ffffff;
}
@media (min-width: 768px) {
  .container-featurebox1 {
    padding: 50px;
  }
}
.featurebox2-image {
  background-position: right; /* Fokus nach rechts */
  background-size: cover;
  overflow: hidden;
  min-height: 650px !important;
}
.featurebox2-text {
  padding: 50px 0px 25px 0px;
  background-color: #0b1741;
  color: #ffffff;
}
@media (min-width: 992px) {
  .featurebox2-text {
    padding: 50px 25px 25px 25px;
  }
}
@media (min-width: 992px) {
  .col-lg-4:first-child .feature {
    padding-left: 0;
  }
  .col-lg-4:nth-child(3) .feature {
    padding-right: 0;
  }
  .col-lg-4:nth-child(4) .feature {
    padding-left: 0;
  }
  .col-lg-4:nth-child(6) .feature {
    padding-right: 0;
  }
}
@media (max-width: 991.98px) {
  .col-md-6:first-child .feature {
    padding-left: 0;
  }
  .col-md-6:nth-child(2) .feature {
    padding-right: 0;
  }
  .col-md-6:nth-child(3) .feature {
    padding-left: 0;
  }
  .col-md-6:nth-child(4) .feature {
    padding-right: 0;
  }
  .col-md-6:nth-child(5) .feature {
    padding-left: 0;
  }
  .col-md-6:nth-child(6) .feature {
    padding-right: 0;
  }
}
@media (max-width: 767.98px) {
  .feature {
    padding: 20px 0px 20px 0px;
  }
}
/* Main Content */
.container-primarycontent {
  background-color: #ffffff;
  min-height: calc(100vh - 1000px);
}
/* Default Header */
.headerdefault-container {
  position: relative; /* Bezug für absolute Kinder » :contentReference[oaicite:0]{index=0} */
  width: 100%;
  height: 750px; /* wie gewünscht */
  overflow: hidden;
  margin: -135 0px 0px 0px;
}
.headerdefault-bg {
  position: absolute; /* aus dem Flow, füllt den Wrapper » :contentReference[oaicite:1]{index=1} */
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover; /* skaliert, um den Container zu füllen » :contentReference[oaicite:3]{index=3} */
  background-position: center; /* zentriert » :contentReference[oaicite:4]{index=4} */
  background-repeat: no-repeat;
  z-index: 1;
}
.headerdefault-text {
  max-width: 1199px;
  display: flex;
  justify-content: left;
  align-items: center;
  height: 100%;
  z-index: 2;
}
/* Article Header Container (used) */
.container-articleheader {
  width: 100%;
  height: 700px;
  margin-bottom: 80px;
}
/* Footer */
.footer {
  position: relative;
  background-color: #0b1741;
  padding: 50px 0px 150px 0px;
  color: #ffffff;
}
.footer a {
  display: inline-block;
  color: #d1deed;
}
.footer a:hover {
  color: #a3beda;
}
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6 {
  color: #ffffff;
}
.footer-contact {
  border-bottom: 1px solid #ffffff;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
.footer-info {
  border-bottom: 1px solid #ffffff;
  padding-left: 25px;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
@media (max-width: 991.98px) {
  .footer-info {
    padding-left: 0px;
  }
}
.footer-partner {
  padding-left: 25px;
}
@media (max-width: 991.98px) {
  .footer-partner {
    padding-left: 0px;
  }
}
/* Topbutton.*/
#topbutton {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 25px; /* Place the button at the bottom of the page */
  left: 25px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  cursor: pointer; /* Add a mouse pointer on hover */
  font-size: 2rem;
  padding: 30px;
  background-color: transparent;
  border-radius: 100px;
  border: 0;
  background-image: url("../../../../assets/images/buttons/topbutton.svg");
  background-repeat: no-repeat;
}
#topbutton:hover {
  background-image: url(../../../../assets/images/buttons/topbuttonhover.svg);
}
/* Contact form spam protection */
.honeypot {
  position: absolute;
  left: -9999px;
}
/* gallery container 1*/
.container-gallery-responsive {
  float: left;
  width: 50%;
  height: auto;
  overflow: hidden;
  text-align: center;
}
@media (max-width: 576px) {
  .container-gallery-responsive {
    width: 50%;
  }
}
/* contact container 1*/
.container-contact-responsive {
  float: left;
  width: 100%;
  height: auto;
  text-align: center;
}
/* Preheader */
.container-preheader {
  padding: 20px 15px 0px 0px;
}
a.preheaderlink:link {
  color: #ffffff;
}
a.preheaderlink:hover {
  color: #ffffff;
}
a.preheaderlink:visited {
  color: #ffffff;
}
/* Anchor Jumpmark */
.jump {
  visibility: hidden;
  height: 0px !important;
  position: absolute;
  margin: -212px;
}
/* Nav */
.nav .nav {
  padding-left: 15px;
}
.container-navigation1 {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  top: 0px;
}
/* Text blocks */
.text img {
  max-width: 100%;
}
/* Kundenstimmen */
.container-kundenstimmen {
  width: 100%;
  background-color: #eeecf5;
  background-repeat: no-repeat;
  background-position: center top;
  margin: 40px 0px 0px 0px;
  padding: 120px 0px 40px 0px;
}
/* CTA */
.cta {
  display: block;
  font-size: 20px;
  text-align: right;
  line-height: 1.7;
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 100;
  cursor: pointer;
  padding: 30px;
  border-radius: 100px;
  border: 0;
  background-image: url(../../../../assets/images/header/cta.svg);
  background-repeat: no-repeat;
}
.cta:hover {
  background-image: url(../../../../assets/images/header/ctahover.svg);
}
.container-cta {
  padding: 50px 0px 50px 0px;
  background-color: #35b5af;
  color: #ffffff;
}
/* Container Slides */
.container-slides {
  width: 100%;
  height: 100%;
  background-position: top;
  background-size: cover;
}
/* Toggler Navigation bleibt rechts und verkleinert navbar-brand */
.navbarmobile-spacebetween {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1199.98px) {
  .navbarmobile-spacebetween {
    width: 100%;
  }
}
/* Projects */
.container-introtext {
  padding: 0px 40px 40px 40px;
}
@media (max-width: 991.98px) {
  .container-introtext {
    padding: 25px 25px 25px 25px;
  }
}
.container-introimage {
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 550px;
}
/* Container um das fehlende Padding bei cols zu ersetzen */
.container-padding {
  padding: 0px 0px 25px 0px;
}
@media (min-width: 576px) {
  .container-padding {
    padding: 0px 25px 25px 25px;
  }
}
/* Main Content */
.container-content {
  padding: 50px 0px 50px 0px;
  background-color: #0b1741;
  color: #ffffff;
}
/* Main Content Full Width */
.container-fullwidth {
  padding: 40px 40px 40px 40px;
}
@media (max-width: 991.98px) {
  .container-fullwidth {
    padding: 25px 25px 25px 25px;
  }
}
/* Individuelle Bildgrößen */
.blogthumbnail {
  height: 300px;
  width: 100%;
}
@media (min-width: 576px) {
  .blogthumbnail {
    height: 388px;
  }
}
/* Farbige hakzentuierung des inhalts */
.highlightpanel-primary {
  padding: 50px 0px 50px 0px;
  background-color: #0b1741;
  color: #ffffff;
}
.highlightpanel-secondary {
  padding: 50px 0px 50px 0px;
  background-color: #35b5af;
  color: #ffffff;
}
.highlightpanel-tertiary {
  padding: 50px 0px 50px 0px;
  background-position: center;
  background-size: cover;
  color: #ffffff;
  background-image: url("../../../../assets/images/content/highlightpanel-tertiary-bg.jpg");
}
/* Featureboxslider */
.feature {
  position: relative;
  padding: 20px;
  text-align: center;
  color: #ffffff;
  height: 500px;
  background-color: rgba(255, 255, 255, 0.1);
}
@media (max-width: 991.98px) {
  .feature {
    height: 400px;
  }
}
@media (max-width: 575.98px) {
  .feature {
    height: 500px;
  }
}
.feature a.btn {
  position: absolute;
  bottom: 0px; /* Abstand nach unten */
  left: 50%;
  transform: translateX(-50%); /* zentriert */
}
.featureimage {
  width: 100%;
  display: flex;
  margin-bottom: 25px;
  align-items: center;
  justify-content: center;
}
.featureimage img {
  height:80px;
  width:auto;
  object-fit:contain;
}
/* About > Team */
.team-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  height: 500px;
  color: #fff;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}
.team-info {
  background-color: rgba(53, 181, 175, 0.9);
  padding: 15px 20px;
  transform: translateY(100%);
  transition: transform 0.4s ease-in-out;
}
.team-card:hover .team-info {
  transform: translateY(0);
}
/* ====================================================================================================================
 * Custom Styles 
 * ====================================================================================================================*/
/* Kreisgrafik für Kategorie */
.categoryindex-container {
  position: relative;
  margin-top: -50px;
  text-align: center;
  overflow: visible;
  height: 100px;
}
.categoryindex-image {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 450px;
  height: 75px;
  background-image: url("../../../../assets/images/content/categoryindex.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
.categoryindex-text {
  position: relative;
  padding-top: 15px;
  color: #fff;
  z-index: 1;
}
/* Kreisgrafik für Bilderrahmen */
.featurebox2-image .circle1 {
  position: absolute;
  top: 0;
  left: 0px;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 991.98px) {
  .featurebox2-image .circle1 {
    display: none;
  }
}
/* Video Slider */
.video-container {
  height: 100%;
  width: 100%;
  position: relative;
}
.video-container video {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: right center; /* Fokus nach rechts */
  z-index: 0;
}
/* Fließtext formattierung*/
.slidertext {
  color: #ffffff;
  padding-top: 25px;
}
/* Navigation: Inhalt schiebt sich nicht herunter (Bootstrap Monkeypatch) */
@media (max-width: 1199.98px) {
  nav.navbar.navbar-expand-xl .navbar-collapse {
    position: absolute;
    top: 0px;
    right: 0px;
    left: 0px;
    overflow-y: none;
    z-index: -1;
  }
}
@media (max-width: 1199.98px) {
  .mobile-nav-wrapper {
    padding: 133px 25px 0px 25px;
    background: rgba(11, 23, 65, 0.75);
  }
}
/* Services Modul  */
.services-image {
  background-position: center;
  background-size: cover;
  overflow: hidden;
  min-height: 650px !important;
}
@media (max-width: 767.98px) {
.services-image {
   min-height: 350px !important;
  }
}
.services-image .circle1 {
  position: absolute;
  top: 0px;
  left: -1px;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 991.98px) {
  .services-image .circle1 {
    display: none;
  }
}
.services-image .circle2 {
  position: absolute;
  top: 0px;
  right: -1px;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 991.98px) {
  .services-image .circle2 {
    display: none;
  }
}
.services-text-left {
  padding: 50px 0px 25px 0px;
  background-color: #0b1741;
  color: #ffffff;
}
@media (min-width: 992px) {
  .services-text-left {
    padding: 50px 25px 25px 25px;
  }
}
.services-text-right {
  padding: 50px 0px 25px 0px;
  background-color: #1b5ca3;
  color: #ffffff;
}
@media (min-width: 992px) {
  .services-text-right {
    padding: 50px 25px 25px 25px;
  }
}