

.d1 {

    position: absolute;
    margin-top: 115px;
    
    width: calc(100% - 100px);
    max-width: 1200px;

    left: 50%;
    transform: translate(-50%);
  
    min-height: calc(100% - 115px);
 
}

.d2 {
   
    width: 100%;
    
}



.d21 {

    display: grid; 
    grid-template-columns: 1fr 1fr 1fr; 
    gap: 30px 30px; 
    grid-template-areas:
      ". . ."; 
    place-items: bottom;
    
    width: 100%; 
    height: 100%;
 

    margin-top: 30px;

    margin-bottom: 120px;

    
   

}

.projekte {


    position: relative;
    overflow: hidden;
   

}


.projekte img {


    width: 100%;
    height: 100%;

    transition: transform 0.3s ease-in-out;

}

.lightgray_background {

filter: brightness(98.5%);

}


.beschreibung {
    
    
    width: 90%;
    height: calc(100% - 60px);

    padding-left: 500px;
    padding-right: 500px;

    left: 50%;
    transform: translate(-50%);
  
    position: absolute;
    top: 0px;
 
   
    text-align: left;
   
    font-size: 16px;
    color: rgb(0, 0, 0);
    font-weight: 300;

    opacity: 0;
    transition: opacity 0.2s ease;
;
    background: rgba(0, 0, 0, 0.38);
    background: rgba(255, 255, 255, 0.796);





}

.projecttitle {
    
    
    width: 90%;
    height: 60px;

    padding-left: 500px;
    padding-right: 500px;

    left: 50%;
    transform: translate(-50%);
  
    position: absolute;
    bottom: 0px;

    
    text-align:left;
    align-content: center;
    
   
    font-size: 16px;
    color: rgb(0, 0, 0);
    font-weight: 400;

    opacity: 1;
    transition: opacity 0.2s ease;

    background: rgba(0, 0, 0, 0.38);
    background: rgba(255, 255, 255, 0.796);




}


.projekte:hover .beschreibung{

    opacity: 1;

    /******* bottom: 0px !important;*******/
    bottom: 0px !important;

}

.projekte:hover img{

transform: scale(1.0);

}



@media (max-width: 900px) {




  
    .d21 {

        display: grid; 
        grid-template-columns: 1fr 1fr; 
        gap: 30px 30px; 
        grid-template-areas: 
         ". . "
         ". . "
         ". . "; 
        place-items: top;
        width: 100%; 
        height: 100%; 

        margin-top: 30px;

        padding-bottom: 30px;
    }



}

@media (max-width: 630px) {

    .d21 {

        display: grid; 
        grid-template-columns: 1fr; 
        gap: 30px 30px; 
        grid-template-areas: 
        ". "
        ". "
        ". "; 
        place-items: top;
        width: 100%; 
        height: 100%; 

        margin-top: 30px;
        
        padding-bottom: 30px;
    
    }

    

  

}

/******* KLEINERER ABSTAND ZU SEITE BEI GERINGER SEITENBREITE -500PX- *******/

@media (max-width: 500px) {

    .d1 {
       
        width: calc(100% - 60px);
        max-width: 1200px;
        
    }
    

}











        


