*{
    margin: 0;
    padding: 0;
}
body{
    background-color:rgb(29, 27, 27);
}
.logo{
    display: flex;
    gap: 10px;
}
.logo img {
    height: 40px;
    width: auto;
    display: block;
}
.main{
    height: 100vh;
}
nav{
    position:fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;

    padding: 5px 5px;
    padding-top: 15px;
    font-size: small;
    
    display: flex;
    justify-content: space-between;
    margin:0px 30px 0px 30px;
   animation: color 0.5s both;
   animation-timeline: scroll();
}
@keyframes color {
    from{
background-color: transparent;
    }
    to{
        margin: 0;
background-color: #0a4fbe;
    }    
}

.menu img{
    display: none;
    width: 25px;
    align-content: center;
}
.menu ul{
    display: flex;
}
nav ul li{
    font-family: 'poppins';
    list-style: none;
    padding: 10px 20px;
    color: white;
    text-decoration: none;

}
nav ul li a {
  color: inherit;
  text-decoration: none; 
}
nav ul li:hover{
    color:black;
    cursor: pointer;
}

/* BANNER */

video{
    position: absolute;
    height: 100vh;
    object-fit: cover;
    width: 100%;
    z-index: -1;

}
@font-face {
    font-family: "Milker";
    src: url(milker.regular.otf);
}
.banner-container { 
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    
}
.banner-text{
    display: flex;
    flex-direction: column;
    gap: 2vh;
    font-size: large;
}
.banner-text h1{
    font-family: 'Milker';
    color: transparent;
    -webkit-text-stroke: 0.5px black;
    animation: fadedown 1.2s both;

}
@keyframes fadedown {
   from{
    margin-bottom:50vh;
   }
   to{
    margin-top: 0;
   }
    
}

.banner-text p{
    font-weight: 500;
    font-family: 'poppins';
    color: white;
}

hr{
    box-shadow: 0px 2px 10px 2px black;
    margin-left: 25%;
    border: none;
    background-color: white;
    height: 0.1vh;
    width: 50%;
}
.services-container{
    background-color: rgb(29, 27, 27);
}
.services-container h2{
    display: flex;
    justify-self: center;
    padding: 40px;
    color: white;
    font-weight: 400;
    font-family: 'milker';
    animation: slidedown 1s both;
    animation-timeline: view();
}
@keyframes slidedown {
    from{
        
        padding-top: 100px;
    }
    to{
        padding-top: 40px;
    }
    
}
.cards-container{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    justify-items: center;
    padding-top: 30px;
    padding-bottom: 60px;
    animation: slidedown1 1s both;
    animation-timeline: view();
    
}
@keyframes slidedown1 {
    from{
        
        padding-top: 130px;
    }
    to{
        padding-top: 40px;
    }
    
}
.col{
    padding: 40px 50px;
    background-color: white;
    border-radius: 20px;
    box-shadow: 0px 2px 5px 2px rgb(0, 0, 0);
}

.col h3{
    font-family:Verdana, Geneva, Tahoma;
    font-size:medium;
}
.col li{
    font-family: 'poppins';
    font-size: x-small;
    padding: 20px 5px 10px 5px;
    list-style: none;
}
.projects-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.project-cards{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap:30px;
    justify-content: center;
    padding-top: 40px;
    padding-bottom: 60px;
}
.project{
    background-color: white;
    border-radius: 20px;
    width: 30vw;
    padding-left: 0px;
    box-shadow: 0px 2px 5px 2px rgb(0, 0, 0);
}
.project h3{
    padding: 5px 20px;
}
.project img{
    width: 30vw;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    display: flex;
    justify-self: center;
}
.project p{
    font-family: 'poppins';
    font-size: xx-small;
    padding: 20px;
}
.about{
    display:flex;
    align-items: center;
    font-family: 'poppins';
    justify-content: space-around;
    color: white;
    font-size:medium;
}

.about img{
    width: 30vw;
}
footer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
footer p{
    color: white;
    font-size: x-small;
    font-family:'Times New Roman', Times, serif;
}
h5{
    display: flex;
    gap: 10px;
    align-items: center;
    font-family: 'poppins';
    background: linear-gradient(to right,#0a4fbe,#23d6c9);
    -webkit-background-clip: text;
    -webkit-text-fill-color:transparent;
    
}
h5 img{
    justify-self: center;
    display: flex;
    cursor: pointer;
    width: 3vw;
}



/* Mobile Devices (max-width: 768px) */
@media (max-width: 768px) {
    .logo{
        width: 20px;
    }
    .logo img{
        width: 100px;
        object-fit: contain;

    }  
    .menu ul{
        display: none;
        flex-direction: column;
        position: fixed;
        inset: 0;
        background-color: rgb(57, 52, 52);
        width: 100vw;
        height: 100vh;
        padding-top: 10vh;
        z-index: 9999;
    
    }
    .menu ul li{
        font-size: medium;
        padding: 30px;
    }
   
    .menu ul.active{
        display: flex;
    }
    #ham-menu{
        display: block;
        position: fixed;
        right: 6%;
        cursor: pointer;
        z-index: 11111;
    }
    .logo img {
        height: 35px;
    }

    .banner-text h1 {
        font-size: 2rem;
        -webkit-text-stroke: 0.3px black;
    }

    .banner-text p {
        font-size: small;
        padding: 0 15px;
    }

    hr {
        width: 80%;
        margin-left: 10%;
    }
    .project-cards,
    .cards-container{
        grid-template-columns: 1fr;
    }
    .cards-container {
        padding: 20px;
        gap: 20px;
    }

    .col {
        width: 85%;
        padding: 30px;
    }

    .project,
    .project img {
        width: 85vw;
    }

    .project p {
        font-size: x-small;
    }
    .about{
        flex-direction: column;
        text-align: center;
    }
    .about img {
        width: 60vw;
    }
    h5{
        padding-top: 60px;
    }
    h5 img {
        width: 5vw;
    }
}


/* Small Mobile Devices (max-width: 480px) */
@media (max-width: 480px) {

    .banner-text h1 {
        font-size: 1.6rem;
    }
    .menu img{
        display: block;
    }
    .banner-text p {
        font-size: x-small;
    }

    .col h3 {
        font-size: small;
    }

    .col li {
        font-size: xx-small;
    }

    footer p {
        font-size: xx-small;
    }

    h5 img {
        width: 9vw;
    }
}
