/* Allgemeine Formatierungen */
body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    color: rgba(51, 51, 51, 1);
}

/* Hauptcontainer */
.main-container {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
}

/* Hintergrundbild Container */
.A-container {
    background-image: url('2224264.jpg'); /* Dein Bild */
    background-size: cover; /* Bild anpassen */
    background-position: center; /* Bild zentrieren */
    background-repeat: no-repeat; /* Keine Wiederholung */
    width: 100%; /* Breite des Containers */
    height: 16vh; /* Höhe des Containers auf 25vh setzen */
    display: flex; /* Flexbox aktivieren */
    justify-content: center; /* Horizontal zentrieren */
    align-items: center; /* Vertikal zentrieren */
    position: relative; /* Position für z-index */
    text-align: center; /* Textzentrierung */
}

/* Schattierung auf der oberen Ebene */
.A-container .w3-animate-opacity {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Die Höhe des Containers ausfüllen */
    background: rgba(0, 0, 0, 0.6); /* Schattierung */
    z-index: 1; /* Setzt die Schattierung hinter den Text */
}

/* Text im Container zentrieren */
.A-container h4 {
    color: white;
    z-index: 2; /* Der Text kommt über die Schattierung */
    font-size: 1.2em;
    padding: 0 1em; /* Etwas Abstand zu den Rändern */
    margin: 0;
    line-height: 1.5; /* Zeilenhöhe für bessere Lesbarkeit */
}

/* Hintergrund-Container */
.background-container {
    position: relative;
    background-image: url('IMG_5198-1.jpg'); /* Dein Bild */
    background-size: cover; /* Bild anpassen */
    background-position: center; /* Bild zentrieren */
    height: 25vh; /* Höhe des Containers */
    display: flex; /* Flexbox aktivieren */
    justify-content: center; /* Horizontal zentrieren */
    align-items: center; /* Vertikal zentrieren */
}

/* Abdunkelung mit ::before */
.background-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Die Höhe des Containers ausfüllen */
    background: rgba(0, 0, 0, 0.1); /* Schattierung */
    z-index: 1; /* Schattierung hinter den Text */
}

.background-container h4 {
    z-index: 2; /* Text über der Schattierung */
    color: white;
    text-align: center;
    font-size: 1.2em;
    padding: 0 1em; /* Etwas Abstand zum Rand */
}






/* Stil für alle h1, h2, h3 Überschriften */
h1, h2, h3 {
    color: rgba(0, 117, 191, 1);
    margin-bottom: 20px;
}

/* Allgemeiner Stil für Abschnitte */
.section {
    padding: 40px 20px;
    margin: 20px;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Hero-Sektion - Oben sichtbare Begrüßung */
.hero {
    color: black;
    text-align: center;
    background-image: linear-gradient(to right, rgba(0, 117, 191, 1.0), rgba(0, 117, 191, 0.5), rgba(140, 140, 140, 0.5), rgba(140, 140, 140, 1.0));
    height: 20vh;
    width: 100%;
    justify-content: center;
    align-content: center;
}


.hero h1 {
    font-size: 2.0em;
}

.hero p {
    font-size: 1.25em;
}

/* Call-to-Action Buttons */
.cta-btn {
    background-color: rgba(0, 117, 191, 1);
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-size: 16px;
    display: inline-block;
}

.cta-btn:hover {
    background-color: rgba(0, 102, 170, 1);
}

/* Stil für Dienstleistungsabschnitte */
.dienstleistung {
    background-color: rgba(224, 224, 224, 1);
    margin: 20px 0;
    padding: 20px;
    border-radius: 8px;
}

.dienstleistung h3 {
    color: rgba(0, 117, 191, 1);
}

/* Footer */
footer {
    background-color: rgba(51, 51, 51, 1);
    color: white;
    padding: 20px;
    text-align: center;
}

footer nav a {
    color: white;
    text-decoration: none;
    margin: 0 10px;
}

footer nav a:hover {
    text-decoration: underline;
}

/* ---------------------------- */
.StartS {
  width: 100%;
  height: auto;
  background: rgba(255,255,255,0.5);
  position: relative;
  display: flex;
    justify-content: center;
  place-content: center;
  place-items: center;
    margin: 0 auto;
  border-radius: 20px;
}

.StartL {
  width: 100%;
  height: auto;
  background: rgba(0,117,191);
  position: relative;
  display: flex;
  place-content: center;
  place-items: center;
  overflow: hidden;
  border-radius: 20px;
    flex-wrap: wrap;
    flex-direction: row;
}
.StartL::before {
  content: '';
  position: absolute;
  width: 300%;
  background-image: linear-gradient(180deg, rgba(0,117,191,1) 0%, rgba(255,255,255,1) 100%);
  height: 50%;
  animation: rotBGimg 6s linear infinite;
  transition: all 0.4s linear;
}

@keyframes rotBGimg {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.StartL::after {
  content: '';
  position: absolute;
  background: rgba(0,117,191);
  inset: 5px;
  border-radius: 15px;
}  

.Lin {
  width: 100%;  /* Standardmäßig 100% Breite für mobile Geräte */
  height: 160px;
  background: rgba(198, 198, 198, 0.34);
  border-radius: 8px;
  backdrop-filter: blur(5px);
  border-bottom: 3px solid rgba(255, 255, 255, 0.440);
  border-left: 2px rgba(255, 255, 255, 0.545) outset;
  box-shadow: -40px 50px 30px rgba(0, 0, 0, 0.280);
  transform: skewX(10deg);
  transition: .4s;
  overflow: hidden;
  color: white;
  z-index: 100;
  margin-bottom: 20px;  /* Abstand zwischen den Lin-Elementen */
}

.Lin:hover {
  height: 160px;
  transform: skew(0deg);
}

.alignLin {
  padding: 0rem;
  height: 0px;
  display: flex;
  flex-direction: row;
  gap: 1px;
  align-self: flex-start;
}

.Lin h1 {
  text-align: center;
  margin: 0rem;
  color: rgb(218, 244, 237);
  text-shadow: -10px 5px 10px rgba(0, 0, 0, 0.573);
}

.Leistungtxt {
  width: 100vw;
  text-align: center;
  color: white;
  font-size: 2em;
  font-weight: bold;
  z-index: 550;
  margin-bottom: 20px;
}

.StartL > div {  /* Jedes direkte Kind von .StartL */
  width: 20%;  /* Breite der Kinder, so dass sie nebeneinander passen */
  margin: 10px;  /* Abstand zwischen den Elementen */
  background-color: rgba(198, 198, 198, 0.34);
  border-radius: 8px;
  padding: 20px;
}

@media (max-width: 768px) {
  .StartL > div {
    width: 88%;  /* Auf kleineren Bildschirmen sollen die Items untereinander angezeigt werden */
  }
}

@media (max-width: 768px) {
  .StartS {
    width: 98%;  /* Volle Breite auf kleinen Bildschirmen */
  }
}


/* button */


.buttonUL {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  width: 18rem;
  height: auto;
}

.buttonUL .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: flex;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background: #FFFFFF;
  border-radius: 1.625rem;
}

.buttonUL .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #000000;
}

.buttonUL .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.625rem;
  width: 1.125rem;
  height: 0.125rem;
  background: none;
}

.buttonUL .circle .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.29rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #000000;
  border-right: 0.125rem solid #000000;
  transform: rotate(45deg);
}

.buttonUL .button-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0;
  margin: 0 0 0 3.85rem;
  color: rgba(255,255,255,0.30);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}

.buttonUL:hover .circle {
  width: 100%;
}

.buttonUL:hover .circle .icon.arrow {
  background: #000000;
  transform: translate(1rem, 0);
}

.buttonUL:hover .button-text {
  color: #000000;
}

/* ---------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------- */


.hero2s {
            height: 100vh;
            background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), 
                        url('https://source.unsplash.com/1600x900/?metal,industry') center/cover no-repeat;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            color: white;
            padding: 20px;
        }

        .hero2s h1 {
            font-size: 3rem;
            font-weight: bold;
            margin-bottom: 10px;
        }

        .hero2s p {
            font-size: 1.2rem;
            margin-bottom: 20px;
            max-width: 600px;
        }

        .hero2s button {
            background-color: #ff6600;
            color: white;
            border: none;
            padding: 12px 24px;
            font-size: 1rem;
            cursor: pointer;
            border-radius: 5px;
            transition: 0.3s;
        }

        .hero2s button:hover {
            background-color: #e65c00;
        }

        @media (max-width: 768px) {
            .hero2s h1 {
                font-size: 2rem;
            }
            .hero2s p {
                font-size: 1rem;
            }
        }


.heroHBG{
    display: grid;
    text-align: center !important;    
    background-image: url("IMG_5619-1.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
}


.heroXBG{
    display: grid;    
    background-image: url("Alu-LKM-1.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 40%;
}
.heroZBG{
       color: white;
    text-align: center;
    background-image: linear-gradient(to right, rgba(0, 117, 191, 1.0), rgba(0, 117, 191, 0.5), rgba(140, 140, 140, 0.5), rgba(140, 140, 140, 1.0));
    width: 100%;
    height: 40vh;
}

.heroZBG1{
       color: white;
    text-align: center;
    background-image: linear-gradient(to right, rgba(0, 117, 191, 1.0), rgba(0, 117, 191, 0.5), rgba(140, 140, 140, 0.5), rgba(140, 140, 140, 1.0));
    width: 100%;
    height: 25vh;
}

.heroYBG{
    display: grid;
    text-align: center !important;    
    background-image: url("IMG_5198-1.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.heroHBG, .heroXBG, .heroZBG {
    margin: 0;
    padding: 0;
}

.HKX {
    background: rgba(255,255,255,0.0);
    width: auto; /* Standard: 50% der Bildschirmbreite */
    min-width: 300px; /* Mindestbreite, damit es nie zu klein wird */
    height: 20vh;
    text-align: center;
    /* Absolute Positionierung für exakte Mitte */
    overflow: hidden;
    flex-grow: 1;
}
.HKX h1{
    color: white;
}

.HKX p{
    color: white;
}



/* ✅ Responsive Anpassung für Tablets */
@media (max-width: 768px) {
    .hero h1 {
        font-size: 1.8em;
    }
}

/* ✅ Responsive Anpassung für Smartphones */
@media (max-width: 480px) {
    .hero h1 {
        font-size: 1.8em;
    }
}


.HKXX {
    background: rgba(255,255,255,0.50);
    width: auto; /* Standard: 50% der Bildschirmbreite */
    min-width: 300px; /* Mindestbreite, damit es nie zu klein wird */
    text-align: center;
    overflow: hidden;
}

.HKXX p{
    font-size: 1.5rem;
    font-family: "Calibri Light";
}

/* ✅ Responsive Anpassung für Tablets */
@media (max-width: 768px) {
    .HKXX {
        width: 100%; /* Größere Breite auf kleineren Bildschirmen */
        max-width: 500px;
        left: 50%; /* Sidebar-Berechnung entfernen */
    }
}

/* ✅ Responsive Anpassung für Smartphones */
@media (max-width: 480px) {
    .HKXX {
        width: 100%;
        max-width: none; /* Entferne die Begrenzung, damit es sich besser anpasst */
        padding: 15px;
    }
}

.heroABBG{
    display: grid;
    text-align: center !important;    
    background-image: url("IMG_4150-1.jpg") ;
    height: 25vh;
    background-size: cover;
    background-position: 25% 80%;
    background-repeat: no-repeat;
    
}

.hero10 {
    color: black;
    text-align: center;
    background-image: linear-gradient(to right, rgba(0, 117, 191, 0.75), rgba(0, 117, 191, 0.25), rgba(140, 140, 140, 0.25), rgba(140, 140, 140, 0.75));
    height: 25vh;
    width: 100%;
    justify-content: center;
    align-content: center;
}


.hero10 h1 {
    font-size: 2.5em;
}

.hero10 p {
    font-size: 1.25em;
}

/* ✅ Responsive Anpassung für Tablets */
@media (max-width: 768px) {
     .heroYBG .heroXBG {
       height: 33vh !important 
    }
}

@media (max-width: 768px) {
    .heroZBG {
       height: 30vh !important 
    }
}

@media (max-width: 768px) {
    .hero {
       height: 30vh
    }
}
@media (max-width: 768px) {
    .HKX {
       height: 30vh
    }
}

@media (max-aspect-ratio: 6/10 ){
    .heroZBG {
       height: 30vh !important 
    }
}

@media (max-aspect-ratio: 6/10 ){
    .hero {
       height: 38vh
    }
}
@media (max-aspect-ratio: 6/10 ){
    .HKX {
       height: 38vh
    }
}

.Leistungtxt1 {
  width: 100vw;
  text-align: center;
  color: black;
  font-size: 2em;
  font-weight: bold;
  z-index: 550;
}

.buttonUL1 {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  width: 18rem;
  height: auto;
}

.buttonUL1 .circle1 {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: flex;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background: #000000;
  border-radius: 1.625rem;
}

.buttonUL1 .circle1 .icon1 {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #FFFFFF;
}

.buttonUL1 .circle1 .icon1.arrow1 {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.625rem;
  width: 1.125rem;
  height: 0.125rem;
  background: none;
}

.buttonUL1 .circle1 .icon1.arrow1::before {
  position: absolute;
  content: "";
  top: -0.29rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #FFFFFF;
  border-right: 0.125rem solid #FFFFFF;
  transform: rotate(45deg);
}

.buttonUL1 .button-text1 {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0;
  margin: 0 0 0 3.85rem;
  color: rgba(0,0,0,0.30);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}

.buttonUL1:hover .circle1 {
  width: 100%;
}

.buttonUL1:hover .circle1 .icon1.arrow1 {
  background: #FFFFFF;
  transform: translate(1rem, 0);
}

.buttonUL1:hover .button-text1 {
  color: #FFFFFF;
}

/* ---------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------- */
