/*Homepage banner*/

@keyframes slideInFromRight {
    0% {
        transform: translateX(100%);        
    }
    100% {
        transform: translateX(0);        
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        visibility: visible;
    }
    100% {
        opacity: 1;
        visibility: visible;
    }
}


/**************Generic Homepage Classes************************/

.section-heading{
    font-weight:bold;
    font-size: 2rem;
    line-height: 2.2rem;
    text-align: center;    
}

.section-border{
    border-bottom: 1px solid rgb(45,80,127);        
}

/*lg above*/
@media (min-width: 992px){
    .section-heading{        
        text-transform: uppercase; 
    }
    
}



/**************BANNER************************/
.banner {
    background-image: url('../img/banner-main.jpg');
    background-size: cover;
    background-position: center;
    position: relative;
    width: 100%;
    
    height: 90vh;
}

.banner-overlay {
    background: linear-gradient(to right,
            rgba(10,15,30, 0.8) 5%,
            rgba(10,15,30, 0.7) 20%,
            rgba(10,15,30, 0.15) 80%,
            rgba(10,15,30, 0.1) 90%,
            rgba(10,15,30, 0) 100%
    );
    position: absolute;
    top: 0; left: 0;
    z-index: 1;
    width: 100%; height: 100%;
}


.banner-panel{
    color:white;
    position: relative;
    z-index: 10;
    top:20%;
    
}
.banner-title{
    font-weight:bold; 
    font-size: 2rem;     
    line-height:2.5rem;
}
.banner-subtitle{
    font-weight:400;    
    font-size: 1.5rem;    
    line-height: 1.7rem; 
}
.banner-crane{    
    position: absolute;
    z-index: 2;
    right:-30%; bottom:0%;
}
.banner-crane img{
    height: 60vh;
}
/*lg above*/
@media (min-width: 992px){
    .banner{
        height: 86vh;
    }    
    .banner-panel{
        top:30%;           
    }
    .banner-overlay {
        background: linear-gradient(to right,
                rgba(10,15,30, 0.9) 5%,
                rgba(10,15,30, 0.8) 20%,
                rgba(10,15,30, 0.1) 80%,
                rgba(10,15,30, 0) 100%
        );        
    }
    .banner-title{
        font-size: 3rem;
        line-height:3.2rem;
        max-width: 50%;
    }
    
   
    .banner-crane{            
        right:5%; bottom:0%;
    }
    .banner-crane img{        
        height: 80vh;
    }
    
}
/*further customization - xl above*/
@media (min-width: 1200px){      
    
}




/**************BOXES - OUR SERVICES************************/

.boxes-box{
    cursor: pointer;    
}

.boxes-cover{
    position: relative;
    overflow: hidden;
}
.boxes-img{
    position: relative;
    width: 100%;        
}
.boxes-overlay{
    background: linear-gradient(to right,
        rgba(10,30,75, 0.8) 5%,
        rgba(10,30,75, 0.7) 20%,
        rgba(10,30,75, 0.15) 80%,
        rgba(10,30,75, 0.1) 90%,
        rgba(10,30,75, 0) 100%
    );
    position: absolute;
    top: 0; left: 0;
    z-index: 1;
    width: 100%; height: 100%;
}
.boxes-overlay2 {
    /* background: linear-gradient(to right,
            rgba(10,15,30, 0.5) 5%,
            rgba(10,15,30, 0.6) 20%,
            rgba(10,15,30, 0.1) 80%,
            rgba(10,15,30, 0.05) 90%,
            rgba(10,15,30, 0) 100%
    ); */

    background: linear-gradient(to right,
        rgba(10,30,75, 0.9) 5%,
        rgba(10,30,75, 0.8) 10%,
        rgba(10,30,75, 0.7) 27%,
        rgba(10,30,75, 0.15) 50%,
        rgba(10,30,75, 0.1) 90%,
        rgba(10,30,75, 0) 100%
    );
    
    position: absolute;
    top: 0; left: 0;
    z-index: 1;
    width: 100%; height: 100%;
}


.boxes-title{
    font-size:1.35rem;
    line-height: 1.4rem;
    font-weight: bold;
    text-align: center;
}

.boxes-desc{
    font-size:1.1rem;
    /* line-height: 1.3rem; */
    font-weight: normal;
    text-align: justify;
}


.boxes-box:hover .boxes-img {
    transform: scale(1.1); /* Increase image size by 10% on hover */
    transition: transform 0.3s ease-in-out; /* Smooth zoom animation */
  }
  


/*lg above*/
@media (min-width: 992px){
    .boxes-title{        
        height: 58px;
        text-align: left;
    }

    .boxes-desc{
        height: 90px;
        text-align: left;
    }
    
}


/************** WHO WE ARE ************************/
.whoweare-cont{
    font-size: 1.15rem;
}
.brick{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height:670px;
}
.brick-left{
    width: 40%;    
    height: 100%;
    position: relative;
    z-index: 10;
}
.brick-left img{
    position: absolute;
    top:96px;
    left:40px;
    z-index: 100;
}

.brick-right{
    width: 60%;
    height: 100%;
    background: rgb(25, 60, 107);
    position: relative;
    z-index: 1;
}
.brick-since{
    position: absolute;
    bottom:0px;
    right: 0px;
    width: 86px;
    height: 86px;
    background: rgb(25, 90, 157);
    color: white;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;        
}

.brick-since-top{
    font-size: .9rem;
    line-height: .9rem;
    font-weight: 300;    
}
.brick-since-bot{
    font-size: 1.2rem;
    line-height: 1.2rem;
    font-weight: 500;    
}
.brick:hover img{
    transform: scale(1.1);
    transition: transform 0.3s ease-in-out;
}



/***************** PARTNERS ************************/
.partners{
    width:100%;
    background:rgb(39,89,156);
}

.partners-marquee {
    width: 100%;
    overflow: hidden;
    position: relative;
    height: 140px;
    padding-top:30px;
}

.partners-slider {
    position: absolute;
    left: 0;
    white-space: nowrap;
}

.partners-slider img {
    width: 200px;
    height: auto;
    padding: 0 10px;
    position: relative;
    display: inline-block;
}

/*lg above*/
@media (min-width: 992px){
    .partners-marquee {                
        height: 160px;
        padding-top:34px;
    }
    .partners-slider img {
        width: 250px;                
    }
}

.partners-textpanel{
   text-align: center;
   background-image: url('../img/partners-bg.png');
   background-repeat: no-repeat;
   background-position: 90% 90%;
   height: 160px;
   padding-top: 40px;
}
.partners-title{
    color: white;
    font-size: 2rem;
    font-weight: 700;            
}
.partners-subtitle{
    color: white;
    font-size: 1rem;
    font-weight: 300;
    padding-left: 8px;
    padding-right: 8px;
}