
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
  }
  
body{
    font-family:"Nunito Sans", sans-serif;
    background-color: #121417;
    overflow-x: hidden;
}

a{
    text-decoration: none;
}

header{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 3rem;
    position: relative;
    z-index: 10;
}

header .logo{
    color: #D9083C;
    font-size: 2rem;
}
.logo a{
    color:#D9083C;
    transition: all .5s ease-in-out;
    
}
.logo a:hover{
    color: white;
    
}
header .links ul{
    list-style: none;
    display: flex;
    padding: 1rem 1rem;
}
.links ul a{
    color: #898f97;
    font-size: 1.2rem;
    padding: 0 1rem;
    transition: all .5s ease-in-out;
}
.links ul a:hover{
    color: white;
}

header .button a{
    background-color: #D9083C;
    border-radius: 5px;
    font-size: 1.5rem;
    padding: .8rem 1.5rem;
    color: white;
    cursor: pointer;
    transition: all 1s ease-in-out;
}
.button a:hover {
    background-color: white;
    color: #D9083C;
   
}

.button a svg{
    fill: white;
}
.button a:hover svg{
    fill:#D9083C
}
.hero{
    margin: 0rem;
    background: linear-gradient(to right,rgba(14, 14, 14, 0.9),rgba(18, 10, 10, 0.9)),url(/assets/back.jpg);
    background-size: cover;
    background-position: right;
    height: 110vh;
    width: 60%;
    position: relative;
    left: 40%;
    margin-top: -10%;
    background-blend-mode:difference;
}
.hero .hello {
    position: relative;
    left: -30%;
    top:30%;
}
.hello h1{
    font-size: 10rem;
    color:#D9083C;
    overflow: hidden; /* Ensures text is hidden outside the bounds */
    white-space: wrap; /* Prevents text from wrapping */
    width: 0; /* Initially set the width to 0 */
    animation: typing 6s linear infinite; /* Adds forwards to keep final state */
    
}
@keyframes typing{
0%{
    width:0%
}
10%{
    width: 100%;
}
25%{
    width: 0%;
}
50%{
    width: 0%;
}
75%{
    width: 0%;
}
100%{
    width: 0%;
}

}
/*
@keyframes blink-caret {
    from, to {
        border-color: transparent; /* Cursor invisible 
    }
    50% {
        border-color: rgb(255, 253, 253); /* Cursor visible 
    }
   
}
*/
.hello h2{
    position: absolute;
    color: white;
    font-weight: lighter;
    font-size: 8rem;
    top:5%;
    width: 0;
    white-space: nowrap;
    overflow: hidden;
}

.hello .weText{
    animation:typing 6s linear infinite;
    animation-delay: 2s;
    
}
.hello .pixelText{
    color: #D9083C;
    animation: type 6s linear infinite;
    animation-delay: 4s;
}
@keyframes type{
    0%{
        width:0%
    }
    10%{
        width: 100%;
    }
    25%{
        width: 0%;
    }
    50%{
        width: 0%;
    }
    75%{
        width: 0%;
    }
    100%{
        width: 0%;
    }
    
    }

.hello p{
    font-size: 2rem;
    color:white;
    position: relative;
    left: .8rem;
    font-weight: lighter;
}
.scroll{
    color: aliceblue;
    position: relative;
    right: 50%;
    top:33%;
    writing-mode: vertical-lr;
}
.scroll a{
    color: white;
}
.line{
    height:12rem;
    background-color: #D9083C;
    width: .1rem;
    position: relative;
    right: 49.2%;
    top:36%;
}

.hamburger{
    cursor: pointer;
    display: none;
  
}
.cross{
    cursor: pointer;
    display: none;
}


/*responsive big screen*/
@media (max-width:1280px) {
    header .logo{
        font-size: 1.8rem;
    }
    .links ul a{
        font-size: 1rem;
       
    }
    header .links ul{
        padding: .8rem .8rem;
    }
    header .button a{
        font-size: 1.3rem;
        padding: .7rem 1.3rem;
    }
    .hello h1{
        font-size: 8rem;
    } 
    .hello h2{
        font-size: 6rem;
    }
    .hello p{
        font-size: 1.8rem;
    }   
    .scroll{
        top:50%;
    }
    
    .line{
        position: relative;
        right: 49%;
        top:52%
    }
    
}
/*responsive laptop*/
@media (max-width:1024px) {
    header .logo{
        font-size: 1.7rem;
    }
    header .button a{
        font-size: 1.1rem;
        padding: .6rem 1.2rem;
    }
    .hero{
        height: 80vh;
    }
    .button svg{
        height: 20px;
        width: 20px;
    }
    .hello h1{
        font-size: 7rem;
    } 
    .hello h2{
        font-size: 5rem;
    }
    .hello p{
        font-size: 1.6rem;
    }
    .scroll{
        top:55%;
    }
    .scroll a{
        font-size: 1.2rem;
    }
    .line{
        top:57%;
        right: 48.5%;
        
    }
}
/*responsive laptop*/
@media (min-width:781px) and (max-width:940px) {
    header .logo{
        font-size: 1.4rem;
    }
    .links ul a{
        font-size: .9rem;
       
    }
    header .button a{
        font-size: .9rem;
        padding: .5rem .8rem;
    }       
    .hero{
        margin-top: -15%;
    }
   
    .scroll{
        top:50%;
    }
    .scroll a{
        font-size: 1.2rem;
    }
    .line{
        top:52%;
        right: 48%;
        
    }
}
/*responsive medium devices*/
@media (max-width:780px) {
    
    .hamburger {
        display: block;
        position: absolute; /* Or 'fixed' if you want it to stay in the same position even when scrolling */
        right: 0; /* Moves it to the extreme right of the screen */
        top: 0; /* Adjust this value to control vertical placement */
        padding: 10px; /* Optional, to create space around the icon */
        margin-right: 10px; /* Optional, to add space between the hamburger and the edge of the screen */
        z-index: 1000; /* Ensure it stays above other elements */
    }
    
    .cross{
        cursor: pointer;
        display:none;
        
    }
    header .logo a{
        font-size: 2.2rem;
        color: #fefdfd;
    }
    
    header .links ul{
        flex-direction: column;
        width: 100%;
        height: 50vh;
        border: solid 2px rgb(125, 34, 34);
        background-color: #121417;
        position: absolute;
        top: -800px;
        right:0%;
        text-align: center;
        justify-content: center;
        padding: 100px;
        opacity: 0;
    }
    header .links ul.show{
        top:100%;
        opacity: 1;
    }
    .links ul li{
        padding: 20px;
        
    }
    .links ul a{
        color: rgb(248, 245, 245);
        font-size: 1.5rem;
         
    }
    
    
    
    header .button a{
        display: none;
    }
    .hero{
        margin-top:-15%
    }
    .scroll{
        top:50%;
    }
    .scroll a{
        font-size: 1.2rem;
    }
    .line{
        top:52%;
        right: 48%;
        
    }
    .hamburger{
        display: flex;
    }
    .cross.show{
        display:flex;
    }
}

/*responsive mobile*/
@media (max-width:640px) {
    
    header{
        margin-top: 20px;
    }
    header .logo a{
        font-size: 1.4rem;
    }
    .links ul a{
        font-size: 1rem;
       
    }
    header .button a{
        font-size: 1.1rem;
        padding: .6rem 1.2rem;
    }
    
    .hero{
        height: 80vh;
        margin-top: 0%;
       
    }
    .hero .hello {
        position: relative;
        left: -30%;
        top:30%;
    }
    .hello h1{
        font-size: 4.5rem;
     
    } 
    .hello h2{
        font-size: 3rem;
    }
    .hello p{
        font-size: 1.2rem;
        left: .4rem;
        top:30px
    }
    .scroll{
        right: 60%;
        top:50%;
    }
    .scroll a{
        font-size: .8rem;
    }
    .line{
        right: 57.5%;
        top:51%;
    }
    
}
/*iphone*/
@media (min-width:390px) and (max-width:448px) {
    
    .scroll{
        top:60%;
       
    }
    .line{
        right: 56%;
        top:62%;
    }
    
}
@media (max-width:389px) {
    .scroll{
        top:53%
    }
    .line{
        right: 56%;
        top:55%
    }
}


/*--about section---*/
.about{
    background-color: #161818;
    height: 100vh;
    

}
.dotted-pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; /* Make sure it's above the background */
    opacity: 0.3; /* Adjust opacity as needed */
    pointer-events: none; /* So it doesn't interfere with hero content */
}
.about .svg {
    position: absolute;
    top: 100;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; /* Make sure it's above the background */
    opacity: 0.5; /* Adjust opacity as needed */
    pointer-events: none; /* So it doesn't interfere with hero content */
}

.svgAbout .pattern{
    position: relative;
    top: 100;
    left: 0;
    width: 50%;
    height: 100%;
    z-index: 1; /* Make sure it's above the background */
    opacity: 0.2; /* Adjust opacity as needed */
    pointer-events: none; /* So it doesn't interfere with hero content */
}
.aboutHeading{
    position: relative;
    top:20%;
    left: 20%;
    color:#D9083C;
    width: 70%;
}
.aboutHeading h1{
    font-weight: lighter;
}
.aboutsubHead{
    position: relative;
    top:30%;
    left: 20%;
    color: white;
    font-weight: lighter;
    width: 60%;
}
.aboutsubHead h2{
    font-weight: lighter;
    font-size: 2rem;
}
.aboutText{
    position: relative;
    top:32%;
    left: 20%;
    color: white;
    display: flex;
    justify-content: flex-start;
    width: 35%;
}
.aboutText .txt2-head{
    font-weight: lighter;
    color: #898f97;
    font-size: 1.3rem;
}
.aboutImg{
    position: relative;
    left: 60%;
    width: 30%;
}
.aboutImg img{
    width:500px;
     height:400px;
}
.scrollAbout{
    
    position:absolute;
    left: 0%;
    top:70%;
    writing-mode: vertical-rl;
}
.scrollAbout a{
    color: white;
}

@media (max-width:1280px) {
    .about{
        height: 80vh;
    }
    .aboutHeading,.aboutsubHead,.aboutText{
        left: 15%;
    }
    .aboutHeading h1{
        font-size: 1.8rem;
    }
    .aboutsubHead h2{
        font-weight: lighter;
        font-size: 1.6rem;
    }
    .aboutImg{
        top: -10%;
    }
    .aboutImg img{
        width:400px;
         height:300px;
    }
   
}
@media (max-width:1024px) {
    .about{
        display: flex;
        flex-direction: column;
    }
    .svgAbout .pattern{
        opacity: 0;
    }
    .aboutsubHead{
        top:23%;
        width:70%;  
    }
    .aboutText{
        top:25%;
        width:50%;

    }
    .aboutText .txt2-head{
        font-size: 1.5rem;
    }
    .aboutImg{
        top: 30%;
        left: 40%;
    }
    
    .aboutImg img{
        width:500px;
         height:400px;
    }
   
}
@media (min-width:781px) and (max-width:940px) {
    .aboutImg{
        left: 30%;
    }
    .aboutText{
        width:60%;

    }
}
@media (max-width:780px) {
    .aboutText{
        width:70%;

    }
    .aboutImg{
        left: 15%;
        padding-right: 15%;
    }
    .aboutImg img{
        width:550px;
    }
}
@media (max-width:640px) {
    .aboutImg img{
        width:500px;
    }
    .about{
        background-color: #161818;
        height: 140vh;
    
    }
}
@media (min-width:390px) and (max-width:448px){
    .about{
        background-color: #161818;
        height: 140vh;
    
    }
    .aboutImg img{
        width:300px;
        height: 300px;
    }
}
@media (max-width:389px){
    .about{
        background-color: #161818;
        height: 140vh;
    
    }
   
    .aboutText .txt2-head{
        font-size: 1.2rem;
    }
    .aboutImg img{
        width:300px;
        height: 300px;
    }
}

/*----services---*/
.services{
    height: 100vh;
    display: flex;
    flex-wrap: wrap;    
    color: #fefdfd;
    position: relative;
    margin: 10% 10%;
    justify-content: space-evenly;
    gap: 10px;
    text-align: center;
}
.expertiseHeading{
    color: #D9083C;
    font-weight: lighter;
    position: relative;
    left: 10%;
    margin-top:10%;
    width:70vw;
    height: 10%;

}
.elementor-service{
    background-color: #D9083C;
    width: 35%;
    height: 50%;
    display: flex;
    flex-direction: column;
    gap: 50px;
    justify-content: center;
    padding: 10px;
    align-items: center;
    border-radius: 20px;
   
}
.elementor-service p{
    color: rgb(203, 181, 181);
    font-size: 1.2rem;
}
@media (max-width:1280px) {
    
    .elementor-service{
        width: 50%;
        height: 40%;
      
    }
}
@media (max-width:1024px) {
    .elementor-service{
        width: 70%;
        height: 20%;
      
    }
}
@media (min-width:781px) and (max-width:940px) {
    .elementor-service{
        width: 80%;
        height: 30%;
      
    }
}

@media (max-width:780px) {
    .expertiseHeading{
        margin-top: 20%;
        margin-bottom: 10%;
        
    }
    .services{
        display: block;
        flex-direction: column;
        margin: 0;
        flex-wrap: wrap;
        margin-left: 10%;
        margin-right: 10%;
    }
    .elementor-service{
        width: 100% !important;
        height: 35%;
        margin-bottom: 20px;
       
        
    }
}
@media  (max-width:640px) {
    
    .elementor-service{
        width: 100% !important;
        margin-bottom: 20px;
        height: 40%;
    }
}

@media (max-width:389px) {
    .services{
        display: block;
        flex-direction: column;
        margin:  0 10%;
        flex-wrap: wrap;
    }
    .elementor-service{
        width: 100% !important;
        margin-bottom: 20px;
        height: 60%;
    }
}

.pricing{
    color: #D9083C;
    font-weight: lighter;
    position: relative;
    left: 20%;
    margin-top:10%;
    width:70vw;
    height: 10%;
    font-size: 3rem;
}
.plans{
    height: 100vh;
    display: flex;
    flex-wrap: wrap;    
    color: #D9083C;
    position: relative;
    margin: 10% 10%;
    justify-content: space-evenly;
    gap: 10px;
    text-align: center;
}
.pricing-plan{
    background-color: #060606;
    box-shadow: 5px 5px 10px rgb(159, 42, 42);
    width: 35%;
    height: 50%;
    display: flex;
    flex-direction: column;
    gap: 50px;
    justify-content: center;
    padding: 10px;
    align-items: center;
    border-radius: 20px;
   
}
.pricing-plan h2{
 font-size: 2rem;
 font-weight: lighter;
}
.pricing-plan li{
    color: #898f97;
    font-size: 1.3rem;

}
@media (max-width:1280px) {
    .pricing{
        margin-top: 60%;
    }
}
@media (max-width:1024px) {
    .pricing{
        margin-top: 20%;
    }
    .pricing-plan{
        width: 70%;
        height: 25%;
    }
}
@media (min-width:781px) and (max-width:940px) {
    .pricing{
        margin-top: 50%;
    }
    
}
@media (max-width:780px) {
    .pricing{
        margin-top: 70%;
    }
    .pricing-plan{
        width: 80%;
        height: 30%;
    }
    
}
@media (max-width:640px) {
    .pricing{
        margin-top: 150%;
    }
    .pricing-plan{
        width: 100%;
        height: 45%;
    }
    .pricing-plan ul{
        list-style: none;
    }
    
}
@media (max-width:389px) {
    .pricing{
        margin-top: 320%;
    }
    .pricing-plan li{
        font-size: 1.1rem;
    }
}


/*----projects-----*/
.statistics{
    height: 250px;
    background-color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
   
}
.numbers{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 10%;
}
.wrapper{
    font-size: 5rem;
    color:#D9083C;
}
.elementor-counter-title{
    font-size: 1.5rem;
    
}
@media (max-width:1280px) {
   .statistics{
    height: 200px;
   }
   .wrapper{
    font-size: 3rem;
    color:#D9083C;
}
.elementor-counter-title{
    font-size: 1rem;
   
}
}
@media (max-width:1024px) {
    .statistics{
     height: 200px;
    }
    .wrapper{
     font-size: 3rem;
     color:#D9083C;
 }
 }
 @media (min-width:781px) and (max-width:940px)  {
    .statistics{
     height: 200px;
    }
    .wrapper{
     font-size: 1.9rem;
     color:#D9083C;
 }
 .elementor-counter-title{
    font-size: 1rem;
    width: 50%;
}
 }
 @media (max-width:780px) {
    
    .wrapper{
     font-size: 1.7rem;
   
 }
 .elementor-counter-title{
    font-size: 1.2rem;
    width: 70%;
}
 }
 @media (max-width:640px) {
    .statistics{
        margin-top: 100%;
        justify-content: center;
        
    }
    .wrapper{
     font-size: 1.5rem;
     width: 100%;
     margin-left:50%;
    margin-right: 50%;
   
 }
 
 .elementor-counter-number-suffix{
font-size: 1.5rem;
 }
 #infinity{
    font-size: 2rem;
 }
 .elementor-counter-title{
    font-size: 1rem;
    margin-left:20%;
    margin-right: 50%;
}
 }

 /*--projects---*/
 .recentWorks{
    color: #D9083C;
    font-weight: lighter;
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 5%;
 }
 .projects{
    position: relative;
    margin-left: 10%;
    margin-top: 10%;
    background-color: #060606;
    display: grid;
    grid-template-areas: "img1 img2"
                         "img3 img4";
    width: 80%;
    height: 100vh;
    gap: 50px 10px;
    
 }
 .works1{
    grid-area: "img1";
    background: url(/assets/tmpb.png);
    background-position: center;
    background-size: cover;
    border: solid 5px white; 
 }
 /* Hover Effect */
.works1:hover, .works2:hover, .works3:hover, .works4:hover {
    transform: scale(1.2); /* Scale the hovered element */
    z-index: 2; /* Bring the hovered element to the front */
    transition: all 0.5s ease-in-out;
    position: relative; /* For the centering transition */
}

/* Reduce opacity of non-hovered elements */
.projects:hover .works1,
.projects:hover .works2,
.projects:hover .works3,
.projects:hover .works4 {
    opacity: 0.5;
}

.projects:hover .works1:hover,
.projects:hover .works2:hover,
.projects:hover .works3:hover,
.projects:hover .works4:hover {
    opacity: 1; /* Keep the hovered element fully visible */
}
 .works2{
    grid-area: "img1";
    background: url(/assets/lamadara.png);
    background-position: center;
    background-size: cover;
    border: solid 5px white;
 }
 .works3{
    grid-area: "img1";
    background: url(/assets/yakthung.png);
    background-position: center;
    background-size: cover;
    border: solid 5px white;
 }
 .works4{
    grid-area: "img1";
    background: url(/assets/billing.png);
    background-position: center;
    background-size: cover;
    border: solid 5px white;
 }
 .projects h2{
    color: #f6f3f4;
    font-weight: lighter;
    position: relative;
    top: 100%;
    
 }
 @media (max-width:1024px) {
    .projects{
        display: flex;
        flex-direction: column;
        
        
    }
    .works1,.works4{
        height: 100%;
    }
    .works3,.works2{
        height: 100%;
    }
 }
 @media (max-width:640px) {
    .projects h2{
        font-size: 1rem;
    }
 }
/*--footer*/
.footer{
    position: relative;
    margin-top: 20%;
    height: 80vh;
    background-color: #D9083C;
}
.touch{
    position: relative;
    color:black;
    display: flex;
    justify-content: center;
    top: 20%;
    font-weight: bolder;
    word-spacing: .5rem;
}
.para{
    position: relative;
    margin-top: 12%;
    font-size: 2rem;
    width: 50%;
    margin-left: 25%;
    color: white;
    text-align: center;
}
.email{
    position: relative;
    margin-top: 5%;
    display: flex;
    justify-content: center;
  
}
.email a{
    color: white;
    font-size: 3rem;
}

.contact{
    display: flex;
    justify-content: space-evenly;
    position: relative;
    margin-top: 10%;
    height: 30vh;

}

.socials a{
    margin-left: 10px;
    margin-right: 20px;
    
}

.social-txt{
    color: #D0D0D0;
    font-size: 25px;
    margin-left: 22px;
    color:#D9083C;
}
.line{
    height: 150px;
    width: 1px;
    background-color:#D9083C;
    margin-top: 30px;
    
    
}
.info{
    color: #D0D0D0;
  
    
}
.info h2{
    margin-left: 50px;
    font-size: 27px;
    font-weight: normal;
    color:#D9083C;
    
}
.info p{
    font-size: 24px;
    color: #64666a;
   
    
}
@media (max-width:1280px) {
    .contact{
        margin-top: 20%;
    }
}

@media (max-width:1024px) {
    .footer{
        height: 50vh;
    }
    .para{
        margin-top: 20%;
    }
    .contact{
        margin-top: 30%;
    }
}
@media (min-width:781px) and (max-width:940px)  {
    .email a{
        font-size: 2rem;
    }
    .contact{
        height: 20vh;
    }
}
@media (max-width:780px) {
    .email a{
        font-size: 2rem;
    }
}
@media (max-width:640px) {
    .para{
        margin-top: 30%;
        margin-left: 15%;
        margin-right: 15%;
        width: 70%;
        font-size: 1.5rem;
    }
    .email a{
font-size: 1.5rem;
    }
    .contact{
        display: block;
        width: 50%;
        margin-left: 25%;
        margin-right: 25%;
        gap: 10px;
    }
    .socials a{
        margin-left: 10%;
        margin-right: 20px;
        
    }
    
    .social-txt{
        font-size: 1.5rem;
        margin-left: 25%;
       
    }
   
    .info h2{
        margin-left: 50px;
        font-size: 27px;
        font-weight: normal;
        color:#D9083C;
        
    }
    .info p{
        font-size:1.2rem;
        margin-left: 15%;
        
    }

}
@media (max-width:389px){
    .footer{
        height: 60vh;
    }
    .email a{
        font-size: 1.2rem;
    }
}

.copyright{
    color: #D0D0D0;
    display: flex;
    justify-content: center;
    font-size: 18px;
}
