*,::before,::after{
    margin: 0;
    padding: 0;
    box-sizing: border-box;

}

a{
    text-decoration: none;
    color: black;
}
body{
    position: relative;
    font-family:'Segoe UI',Arial, Helvetica, sans-serif;
    scroll-snap-type:y mandatory ;
    height: 100vh;
    width: 100%;
    display: block;

}
/* cursor */
.cursor{
    border: 2px solid #000;
    height: 20px;
    width: 20px;
    border-radius: 50%; 
    position: absolute;
    transition: .1s;
    animation: cursoranime .5s infinite alternate;
}

.cursor::after{
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    border: 8px solid black;
    border-radius: 50%;
    opacity: .5;
    top: -8px;
    left: -8px;

}
@keyframes cursoranime {
    from{
        transform: scale(1);
    }
    to{
        transform: scale(.7);
    }
    
}
/* scrollbar  */

/* width */
::-webkit-scrollbar {
    width: 10px;  
    cursor: pointer;  
    z-index: 100000;
}
  
  /* Track */
  ::-webkit-scrollbar-track {
    background: #f1f1f1;
    cursor: pointer;  
  }
  
  /* Handle */
  ::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 5px;
    cursor: pointer;    
}
  
  /* Handle on hover */
  ::-webkit-scrollbar-thumb:hover {
    background: #555;
  }
/*  */
/* snapping */
.model{
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    scroll-snap-type:y mandatory;
    scroll-behavior: smooth;
}
section{
    position: relative;
    height: 100vh;
    scroll-behavior: smooth;
    scroll-snap-align: center;
}

.logo h1{
    font-size: 25px;
    text-transform: capitalize;
    font-style: normal;
    font-weight: 400;  
}
.logo{
    cursor: pointer;
}
/* navbar */
.ham img{

    width:80%;
}
.ham:hover{
    
    cursor: pointer;
}
.closeicon{
display: none;
}



.navbar{
    display: flex;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.521);
    align-items: center;
    justify-content: space-between;
    padding: 20px 40px;
}
.navfull{
    display: flex;
    position: fixed;
    z-index: 1000;
    top: 69px;
    left: 0;
    right: 0;
    bottom: -10px;
    background-color: rgba(0, 0, 0, 0.842);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: white;
    text-align: center;
}

.navfullmenu li{
    list-style: none;
    margin-top: 40px;
    position: relative;
    margin-bottom: 40px;
}
.navfullmenu li a{
    text-transform: uppercase;
    font-size: 30px;
    color: white;
   
}
.span:after{
    content:"";
    height:3px;
    background:white;
    position:absolute;
    left:0;
    right:0;
    bottom:-6px;
    opacity:0;
    transform-origin:left center;
    transition:all 250ms cubic-bezier(0.25,0.46,0.45,0.94) 0s;
    transform:scaleX(0);

}

.navfullmenu li:hover>.span:after{
    transform:scaleX(1);
    opacity:1;
}
.navimg{
    width: 30px;
    height: 30px;
}
.navdiv{
    position: relative;
    width: 200px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}



/* spinin stuff */
.container{
    height: 30vh;
    width: fit-content;
}
.container{
    pointer-events: none;
}
.container img{
    width: 45%;
    background-position: center;
    background-attachment: fixed;
    background-size:cover ;
    
}
.container img{
    animation:  zoom 10s linear infinite alternate-reverse;
}

@keyframes zoom {
    0%{
        transform: rotate(10deg);
    }
    50%{
        transform: scale(1.2) rotate(10deg);
    }
    100%{
        transform: rotate(10deg);
    }
}

/* postioning the spinin */
.container.one{
    position: relative;
    top: 80px;
    user-select: none;
    right: 0;
}
.container.two{
    position: relative;
    top: 250px;
    user-select: none;
    right:-300px;
}


.container.three{
    position: relative;
    user-select: none;
    top: -70px;
    right:-1200px;
}
.container.four{
    position: relative;
    top: -800px;
    user-select: none;
    right:-1800px;
}
.group{
    overflow: hidden;
}
/*  */
/* name and hello there */
.herotext{
    position: absolute;
    top: 100px;
    text-transform: uppercase;
    font-style: normal;
    right: 10%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
}
.herotext h1{
    font-weight: 500; 
    font-size: 100px;
  
}
.herotext h2{
    font-size: 30px;
    font-weight: 400;
}
.herotext p{
    font-size: 400;

}
/*  */
#home{
    min-height: 100vh;
    margin-top: 100px;

}
/* infinite flipboard */
.blocks-head{
    width: 380px;
    height: 45px;
    background-color: transparent;
    position: relative;
    top:0px;
    left: 67px;
    overflow: hidden; 
}
.wordcarousel{
    display: flex;
    text-transform: uppercase;
    justify-content: center;

}
.pre h2{
    font-size: 25px;
    font-weight: 500;
}
.inner .element{
    font-size: 25px;
}
.inner{
    display: flex;
    margin-left: 10px;
    margin-top: -5px;
    flex-direction: column;
    line-height: 45px;
    animation: flow 8s ease-in-out infinite ;
}

@keyframes flow {
    0%, 20% {
      transform: translateY(0);
    }
    25%, 45% {
      transform: translateY(-45px);
    }
    50%, 70% {
      transform: translateY(-90px);
    }
    75%, 95% {
      transform: translateY(-135px);
    }
    100% {
      transform: translateY(-180px);
    }
  }
/*  */

/* media queries */
@media(max-width:700px){
    .logo h1{
        font-size: 20px;
    }
    .herotext h1{
        font-weight: 500; 
        font-size: 35px;
    }
    .herotext h2{
        font-size: 20px;
    }
    .herotext{
        position: absolute;
        top: 90px;
    }

    .container img{
        width: 40%;
    }
    .container.two{
        position: relative;
        top: 250px;
        user-select: none;
        right:-200px;
    }
    .pre h2{
        font-size: 20px;
    }
    .inner .one .element{
        font-size:18px ;
        font-weight: 600;
    }
    .inner{
        position: relative;
        top: -3px;
    }
    .blocks-head{
        top: 300px;
        left: 50px;

    }
}
/* for fold and other devices */
@media(max-width:290px){
    .logo h1{
        font-size: 18px;
    }
    .navbar{
        padding: 20px 10px;
    }
    .herotext h1{
        font-weight: 500; 
        font-size: 30px;
    }
    .herotext h2{
        font-size: 18px;
    }
    .herotext{
        position: absolute;
        top: 70px;
    }
    .pre h2{
        font-size:18px;
    }
    .inner .one .element{
        font-size:18px ;
        font-weight: 600;
    }
    .inner{
        position: relative;
        top: -6px;
    }
    .blocks-head{
        top: 300px;
        left: 80px;
}
}
/*  */
/* about stuff */


#about{
    position: relative;
    min-height: 100vh;
}

.largecontainer{   
    width: fit-content;
    position: absolute;   
    z-index: -1;
}

.largecontainer{
    pointer-events: none;
    user-select:  none;
}
.largecontainer img{
    width: 45%;
    background-position: center;
    background-attachment: fixed;
    background-size:cover ;
    
}
.largecontainer img{
    animation:  zoom 10s linear infinite alternate-reverse;
}
.largecontainer.onee{
top: 70%;
left: -50px;
}

.largecontainer.twoo{
    top: 20%;
    right: -230px;
}
.profilephoto{
    background: url("./images/mypic.jpg");
    background-position: center;
    background-repeat: no-repeat;
    object-fit: contain;
    height: 200px;
    width: 200px;
    border-radius: 50%;
    position: relative;
    /* top: 150px;
    left: 20px; */
    background-size: 200px;
    margin-bottom: 20px;
}
.profiletab{
    position: relative;
    display: flex;
    top: 10px;
    left: 20px;
    margin-top: 80px;
    margin-right: 20px;
    margin-left: 20px;
    width: 80%;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 100px;
}
.profilestar{
    position: absolute;
    top: -20px;
    left: 190px;
}
.profilestar h1{
    font-size: 50px;
    font-weight:300;
}
.profileinfo{
    border-radius: 15px;
    background-color: black;
    color: white;
    position: relative;
    min-width: 200px;
    max-width: 800px;
    padding: 15px;
    letter-spacing: 3px;
    font-size: 30px;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 40px;
}
.msgtriangle img{
    height: 50px;
    width: 50px;
    position: absolute;
    top: -16.4px;
    left: -14px;
}
@media (max-width:1300px) {
    
    .profiletab{
        display: flex;
        flex-direction:column ;
        align-items: center;
    }
    .profileinfo{
        font-size: 13px;
        margin-bottom: 30px;
    }
    .profilestar{
        position: absolute;
        top: -20px;
        left: 190px;
    }
    .profilestar h1{
        font-size: 30px;
        font-weight:300;
    }
}
.profilewords{
    font-size: 20px;

}


/* rotating tangles */


.square{
    position: relative;
    width: 200px;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.square span:nth-child(1){
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid black;
    border-radius: 38% 62% 63% 37% / 41% 44% 56% 59%;
    transition: 0.5s;
    animation:  animate 6s linear infinite;
}
/* .square:hover span:nth-child(1){
    border: none;
    background-color: grey;
} */

.square span:nth-child(2){
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid black;
    border-radius: 38% 62% 63% 37% / 41% 44% 56% 59%;
    transition: 0.5s;
    animation:  animate2 4s linear infinite;
    }
/* .square:hover span:nth-child(2){
    
    border: none;
    background-color: grey;
    
} */

.square span:nth-child(3){
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid black;
    border-radius: 38% 62% 63% 37% / 41% 44% 56% 59%;
    transition: 0.5s;
    animation:  animate 10s linear infinite;
    }
/* .square:hover span:nth-child(3){
    border: none;
    background-color: grey;    
}
     */


    @keyframes animate {
        0%{
            transform: rotate(0deg);
        }
        100%{
            transform: rotate(360deg);
        }
        
    }
    @keyframes animate2 {
        0%{
            transform: rotate(360deg);
        }
        100%{
            transform: rotate(0deg);
        }
        
    }
    @keyframes animate3 {
        0%{
            transform: rotate(360deg);
        }
        100%{
            transform: rotate(0deg);
        }
        
}
/*  */
/* about title */
.abouttitle{
    position: relative;
    top: 65px;
    left: 30px;
    font-size: 35px;
    font-weight: normal;
}
.aboutheader{
    
}

/* projects */
#projects{
    position: relative;
    height: 100vh;
    display: flex;
    flex-direction: column;
}
.projectsTop{
    position: relative;
    top: 65px;
    left: 30px;
    display: flex;   
    align-items:center;
    justify-content: space-between;
    padding-right: 80px;
}
.projectsTitle h1{
    position: relative;
    font-size: 35px;
    font-weight:normal;
}
.projectsSort h2{
    font-weight:normal;
}

.projectsMain{
    position: relative;
    height: 80%;
    background:rgba(0, 0, 0, 0.4);
    top: 65px;
    padding: 30px;
    width: 80%;
    margin: 30px auto;
    border-radius:20px;
  
    display: grid;
    place-items: center;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap: 50px;
    
    overflow-y: scroll;
}
.squareooo{
    position: relative;
    max-width: 300px;
    max-height: 300px;
    min-width: 200px;
    min-height: 200px;
    background-color: white;
    border-radius: 10%;
    /* border: 1px solid black; */
    transition: all 200ms; 
    cursor: pointer;

}
.projectp{
  font-size: small;  
}

#projectbtn{
    display: flex;
    align-items: center;   
    padding: 5px;
    width: 100px;
    justify-content: center;
    background: #fff;
    border: 2px solid black;
    border-radius: 90px;  
    margin-top: 10px;
}


.squareooo:hover{
    transform: scale(1.1);
   
}
/* tech */

#tech{
    position: relative;
    height: 100vh; 
}
.techMain{
    position: relative;
    top: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.btnmain{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}
/* slider */
.slide{
    margin: 10px;
}
.slider-container{
    border: 1px solid black;
    height: 80px;
    overflow: hidden;
    display: flex;
    align-items: center;
    max-width: 200vw;

}
.slider{
    display: flex;
    user-select: none;
    align-items: center;
    justify-content: space-between;
    animation: scroller 18s linear infinite;
}
.slider2{
    display: flex;
    user-select: none;
    align-items: center;
    justify-content: space-between;
    animation: scroller 18s reverse linear infinite;
}
.blocks{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 100%;
    
}
.blocks img{
    width: 50px;
}


@keyframes scroller{
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-100%);
    }
}
.emailcontact{
    height:480px;
    border: 3px solid black;
    width: 500px;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.emailcontact h1{
    text-transform: uppercase;
    font-weight: normal;
    font-size: 25px;
    margin-bottom: 30px;
}
.emailcontact input{
    width: 80%;
    height: 40px;
    padding: 5px;
    border-radius: 10px;
    border: 3px solid black;
    font-size: 20px;
}
.emailcontact textarea{
    height: 90%;
    font-family: Arial, Helvetica, sans-serif;
    margin: 20px;
    border: 3px solid black;
    border-radius: 10px;
    width: 80%;
    padding: 5px;
    font-size: 20px;
}
.emailcontact button{
    width: 80%;
    height: 40px;
    border-radius: 10px;
    border: none;
    background-color: black;
    color: white;
    font-size: 20px;
    text-transform:uppercase;
    padding: 5px;
    text-align: center;
    cursor: pointer;
}
.emailcontact button:focus{
    border: 3px solid black;
    background-color: white;
    color: black;
}

.contact{
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0px 150px;
    justify-content: space-between;
}
.contacttitle{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contacttitle h2{
    font-size: 30px;
    font-weight: 300;
    letter-spacing: 2px;
}


.contacttitle h1{
    font-size: 80px;
    font-weight: 300;
}

.contactitems{
    display: flex;
    align-items: center;
}

.itemsone{
    margin-right: 50px;
}


.footermain{
    position: relative;
    height: 60%;
    top: 100px;
    display: flex;
    align-items: center;
    padding: 100px;
    justify-content: space-between;
}

.ratingtab{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ratewords{
    font-weight: 400;
    margin-bottom: 20px;
}
.ratebtns{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 200px;
}
.rate-btn{
    height:30px;
    width: 30px;
    font-size: 20px;
    background-color: black;
    color: white;
    border: none;   
    border-radius: 50%;
    cursor: pointer;
}
.rate-btn:focus{
    background-color: white;
    color: black;
    border: 2px solid black;
}

.copyright{
    position: relative;
    margin: 0 auto;
    text-align: center;
    color: gray;
    font-size: 16px;
    top: 25%;   
    padding:0 20px;
}
.githubbtn,.twitterbtn,.bebtn{
    display: flex;
    align-items: center;   
    border: 2px solid black;
    padding: 10px;
    width: 200px;
    background-color: black;
    border-radius: 10px;
}
.githubbtn p,.twitterbtn p ,.bebtn p{
    margin-left: 20px;
    color: white;
}
.githubbtn img,.twitterbtn img{
background-color: white;
border-radius:30px;
border: none;
fill: white;
}
.githubbtn img{
    height: 30px;
    width: 30px;
    border:none;
}
.bebtn img{
    height: 30px;
    width: 30px;
    border:none;
}

.footertitle h1{
    position: relative;
    top: 150px;
    margin: 0 auto;
    font-weight: lighter;
    font-size: 30px;
    letter-spacing: 15px;
    font-weight: 400;
    margin-bottom: 20px;
    text-align: center;
}
@media(max-width:900px){
    .footermain{
        position: relative;
        height: 60%;
        top: 150px;
        display: flex;
        align-items: center;
        flex-direction: column;
        padding: 10px;
       
        justify-content: space-between;
    }
    .footertitle h1{
        top: 100px;
        font-size: 20px;
        letter-spacing: 2px;
    }
    .contact{
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0px 10px;
    }
    .contacttitle h1{
    font-size: 40px;        
        margin-bottom: 10px;
}
    .contacttitle h2{
        display: none;
    }
    .emailcontact{
        height: 430px;
        width: 100%;
    }
    .emailcontact h1{
        font-size: 20px;
    }
    .emailcontact input{
        width: 90%;
        font-size: 15px;
    }
    .emailcontact textarea{
        width: 90%;
        font-size: 15px;
    }
    .emailcontact button{
        width: 90%;
        font-size: 15px;
    }
    .itemsone{
        margin-right: 10px;
    } 
.ol{
    display: none;
}

}
@media(max-width:370px){
    .techMain{
        top: 10px;
    }
    .profileinfo{
        font-size: 10px;
        margin-bottom: 8px;
        letter-spacing: 0px;
    }
}



/*  */

.squareooo{

    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}