.ce-align-left{
    text-align:left;
}
.ce-align-center{
    text-align:center;
}
.ce-align-right{
    text-align:right;
}
.ce-table td,.ce-table th{
    vertical-align:top;
}
.ce-textpic,.ce-image,.ce-nowrap .ce-bodytext,.ce-gallery,.ce-row,.ce-uploads li,.ce-uploads div{
    overflow:hidden;
}
.ce-left .ce-gallery,.ce-column{
    float:left;
}
.ce-center .ce-outer{
    position:relative;
    float:right;
    right:50%;
}
.ce-center .ce-inner{
    position:relative;
    float:right;
    right:-50%;
}
.ce-right .ce-gallery{
    float:right;
}
.ce-gallery figure{
    display:table;
    margin:0;
}
.ce-gallery figcaption{
    display:table-caption;
    caption-side:bottom;
}
.ce-gallery img{
    display:block;
}
.ce-gallery iframe{
    border-width:0;
}
.ce-border img,.ce-border iframe{
    border:2px solid #000000;
    padding:0px;
}
.ce-intext.ce-right .ce-gallery,.ce-intext.ce-left .ce-gallery,.ce-above .ce-gallery{
    margin-bottom:15px;
}
.ce-image .ce-gallery{
    margin-bottom:0;
}
.ce-intext.ce-right .ce-gallery{
    margin-left:15px;
}
.ce-intext.ce-left .ce-gallery{
    margin-right:15px;
}
.ce-below .ce-gallery{
    margin-top:15px;
}
.ce-column{
    margin-right:15px;
}
.ce-column:last-child{
    margin-right:0;
}
.ce-row{
    margin-bottom:15px;
}
.ce-row:last-child{
    margin-bottom:0;
}
.ce-above .ce-bodytext{
    clear:both;
}
.ce-intext.ce-left ol,.ce-intext.ce-left ul{
    padding-left:40px;
    overflow:auto;
}
.ce-headline-left{
    text-align:left;
}
.ce-headline-center{
    text-align:center;
}
.ce-headline-right{
    text-align:right;
}
.ce-uploads{
    margin:0;
    padding:0;
}
.ce-uploads li{
    list-style:none outside none;
    margin:1em 0;
}
.ce-uploads img{
    float:left;
    padding-right:1em;
    vertical-align:top;
}
.ce-uploads span{
    display:block;
}
.ce-table{
    width:100%;
    max-width:100%;
}
.ce-table th,.ce-table td{
    padding:0.5em 0.75em;
    vertical-align:top;
}
.ce-table thead th{
    border-bottom:2px solid #dadada;
}
.ce-table th,.ce-table td{
    border-top:1px solid #dadada;
}
.ce-table-striped tbody tr:nth-of-type(odd){
    background-color:rgba(0,0,0,.05);
}
.ce-table-bordered th,.ce-table-bordered td{
    border:1px solid #dadada;
}
.frame-space-before-extra-small{
    margin-top:1em;
}
.frame-space-before-small{
    margin-top:2em;
}
.frame-space-before-medium{
    margin-top:3em;
}
.frame-space-before-large{
    margin-top:4em;
}
.frame-space-before-extra-large{
    margin-top:5em;
}
.frame-space-after-extra-small{
    margin-bottom:1em;
}
.frame-space-after-small{
    margin-bottom:2em;
}
.frame-space-after-medium{
    margin-bottom:3em;
}
.frame-space-after-large{
    margin-bottom:4em;
}
.frame-space-after-extra-large{
    margin-bottom:5em;
}
.frame-ruler-before:before{
    content:'';
    display:block;
    border-top:1px solid rgba(0,0,0,0.25);
    margin-bottom:2em;
}
.frame-ruler-after:after{
    content:'';
    display:block;
    border-bottom:1px solid rgba(0,0,0,0.25);
    margin-top:2em;
}
.frame-indent{
    margin-left:15%;
    margin-right:15%;
}
.frame-indent-left{
    margin-left:33%;
}
.frame-indent-right{
    margin-right:33%;
}
.ce-textpic.ce-fullwidth img,.ce-image.ce-fullwidth img{
    max-width:100%;
    height:auto;
}
.ce-textpic.ce-fullwidth .ce-column,.ce-image.ce-fullwidth .ce-column{
    float:none !important;
}
.ce-flex{
    display:flex;
    align-items:center;
}
.ce-flex.ce-right{
    flex-direction:row-reverse;
}
.no-gutters{
    margin-right:0;
    margin-left:0;
}
.no-gutters > .col,.no-gutters > [class*="col-"]{
    padding-right:0;
    padding-left:0;
}
body{
    color:#000;
    font-family:'Nunito',sans-serif;
}
.navbar-wrapper{
    position:absolute;
    top:0;
    right:0;
    left:0;
    z-index:20;
}
.navbar-wrapper > .container{
    padding-right:0;
    padding-left:0;
}
.navbar-wrapper .navbar{
    padding-right:15px;
    padding-left:15px;
}
.navbar-wrapper .navbar .container{
    width:auto;
}
.inside-text{
    padding-right:0
}
.zumprojekt{
    background-image:url('../../../_assets/328a4b6023650e652465db5a7b734701/Css/typo3conf/ext/theme/Resources/Public/Images/neuer-pfeil-rechts.png');
    background-size:15px 15px;
    background-repeat:no-repeat;
    background-position:0 5px;
}
#page-2 .frame-type-text a{
    font-size:18px;
    color:black;
    background-image:url('../../../_assets/328a4b6023650e652465db5a7b734701/Images/neuer-pfeil-rechts.png');
    background-size:13px 13px;
    background-repeat:no-repeat;
    background-position:0 5px;
    padding-left:20px;
}
#page-2 .frame-type-text a:hover{
    text-decoration:none
}
.lead a{
    text-decoration:underline;
    color:black;
    padding-left:18px;
    font-size:18px;
    line-height:1em;
}
.lead a:hover{
    text-decoration:none
}
#header{
    position:fixed;
    width:100%;
    background-color:white;
    z-index:7777;
    height:110px;
}
#cms-content{
    padding-top:110px;
    clear:both
}
#page-4 .ce-textpic.ce-fullwidth img{
    max-width:100%;
    height:auto;
}
#page-4 td{
    padding-right:30px;
    vertical-align:top
}
#page-4 .ce-gallery figure{
    display:block
}
@media only screen and (min-width:700px){
    .columns-wrapper{
        display:grid;
        gap:30px;
    }
    .columns-wrapper.columns-3{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}
@media only screen and (min-width:1000px){
    .columns-wrapper{
        display:grid;
        gap:50px;
    }
    .columns-wrapper.columns-3{
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}
.text-right{
    text-align:right
}
.frame-type-text a,.frame-type-textpic a{
    color:black;
}
.frame-type-text a:hover,.frame-type-textpic a:hover{
    text-decoration:none
}
.frame-type-textpic h4{
    margin-bottom:20px;
}
.ce-fullwidth img{
    width:100%;
    height:auto
}
.frame-type-project_detail p{
    line-height:1em;
    padding:0;
    margin:0;
    color:#999
}
.frame-type-project_detail h4{
    margin-bottom:10px;
    border-bottom:1px solid #999;
    padding-bottom:10px;
    margin-top:5px;
}
.ce-image img{
    width:100%;
    height:auto
}
#frontpageCarousel .carousel-item{
    height:100dvh;
    background-size:cover
}
#page-1 #header{
    background:transparent
}
#page-1 #cms-content{
    padding-top:0;
}
#page-1 #footer{
    display:none
}
#page-1 .carousel{
    margin:0
}
#page-1 .schriftzug a{
    color:white;
}
#page-1 .desktop-navig a{
    color:white
}
#page-1 .carousel-caption h2{
    color:white;
}
#page-1 .carousel-caption a{
    color:white;
    text-decoration:none;
}
.frame-type-project_detail a{
    color:black;
}
.insta img{
    width:25px;
    height:auto;
}
.carousel{
    margin-top:10px;
    margin-bottom:60px;
}
.carousel-caption{
    position:absolute;
    right:3%;
    bottom:-10px;
    left:3%;
    z-index:10;
    padding-top:10px;
    padding-bottom:10px;
    color:#000;
    text-align:center;
    text-shadow:none;
}
.carousel-quote{
    z-index:10;
    position:relative;
    color:black;
    padding:20px;
    width:90%;
}
.carousel-quote h2{
    color:black;
}
.carousel-quote p{
    color:black;
    font-size:18px;
}
.carousel-caption h1{
    text-transform:uppercase;
    color:black
}
.carousel .item{
    height:300px;
}
.carousel-control-prev img,.carousel-control-next img{
    width:30px;
    height:auto;
}
.carousel-control img{
    width:30px;
    height:auto;
    margin-top:260px
}
.carousel-inner > .item > img{
    position:absolute;
    top:0;
    left:0;
    min-width:100%;
    height:auto;
    width:100%;
    margin:auto;
}
.carousel-item img{
    margin:auto;
    height:auto;
    width:100%;
}
.carousel-indicators{
    margin-bottom:-26px;
    display:none;
}
.carousel-indicators .active{
    position:relative;
    -webkit-box-flex:0;
    -ms-flex:0 1 auto;
    flex:0 1 auto;
    width:30px;
    height:7px;
    margin-right:3px;
    margin-left:3px;
    text-indent:-999px;
    background-color:#000;
}
.carousel-indicators li{
    position:relative;
    -webkit-box-flex:0;
    -ms-flex:0 1 auto;
    flex:0 1 auto;
    width:30px;
    height:7px;
    margin-right:3px;
    margin-left:3px;
    text-indent:-999px;
    background-color:#ccc;
}
.carousel-control{
    width:10% !important;
    background-image:none !important
}
.carousel-control .right{
}
.carousel-control .left{
}
.carousel h3{
    font-size:16px;
}
.center{
    text-align:center
}
.frame-type-project-grid-left,.frame-type-project-grid-right{
    max-width:1300px;
    margin-left:auto;
    margin-right:auto;
    clear:both;
}
.frame-type-project-grid-left .col60 img{
}
.frame-type-project-grid-left .col30 img{
    padding-left:8px;
    padding-bottom:8px
}
.frame-type-project-grid-right .col60 img{
}
.frame-type-project-grid-right .col30 img{
    padding-right:8px;
    padding-bottom:8px
}
.procontent{
    margin-left:15px;
    margin-right:15px;
    color:#000;
    hyphens:auto;
}
.procontent h4{
    font-size:16px;
}
.procontent h5{
    font-size:14px;
}
.procontent a{
    font-size:20px;
    display:block;
    color:#000;
    padding:10px;
    cursor:pointer
}
.col60{
    width:100%;
    float:left;
}
.col30{
    width:100%;
    float:left;
}
.projects{
    padding-left:10px;
    padding-right:10px
}
.hauptnavigation{
    width:100%;
}
.burg img{
    width:30px;
    height:auto;
}
.lead{
    font-size:16px;
    color:black
}
.overlay{
    height:100%;
    width:0;
    position:fixed;
    z-index:10000;
    top:0;
    left:0;
    background-color:rgb(0,0,0);
    background-color:rgba(0,0,0,0.9);
    overflow-x:hidden;
    transition:0.5s;
}
.overlay-content{
    position:relative;
    top:0;
    margin-top:30px;
    max-width:1170px;
    margin-left:auto;
    margin-right:auto
}
.overlay-inside{
    padding-left:15px;
}
.overlay a{
    padding:0;
    text-decoration:none;
    color:#fff;
    display:block;
}
.overlay a:hover,.overlay a:focus{
    color:#f1f1f1;
}
.overlay .closebtn{
    position:absolute;
    top:30px;
    right:15px;
    z-index:777;
}
.overlay .closebtn img{
    width:25px;
    height:auto;
}
@media screen and (max-height:450px){
    .overlay a{
        font-size:20px
    }
    .overlay .closebtn{
        font-size:40px;
        top:15px;
        right:35px;
    }
}
.marketing{
    margin-top:30px;
}
.hauptnavigation{
    font-family:'Open Sans',sans-serif;
    font-weight:600;
}
h1{
    font-family:'Open Sans',sans-serif;
    font-weight:600;
    font-size:24px;
    margin-top:10px;
    padding-top:0;
    letter-spacing:1px;
}
h4{
    font-family:'Open Sans',sans-serif;
    font-weight:600;
    font-size:18px;
    margin:0;
    padding:0;
}
h5{
    font-family:'Nunito',sans-serif;
    font-weight:normal;
    font-size:16px;
    margin:0;
    padding:5px 0 0 0;
}
.facts{
    margin-top:40px;
}
.facts p{
    margin:0;
    padding:0;
    color:#999
}
.facts h4{
    font-family:'Open Sans',sans-serif;
    color:black;
    font-weight:600;
    border-bottom:1px solid black;
    padding-bottom:15px;
    margin-top:5px;
    padding-top:0
}
.marketing .col-lg-4{
    margin-bottom:20px;
    text-align:center;
}
h2{
    font-family:'Open Sans',sans-serif;
    font-weight:600;
    font-size:20px;
    color:black;
    padding-bottom:10px;
    letter-spacing:1px;
    padding-top:0;
    margin-top:0;
}
.frame-type-columns-9-3 h2,.frame-type-columns-3-9 h2,.frame-type-columns-6-6 h2,.frame-type-columns-8-4 h2,.frame-type-columns-4-8 h2{
    padding-top:30px
}
h3{
    font-family:'Open Sans',sans-serif;
    font-weight:600;
    font-size:20px;
    color:black;
    padding-bottom:10px;
    letter-spacing:1px;
}
.marketing .col-lg-4 p{
    margin-right:10px;
    margin-left:10px;
}
.frame-space-after-extra-large{
    margin-bottom:8em;
}
.featurette-divider{
    margin:40px 0;
}
hr{
    border-color:white;
}
.featurette-heading{
    font-weight:300;
    line-height:1;
    letter-spacing:-1px;
}
.desktop-navig{
    display:none;
}
.logo{
    float:left;
    margin-top:30px;
    width:90px;
}
.logo img{
    width:100%;
    height:auto;
}
.nav-logo img{
    width:90px;
    height:auto;
    margin-bottom:20px;
    float:left;
}
.burg{
    cursor:pointer;
    padding-top:30px;
    float:right;
    width:20%;
    text-align:right;
}
.desktop-navig li{
    list-style-type:none;
    float:left;
    display:inline-block
}
#main-nav{
    float:right;
}
.desktop-navig{
    width:70%;
    float:right;
    text-align:right;
    margin-top:50px
}
.desktop-navig a{
    color:black;
    font-size:18px;
    margin-left:20px;
    letter-spacing:1px;
    text-decoration:none;
    text-transform:uppercase
}
.desktop-navig a:hover{
    text-decoration:none
}
.schriftzug{
    float:left;
    margin-top:30px;
    margin-left:15px
}
.schriftzug p{
    font-family:'Open Sans',sans-serif;
    font-weight:600;
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:1px;
    line-height:1.1em
}
.schriftzug a{
    color:black;
    text-decoration:none
}
.schriftzug a:hover{
    text-decoration:none
}
.navigation-mobil{
    clear:both;
    font-size:20px;
    float:left;
    text-transform:uppercase
}
.navigation-mobil ul{
    margin-left:0;
    padding-left:0
}
.navigation-mobil li{
    list-style-type:none;
    letter-spacing:1px
}
.schriftzug-mobil p{
    line-height:1em;
    text-transform:uppercase
}
.schriftzug-mobil{
    margin-top:0;
    padding-top:0;
    position:absolute;
    top:0;
    left:115px;
    width:200px;
}
.schriftzug-mobil a{
    font-size:15px;
    font-family:'Open Sans',sans-serif;
    font-weight:600;
    letter-spacing:1px;
}
.overlay-inside{
    font-family:'Open Sans',sans-serif;
    font-weight:600;
}
@media screen and (max-width:992px){
    .container{
        max-width:100%
    }
}
#c62 img{
    margin-top:50px;
}
.frame-space-after-extra-large{
    margin-bottom:5em;
}
@media (min-width:768px){
    #c62 img{
        float:right;
        margin-top:0;
    }
    #c62 h1,#c62 h4,#c62 p{
        text-align:right;
    }
    .two-cols{
        column-count:2;
        column-gap:35px;
    }
    .three-cols{
        column-count:3;
        column-gap:35px;
    }
    .procontent h4{
        font-size:18px;
    }
    .procontent h5{
        font-size:16px;
    }
    .frame-space-after-extra-large{
        margin-bottom:8em;
    }
    .frame-type-columns-9-3 h2,.frame-type-columns-3-9 h2,.frame-type-columns-6-6 h2,.frame-type-columns-8-4 h2,.frame-type-columns-4-8 h2{
        padding-top:0
    }
    .col60{
        width:100%;
        float:left;
    }
    .col60over{
        width:100%;
    }
    .col30{
        width:50%;
        float:left;
    }
    .logo{
        width:120px;
    }
    .schriftzug{
        float:left;
    }
    .nav-logo img{
        width:120px;
        height:auto;
        margin-bottom:20px;
    }
    .desktop-navig{
        display:block
    }
    .burg{
        display:none
    }
    h1{
        font-weight:600;
        font-size:24px;
        margin-top:20px;
        padding-top:0;
    }
    .inside-text{
        padding-right:40%
    }
    .featurette-divider{
        margin:60px 0;
    }
    .carousel-indicators .active{
        width:40px;
    }
    .carousel-indicators li{
        width:40px;
    }
    .carousel-quote{
        z-index:10;
        position:absolute;
        top:0;
        padding:20px 40px;
        width:50%;
        color:white;
    }
    .carousel-quote h2{
        color:white;
    }
    .carousel-quote p{
        color:white;
        font-size:16px;
    }
    .navbar-wrapper{
        margin-top:20px;
    }
    .navbar-wrapper .container{
        padding-right:15px;
        padding-left:15px;
    }
    .navbar-wrapper .navbar{
        padding-right:0;
        padding-left:0;
    }
    .navbar-wrapper .navbar{
        border-radius:4px;
    }
    .carousel-caption p{
        margin-bottom:20px;
        font-size:21px;
        line-height:1.4;
    }
    .featurette-heading{
        font-size:50px;
    }
}
@media (min-width:992px){
    h1{
        font-weight:600;
        font-size:28px;
        margin-top:20px;
        padding-top:0;
    }
    .col60{
        width:50%;
        float:left;
    }
    .col60over{
        width:50%;
        float:left
    }
    .col30{
        width:50%;
        float:left;
    }
    .schriftzug p{
        font-size:18px;
    }
    .featurette-heading{
        margin-top:1px;
    }
}
.offtest img{
    width:100%;
    height:auto;
}
footer{
    padding-top:50px;
    clear:both;
}
footer p{
    margin-bottom:50px
}
footer span.divider{
    display:inline-block;
    padding:0 10px;
}
@media screen and (max-width:768px){
    footer span.divider{
        display:block;
    }
    footer span.footer-links{
        display:block;
    }
}
footer a{
    color:#000;
}
footer a:hover,footer a:focus{
    color:#000;
    text-decoration:none;
}
.black h2,.black p{
    color:black
}
@media (min-width:1170px){
    .desktop-navig{
        width:70%;
        float:right;
        text-align:right;
        margin-top:50px
    }
    .desktop-navig a{
        color:black;
        font-size:18px;
        margin-left:20px;
    }
    .schriftzug{
        float:left;
        margin-top:34px;
    }
    .schriftzug p{
        font-size:18px;
        text-transform:uppercase;
    }
}
@media (min-width:1400px){
    .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{
        max-width:1200px;
    }
}
.frame-type-project-grid-right,.frame-type-project-grid-left,.frame-type-project-grid{
    margin-bottom:10px;
}
.flex-grid{
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    margin-right:-5px;
    margin-left:-5px;
}
@media (max-width:991.98px){
    .frame-type-project-grid-right .flex-grid{
        flex-wrap:wrap-reverse;
    }
}
.flex-grid .flex-group{
    width:50%;
    display:flex;
    flex-wrap:wrap;
    padding-right:5px;
    padding-left:5px;
}
@media (max-width:991.98px){
    .flex-grid .flex-group{
        width:100%;
    }
}
.flex-grid .flex-group .flex-grid{
    margin-bottom:-5px;
    margin-top:-5px;
}
@media (max-width:991.98px){
    .flex-grid .flex-group .flex-item.flex-item-large{
        margin-bottom:10px;
    }
}
.flex-grid .flex-group .flex-item.flex-item-small{
    width:50%;
    padding:5px;
}


.frame-type-project_item2{
    font-family:sans-serif;
    width:100%;
    height:100%;
    margin:0;
    position:relative;
    background-size:cover;
    background-position:center;
}
.frame-type-project_item2 a{
    display:block;
    height:100%;
}
.frame-type-project_item2 img{
    visibility:hidden;
    width:100%;
    height:auto;
}
.frame-type-project_item2 .prooverlay{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    position:absolute;
    top:0;
    left:0;
    z-index:2;
    opacity:0;
    background:rgba(255,255,255,0.7);
}
.frame-type-project_item2:hover .prooverlay{
    opacity:1;
    transition:.5s ease;
}



.frame-type-project_item{
    font-family:sans-serif;
    width:100%;
    height:100%;
    margin:0;
    position:relative;
    background-size:cover;
    background-position:center;
}
.frame-type-project_item a{
    display:block;
    height:100%;
}
.frame-type-project_item img{
    visibility:hidden;
    width:100%;
    height:auto;
}
.frame-type-project_item .prooverlay{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    position:absolute;
    top:0;
    left:0;
    z-index:2;
    opacity:0;
    background:rgba(255,255,255,0.7);
}
.frame-type-project_item:hover .prooverlay{
    opacity:1;
    transition:.5s ease;
}


.image-container {
    display: block; /* Forces block behavior */
    width: 100%; /* Prevents shrinking */
    margin-bottom: 20px; /* Adds spacing between image and text */
}

/* Ensure the image is not inline */
.project-image {
    display: block; /* Ensures image is treated as a separate block */
    width: 100%; /* Stretches image to full container width */
    height: auto; /* Maintains aspect ratio */
}

/* Ensure text appears below the image */
.procontent2 {
    display: block; /* Forces text to be on a new line */
    text-align: center; /* Centers text */
    position: relative; /* Ensures it follows normal document flow */
    color: white; /* Ensures visibility */
    padding-top: 10px; /* Adds spacing */
}

/* Ensure the frame container does not interfere */
.frame-type-project_item {
    display: block; /* Prevents flexbox issues */
    position: relative; /* Ensures normal document flow */
}
/* Ensure the frame container does not interfere */
.frame-type-project_item2 {
    display: block; /* Prevents flexbox issues */
    position: relative; /* Ensures normal document flow */
}

/* Container for images */
.image-grid {
    display: flex; /* Enables flexible columns */
    gap: 10px; /* Space between items */
    justify-content: center; /* Centers content */
    flex-wrap: wrap; /* Allows wrapping for mobile */
}

/* Individual image blocks */
.image-item {
    flex: 1; /* Allows items to resize */
    min-width: 300px; /* Prevents items from becoming too small */
    max-width: 50%; /* Ensures two columns on desktop */
    text-align: center; /* Centers text */
    margin-bottom: 48px; /* Adds vertical space between rows */
}

.image-item-last {
    flex: 1; /* Allows items to resize */
    min-width: 300px; /* Prevents items from becoming too small */
    max-width: 50%; /* Ensures two columns on desktop */
    text-align: center; /* Centers text */
}

/* Image styling */
.project-image {
    width: 100%; /* Makes image responsive */
    height: auto; /* Maintains aspect ratio */
    display: block; /* Prevents inline spacing issues */
}

/* Text styling */
.image-text {
    margin-top: 10px; /* Adds spacing between image and text */
    text-align: left !important; /* Ensures text is aligned to the left */
}

/* 📱 Responsive: Stack images in one column on smaller screens */
@media (max-width: 850px) {
    .image-grid {
        flex-direction: column; /* Stack images vertically */
    }

    .image-item {
        max-width: 100%; /* Full width for mobile */
        margin-bottom: 48px; /* Extra spacing on mobile */
    }
    .image-item-last {
        max-width: 100%; /* Full width for mobile */
        margin-bottom: 0px; /* Extra spacing on mobile */
    }
}

 