
*{
    margin:0;
    padding:0;
}

.header{
    min-height: 20vh;
    width: 100%;
    position: relative;
    padding-bottom: -10%;
}

.logo{
    width:200px;
    height:auto
}

body {
    font-family: 'Novecento Sans Narrow', Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #ffffff;
} 



header {
    background-color: #fdfbfb;
    color: #fff;
    padding: 1em 0;
    text-align: center;
}

nav{
    display: flex;
    padding: 2% 6%;
    justify-content:space-between;
    align-items: center;
}


nav ul {
    list-style: none;
    padding: 0;
}

nav img{
    width:150px;
    height:auto;
    z-index: 1;
}

.nav-links{
    flex: 1;
    text-align: right;
    height: auto;
    z-index: 1;
}
.nav-links ul li{
    list-style: none;
    display: inline-block;
    padding: 8px 12px;
    position: center;
    
}
.nav-links ul li a{
    color: #185e9b;
    text-decoration: none;
    font-size: 30px;
    font-weight: 600;
}
.nav-links ul li::after{
    content:'';
    width: 0%;
    height: 2px;
    background: #000000; 
    display: block;
    margin: auto;
    transition: 0.5s;
}
.nav-links ul li:hover:after{
    width:100%;

}

.intro-text{
    max-width: cal(100%);
    color: #fff;
    position: relative;
    text-align: center;
    background-image: linear-gradient(rgba(4, 9, 30, 0.7), rgba(4, 9, 30, 0.7)), 
        url(Images/BaustelleAustausch1.jpg);
    background-position: center;
    background-size: cover;
    padding: 40px 20px;
    justify-content: center;
    align-items: center;
    

}
.intro-text h1{
    font-size: 50px;
    color:#e9e9e9;
    padding-top: 5%;
    font-weight: 800;
}

   
 .intro-text p{
    margin: 30px 20px 40px;
    color:#dbdbdb;
    line-height: 1.5;
    font-size: 30px;
    padding-top: 2%;
}
nav .fa{
    display: none;
}

/* services Style */
.services{
    width: 90%;
    margin: auto;
    text-align: center;
    padding-top: 100px;
    padding-bottom: 1%;
    background-color: #ffffff;
    
}

.services h1{
    font-size: 36px;
    font-weight: 800;
    color: #000000;
    
}
.services p {
    color: #000000;
    font-size: 22px;
    font-weight: 300;
    line-height: 22px;
    padding: 10px;
    line-height: 1.5;
}

.row{
    margin-top: 5%;
    display: grid;
    justify-content: space-between;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    
}
.service_col{
    flex-basis: calc(25% - 20px);
    /*max-width: calc(25% - 20px);*/
    background: #8986864f;
    border-radius: 40px;
    margin-bottom: 5%;
    box-sizing: border-box;
    flex-direction: column;
    transition: 0.5s;
    text-align: center;
    justify-content: space-between; /* Ensures content inside each box is spaced evenly */
    max-height: cal(25% - 30px);
    

}

.service_col:hover{
    box-shadow:0 0 20px 0px rgba(0,0,0,0.8)
}

.service_col h3{
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 20px;
    margin-top: 20px;
    
}

.service_col p{
    padding: 5px;
    font-size: 24px;
    line-height: 1.6;
    flex-grow: 1;
}

.service_col img {
    width: 100%; /* Ensures the image spans the width of its container */
    height: auto; /* Maintains the aspect ratio */
    max-height: 200px; /* Optional: Limits the maximum height of the image */
    object-fit: cover; /* Ensures the image covers the box evenly without distortion */
    object-position: top;
    border-radius: 0px; 
}

.reference_teaser {
    position: relative;
    width: 90%; /* Anpassung der Galerie-Breite */
    max-width: 1200px; /* Maximale Breite */ /* Maximale Breite der Galerie */
    margin: auto;
    overflow: hidden;
    padding-bottom: 5%;
    padding-top: 5%;
}

.reference_teaser h1{
    font-size: 36px;
    font-weight: 800;
    color: #000000;
    text-align: center;
    padding-bottom: 3%;
}

.gallery-slides {
    display: flex;
    transition: transform 0.5s ease;
    height: 400px;
    align-items: center;
}

.slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Bilder werden angepasst */
    cursor:pointer;
}

button.prev, button.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0,0,0,0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    font-size: 18px;
    z-index: 10;
}

button.prev {
    left: 10px;
}

button.next {
    right: 10px;
}

.about_us_intro{
    width: cal(100%);
    color: #fff;
    position: relative;
    text-align: center;
    background-image: linear-gradient(rgba(4, 9, 30, 0.7), rgba(4, 9, 30, 0.7)), 
        url(Images/BaustelleAustausch4.jpg);
    background-position: center;
    background-size: cover;
    padding: 40px 20px;
    justify-content: center;
    align-items: center;
    

}
.about_us_intro h1{
    font-size: 50px;
    font-weight: 800;
    color:#e9e9e9;
    padding-top: 5%;
}

   
 .about_us_intro p{
    margin: 30px 20px 40px;
    color:#dbdbdb;
    line-height: 1.5;
    font-size: 30px;
    padding-top: 2%;
}

/* CSS For slider-wrapper in references page */

.container{
    max-width: cal(100%);
    width: 90%;
    position: auto;
    padding: 5%;
    line-height: 1cm;
}

.container h1{
    text-align: center;
    font-weight: 800;
    padding-bottom: 5%;
    font-size: 30px;
}
.container h2{
    padding-top: 5%;
    padding-bottom: 3%;
    font-size: 30px;
}

.container .slider-scrollbar {
    height: 24px;
    width: 100%;
}

.slider-wrapper .slide-button{
    height:50px;
    width: 50px;
    color: #fff;
    background: #000;
    border:none;
    outline:none;
    font-size: 2.2rem;
    cursor: pointer;
    border-radius: 50%;
    transform: translateY(-50%);

}

.slider-wrapper .slide-button:hover{
    background: #444;
}

.slider-wrapper .slide-button#prev-slide{
    left: -20px;
    display: none;

}

.slider-wrapper .slide-button#next-slide{
    right: -20px;
    
}

.slider-scrollbar {
    width: 100%;
    height: 0px; /* Adjust height if needed */
    margin-top: 0px; /* Add some space but keep it minimal */
    position: relative;
}

.slider-scrollbar .scrollbar-track{
    height:2px;
    width: 100%;
    background: #ccc;
    position: relative;
    border-radius: 4px;
}

.slider-scrollbar:hover .scrollbar-track{
    height: 4px;
}

.slider-scrollbar .scrollbar-track:active{
    cursor:grabbing;
    height: 8px;
    top: -2px

}
.slider-scrollbar .scrollbar-thumb{
    position: absolute;
    height:100%;
    width: 50%;
    background: #000;
    border-radius: inherit;
    cursor: grab;

}

.slider-scrollbar .scrollbar-thumb::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -10px;
    bottom: -10px;

}
.slider-wrapper{
    display: flex;
    align-items: center;
    position: relative;
    justify-content: center;
    min-height: 50vh;
    width: 100%;
    background: #ffffff;
    overflow: hidden;
}

.slider-wrapper .image-list{
    display: grid;
    gap: 20px;
    font-size: 0;
    scrollbar-width: none;
    grid-template-columns: repeat(10, 1fr);
    overflow-x: auto;

}
.slider-wrapper .image-list ::-webkit-scrollbar{
    display: none;

}

.slider-wrapper .image-list .image-item{
    width: 325px;
    height: 400px;
    object-fit: cover;

}

.contact-info h2{
    font-size: 30px;
    font-weight: 600;
}

.map h2 {
    padding-bottom: 2%;
    font-size: 30px;
}

ul {
    list-style-type: none;
    padding-left: 0; /* Optional: removes any left padding */
}
.map-container iframe {
    width: 90%; 
    height: 400;
}



/* CSS for smaller screens*/
@media(max-width:756px){
    .intro-text h1{
        font-size: 40px;
        
    }
    .intro-text p{
        font-size: 20px;
        
    }
    .about_us_intro h1{
        font-size: 40px;
        
    }
    .about_us_intro p{
        font-size: 20px;
        
    }
    .nav-links ul li{
        display: block;
        color: #e7e7e7;
        font-size: auto;
    }
    .nav-links ul{
        padding:30px;
        
    }
    .service_col img{
        flex-basis: calc(50% - 20px); 
        max-width: calc(50% - 20px);
    }

    .service_col h3{
        font-size: 25px;
    }
    .nav-links {
        position: absolute;
        background: #d4d3d3;
        min-height: 100vh; /* Allow it to grow if needed */
        width: 200px;
        top: 0;
        right: 0;
        text-align: left;
        z-index: 2;
        transition: right 1s ease;
        color: #8d6e6e;
        display: none;
        overflow-y: auto; /* Add vertical scrolling if content overflows */
    }
    .nav-links ul li a{
        font-size: 25px;
    }
    
    nav .fa{
        display:block;
        color: #185e9b;
        margin: 10 px;
        font-size: 50px;
        cursor: pointer;
    }
    nav .fa-times{
        padding: 10%;
        font-size: 50px;
    }
    
    .row{
        flex-direction: column;
        display: flex;
        justify-content: space-between;

    }

    .service_col p{
        padding: 5%;
    }
    
    .about_us_intro{
        max-width: auto;
    }

    .about_us_intro h1{
        font-size: 30px;
        position: relative;
    }

    .about_us_intro p{
        font-size: 20px;
        position: relative;
    }
    .reference_teaser {
        width: 100%; /* Full width on smaller screens */
    }

    .gallery-slides {
        height: 300px; /* Reduce height for smaller screens */
    }

    .slider-wrapper .slide-button{
        display: none!important;
    }

    .slider-wrapper .image-list{
        gap: 10px;
        margin-bottom: 15px;
    }
    .slider-wrapper .image-list .image-item{
        width: 280px;
        height: 380px;
    }

    .slider-scrollbar .scrollbar-thumb {
        width: 20%;
    }
    .service_col {
        flex-basis: 100%; /* Stack columns on small screens */
        max-width: 100%;
    }
    .map-container {
        position: relative;
        width: 100%; /* Full width */
        padding-top: 56.25%; /* Aspect ratio: 16:9 */
    }
    
    .map-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }
    
}


footer {
    background-color: #ffffff;
    color: #000000;
    text-align: center;
    padding: 1em 0;
    position: auto;
    bottom: 0;
    width: 100%;
    font-size: medium;
} 