@font-face {
    font-family: 'inter';
    src: url('fonts/Inter_28pt-Medium.ttf');
}

@font-face {
    font-family: 'inter-thin';
    src: url('fonts/Inter_24pt-Thin.ttf');
}

@font-face {
    font-family: 'inter-light';
    src: url('fonts/Inter_28pt-Light.ttf');
}

@font-face {
    font-family: 'inter-mi';
    src: url('fonts/Inter_18pt-MediumItalic.ttf');
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100vh;
    width: 100%;
    background-color: #111;
    color: #fff;
    font-family: inter-light;
}

/* navbar styles */
nav {
    height: 10vh;
    width: 88%;
    background-color: #111111;
    position: fixed;
    z-index: 999;
    border-bottom: 1px solid #ffffff00;
    margin-left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

nav .logo {
    height: 10vh;
    width: 14vw;
    margin-left: -3vw;
}

nav .logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-top: 1vh;
}

nav .navigations ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2vw;
}

nav .navigations ul li {
    list-style: none;
}

nav .navigations ul li a {
    color: #fff;
    text-transform: uppercase;
    font-size: 2vh;
    font-weight: 600;
    text-decoration: none;
    transition: all ease-in-out 0.3s;
}

nav .navigations ul li a:hover {
    color: #0DA34E;
}

nav .navigations ul li a button {
    height: 6vh;
    width: 12vw;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: inter;
    background-color: transparent;
    padding-left: 2.5vh;
    border: none;
    cursor: pointer;
}

nav .navigations ul li a button p {
    position: absolute;
    z-index: 9;
    transition: all ease-in-out 0.5s;
    font-size: 2vh;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
}

nav .navigations ul li a button .button-right {
    height: 100%;
    width: 100%;
    background-color: #0DA34E;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 2vh;
    transform-origin: right;
    position: absolute;
    right: 0;
    top: 0;
    transition: width ease-in-out 0.5s;
    border-radius: 50px;
}

nav .navigations ul li a button .button-right i {
    position: absolute;
    font-size: 3vh;
    color: #fff;
    transition: all ease-in-out 0.4s;
}

nav .navigations ul li a button .button-right .transition-to {
    font-weight: 700;
    font-size: 4.5vh;
    transform: translateX(0.8vh);
    opacity: 0;
}

nav .navigations ul li a button:hover p {
    transform: translateX(-0.5vw);
    color: #0DA34E;
}

nav .navigations ul li a button:hover .button-right {
    width: 28%;
}

nav .navigations ul li a button:hover .button-right .transition-to {
    opacity: 1;
}

nav .navigations ul li a button:hover .button-right .transition-from {
    opacity: 0;
}


.page1-wrapper{
    background-color: #fff;
}

/* page 1 styles */
.page1 {
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: #111111;
    border-bottom: 1px solid #ffffff65;
}

.page1 h1 {
    font-size: 12vh;
    text-transform: capitalize;
}

.page1 h1 span {
    /* font-family: inter-mi; */
    color: #ffffff89;
}

.page1 p {
    font-size: 3vh;
    margin-top: 6vh;
}

.intro-line {
    overflow: hidden;
    display: flex;
    gap: 1vh;
}

#typed-text {
    display: inline;
    white-space: nowrap;
    width: max-content;
    color: #ffffff;
    height: fit-content;
}

.typed-cursor {
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    animation: blink 0.7s infinite;
    color: #fff;
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}

.page1 p span {
    color: #0DA34E;
}

/* page 2 styles */

.page2 {
    min-height: 190vh;
    width: 100%;
    margin-top: 20vh;
    border-bottom: 1px dashed;
    background-color: #111111;
}

.about-me .about-me-upper {
    height: 70vh;
    width: 100%;
    /* background-color: red; */
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0 6vw;
}

.about-me .about-me-upper .about-me-upper-left {
    width: 30vw;
    height: 53vh;
    display: flex;
    flex-direction: column;
    gap: 8vh;
    justify-content: center;
    align-items: center;
    position: relative;
}

.about-me .about-me-upper .about-me-upper-left h1 {
    font-size: 10vh;
    font-weight: 400;
    text-transform: capitalize;
    position: absolute;
    top: 0;
    left: 0;
}

.about-me .about-me-upper .about-me-upper-left img {
    width: 30vh;
    height: 30vh;
    object-fit: cover;
    object-position: top;
    position: absolute;
    bottom: 3%;
    right: 33%;
}

.about-me .about-me-upper .about-me-upper-right {
    width: 40vw;
    margin-top: 3vh;
}

.about-me .about-me-upper .about-me-upper-right p {
    font-size: 3.5vh;
    /* font-weight: 100; */
    font-family: inter-light;
    line-height: 4.5vh;
}

.about-me .about-me-lower {
    height: 60vh;
    width: 100%;
    /* background-color: red; */
    padding: 0 6vw;
}

.about-me .about-me-lower .skills-section {
    height: 60vh;
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    gap: 1vh;
    margin-top: 15vh;
}


.about-me .about-me-lower h1 {
    font-size: 6vh;
    font-family: inter-light;
    font-weight: 300;
}

.about-me .about-me-lower p {
    font-size: 3vh;
    margin-top: 1vh;
}

.about-me .about-me-lower p span {
    color: #0DA34E;
}

.about-me .about-me-lower .skills-section .skills-section-upper,
.about-me .about-me-lower .skills-section .skills-section-lower {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1vh;
    /* flex-wrap: wrap; */
}

.about-me .about-me-lower .skills-section .skills {
    background-color: #1f1f1f;
    height: 40vh;
    width: 43.8vw;
    border-radius: 10px;
    padding: 4vh;
    position: relative;
}

.about-me .about-me-lower .skills-section .skills h2 {
    font-size: 3vh;
    font-weight: 700;
}

.about-me .about-me-lower .skills-section .skills i {
    position: absolute;
    top: 4vh;
    right: 4vh;
    font-size: 4vh;
    transition: all ease 0.5s;
}

.about-me .about-me-lower .skills-section .skills .before {
    transform: translate(-2vh, 2vh);
    opacity: 0;
}

.about-me .about-me-lower .skills-section .skills:hover .before {
    transform: translate(0vh, 0vh);
    opacity: 1;
}

.about-me .about-me-lower .skills-section .skills:hover .after {
    transform: translate(2vh, -2vh);
    opacity: 0;
}



.about-me .about-me-lower .skills-section .skills p {
    font-size: 2.3vh;
    line-height: 3vh;
    color: #ffffffd1;
    position: absolute;
    bottom: 4vh;
    width: 90%;
}

/* page 3 styles */
.page3 {
    min-height: 150vh;
    width: 100%;
    padding: 10vh 6vw;
    background-color: #111111;
}

.featured-projects h1 {
    font-size: 10vh;
    font-weight: 400;
}

.featured-projects p {
    width: 70%;
    font-size: 3vh;
    margin-top: 5vh;
}

.featured-projects .featured-projects-hero {
    height: 85vh;
    width: 100%;
    margin-top: 10vh;
    padding-top: 2vh;
    border-top: 1px solid #ffffff65;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.featured-projects-hero .hero-section {
    height: 100%;
    width: 30%;
}

.featured-projects-hero .project-card {
    height: 100%;
    width: 35%;
    padding: 2vh 0;
    position: relative;
    transition: all ease 0.4s;
}

.featured-projects-hero .aiml {
    display: none;
}

.featured-projects-hero .project-card h1 {
    font-size: 4.8vh;
    font-family: inter;
}

.featured-projects-hero .project-card p {
    color: #ffffffb7;
    font-size: 2.5vh;
    width: 98%;
    position: absolute;
    top: 20vh;
    transition: all ease-in-out 0.4s;
}

.featured-projects-hero .project-card img {
    height: 30vh;
    width: 100%;
    object-fit: cover;
    position: absolute;
    bottom: 0;
    transition: height ease-in-out 0.4s;
}

.featured-projects-hero .project-card .hover-video {
    height: 30vh;
    width: 100%;
    object-fit: cover;
    position: absolute;
    bottom: 0;
    transition: height ease-in-out 0.4s;
}


.featured-projects-hero .project-card:hover img {
    height: 60vh;
}


.featured-projects-hero .filter-buttons {
    width: 25%;
    font-size: 2.3vh;
}

.featured-projects-hero .filter-buttons a {
    width: 80%;
    padding: 2vh 0;
    display: block;
    background-color: transparent;
    border-bottom: 2px solid #ffffff9b;
    font-family: inter;
    font-weight: 500;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    color: #fff;
}

.featured-projects-hero .filter-buttons .button {
    height: 8vh;
    width: 80%;
    background-color: #0DA34E;
    border: none;
    border-radius: 50px;
    margin-top: 10vh;
    display: flex;
    align-items: center;
    justify-content: center;
    /* transition: all ease-in-out 0.4s; */
}

.featured-projects-hero .filter-buttons .button .button-text {
    /* background-color: yellow; */
    height: 3vh;
    width: 60%;
    overflow: hidden;
    letter-spacing: -2px;
    will-change: transform, opacity;
}

.featured-projects-hero .filter-buttons .button .button-text .button-text-upper {
    /* background-color: red; */
    height: 2.5vh;
    margin-top: 1%;
}

.featured-projects-hero .filter-buttons .button .button-text p {
    font-size: 2.2vh;
    width: fit-content;
    display: inline-flex;
    margin-top: -98%;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.featured-projects-hero .filter-buttons .button .button-text-lower {
    pointer-events: none;
}

.featured-projects-hero .filter-buttons .button .button-arrow {
    position: relative;
}

.featured-projects-hero .filter-buttons .button .button-arrow i {
    font-size: 3vh;
    position: absolute;
    transition: all ease-in-out 0.3s;
}

.featured-projects-hero .filter-buttons .button .button-arrow .before {
    opacity: 1;
    transform: translate(0vh, -1.5vh);
}

.featured-projects-hero .filter-buttons .button .button-arrow .after {
    opacity: 0;
    transform: translate(-2.5vh, 0.5vh);
}

.featured-projects-hero .filter-buttons .button:hover .before {
    transform: translate(1.5vh, -2.5vh);
    opacity: 0;
}

.featured-projects-hero .filter-buttons .button:hover .after {
    transform: translate(0.5vh, -1.5vh);
    opacity: 1;
}


/* page 4 styles */
.page4 {
    min-height: 200vh;
    width: 100%;
    padding: 6vw;
    background-color: #111111;
}

.page4-header {
    height: 40vh;
    width: 72.5%;
    margin-left: 100%;
    transform: translateX(-100%);
}

.page4 .page4-header h1 {
    font-size: 10vh;
    font-weight: 400;
}

.page4 .page4-header p {
    font-size: 3vh;
}

.page4-hero {
    border-top: 1px solid #ffffff65;
    border-bottom: 1px solid #ffffff65;
    padding-top: 8vh;
}

.page4-hero .sections {
    height: max-content;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.page4-hero .sections:first-child .hero-left {
    padding-top: 2vh;
}

.page4-hero .sections .hero-left {
    width: 30%;
}

.page4-hero .sections .hero-right {
    width: 80%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.page4-hero .sections .hero-right .elem {
    height: 100%;
    width: 100%;
    border-top: 1px solid #ffffff97;
    padding: 5vh 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3vh;
    color: #fff;
    text-decoration: none;
    position: relative;
    overflow: hidden;
}

.page4-hero .sections .hero-right .elem::before {
    content: "";
    height: 100%;
    width: 100%;
    background-color: #ffffff1a;
    position: absolute;
    transform: translateY(-100%);
    opacity: 0;
    transition: all ease-in-out 0.3s;
}


.page4-hero .sections .hero-right .elem:hover::before {
    transform: translateY(0);
    opacity: 1;
}

.page4-hero .one .hero-right .elem {
    border: none;
    padding-top: 2vh;
}

.page4-hero .one .hero-right .elem::before {
    content: "";
    height: 120%;
}

.page4-hero .sections .hero-left h1 {
    font-weight: 300;
    color: #0DA34E;
}

.page4-hero .sections .hero-right .elem h2 {
    transition: all ease-in-out 0.4s;
    font-weight: 600;
}

.page4-hero .sections .hero-right .elem p {
    width: 80%;
    transition: all ease-in-out 0.4s;
}

.page4-hero .sections .hero-right .elem i {
    position: absolute;
    top: 20%;
    right: 0;
    font-size: 4vh;
    transition: all ease-in-out 0.4s;
}

.page4-hero .sections .hero-right .elem .after {
    transform: translate(-1.5vh, 1.5vh);
    opacity: 0;
}

.page4-hero .sections .hero-right .elem:hover .after {
    transform: translate(0vh, 0vh);
    opacity: 1;
}

.page4-hero .sections .hero-right .elem:hover .before {
    transform: translate(1.5vh, -1.5vh);
    opacity: 0;
}

.page4-hero .sections .hero-right .elem:hover h2 {
    padding-left: 1vw;
}

.page4-hero .sections .hero-right .elem:hover p {
    padding-left: 1vw;
}

.page4-hero .one .hero-right .elem i {
    position: absolute;
    top: 0%;
    right: 0;
}

.page4-hero .sections .hero-left h1 {
    margin-top: 4vh;
}

.page4-hero .one .hero-left h1 {
    margin-top: -1.5vh;
}

/* page 5 styles */
.page5 {
    min-height: 100vh;
    width: 100%;
    position: relative;
    background-color: #111111;
}

.page5 .contact-header h1 {
    padding-left: 6vw;
    font-size: 10vh;
    font-weight: 400;
}

.page5 .contact-header p {
    font-size: 3vh;
    padding-left: 6vw;
    width: 75%;
}

.page5>h3 {
    margin-top: 13vh;
    position: absolute;
    margin-left: 50%;
    transform: translateX(-50%);
    font-weight: 300;
    font-size: 3vh;
}

.page5 .contact-button {
    height: 25vh;
    width: 60%;
    background-color: #0DA34E;
    margin-top: 20vh;
    margin-left: 50%;
    transform: translateX(-50%);
    position: relative;
    border-radius: 10px;
    box-shadow: inset 10px 10px 50px #ffffff5b, inset -10px -10px 50px #ffffff5b;
    border: none;
}

.page5 .contact-button a{
    height: 50%;
    width: 90%;
    /* background-color: red; */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    overflow: hidden;
    text-decoration: none;
}

.page5 .contact-button a .text{
    display: flex;
    position: absolute;
    align-items: center;
    justify-content: center;
}

.page5 .contact-button a .text p{
    font-size: 15vh;
    text-transform: uppercase;
    color: #fff;
}

.page5 .contact-button a .button-text-lower{
    /* color: yellow; */
    margin-top: 24vh;
}

.page5 .contact-button a .text .space{
    width: 4vh;
}

.cards-container{
    height: 10vh;
    width: 100%;
    margin-top: 10vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cards-container .card{
    height: 50vh;
    width: 30%;
    border-radius: 10px;
    padding: 1%;
    background-color: #ffffff;
    margin-top: 25%;
}

.cards-container #card1{
    transform: rotate(-8deg);
}

.cards-container #card2{
    transform: rotate(5deg);
}

.cards-container #card3{
    transform: rotate(-10deg);
}

.cards-container .card img{
    height: 90%;
    width: 100%;
    object-fit: cover;
    border-radius: 10px;

}

footer{
    position: absolute;
    width: 100%;
    height: 5vh;
    bottom: 0;
    z-index: 99;
    background-color: #111111;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 1vh;
    border-top: 1px solid #ffffff65;
}



@media (max-width:1200px) {
    nav .navigations ul #nav-button button{
        width: 15vw;
    }

    .page1 .intro-line{
        width: 80%;
    }

    .page2 .about-me-lower .skills-section{
        /* background-color: #0DA34E; */
        display: flex;
        flex-direction: row;
    }

    .page3 .featured-projects-hero .project-card p{
        font-size: 1rem;
    }

    .page3 .featured-projects-hero .filter-buttons .button{
        font-size: 0.5vw;
        padding: 0.5vw 0.2vw;
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text-upper{
        top: 50%;
        position: absolute;
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text-lower{
        top: 130%;
        position: absolute;
    }

    .page4 .page4-header p{
        font-size: 1.2rem;
    }

    .page5 .contact-button {
        width: 80%;
    }
}

@media (max-width: 1100px) {
    nav .navigations ul #nav-button button{
        width: 17vw;
    }

    .about-me .about-me-upper p{
        scale: 0.8;
        width: 60vw;
        margin-left: -16vw;
        margin-top: 5vh;
    }

    .about-me-lower .skills-section  {
        display: flex;
        flex-wrap: wrap;
    }

    .page3 .featured-projects-hero .filter-buttons .button{
        padding: 1vh;
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-arrow{
        display: none;
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text{
        /* background-color: red; */
        width: 100%;
        text-align: center;
        
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text-upper{
        position: absolute;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text-lower{
        position: absolute;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

     .page4 .page4-header p{
        font-size: 1rem;
    }
}

@media (max-width: 1000px) {
    nav{
        width: 100%;
        padding: 0 2vw;
    }

    nav .navigations ul #nav-button button{
        width: 19vw;
    }

    .about-me .about-me-upper h1{
        width: max-content;
    }

    .about-me .about-me-upper p{
        scale: 0.8;
        width: 60vw;
        margin-left: -16vw;
        margin-top: 5vh;
    }

    .about-me .about-me-upper img{
        /* scale: 0.8; */
    }

    .about-me-lower .skills-section  {
        display: flex;
        flex-wrap: wrap;
    }

    .page3 .featured-projects-hero .filter-buttons .button{
        padding: 1vh;
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-arrow{
        display: none;
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text{
        /* background-color: red; */
        width: 100%;
        text-align: center;
        
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text-upper{
        position: absolute;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text-lower{
        position: absolute;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

     .page4 .page4-header p{
        font-size: 1rem;
    }

    .contact-me{
        overflow: hidden;
        height: max-content;
    }

    .contact-me .contact-button{
        margin-left: 50%;
        transform: translateX(-50%);
        width: 90%;
    }

}

@media (max-width: 930px) {
    nav .navigations ul #nav-button button{
        width: 19vw;
    }

    .about-me-upper img{
        scale: 0.8;
    }

    .about-me .about-me-upper p{
        scale: 0.8;
        width: 60vw;
        margin-left: -16vw;
        margin-top: 5vh;
    }

    .about-me-lower .skills-section  {
        display: flex;
        flex-wrap: wrap;
    }

    .page3 .featured-projects-hero .filter-buttons .button{
        padding: 1vh;
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-arrow{
        display: none;
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text{
        /* background-color: red; */
        width: 100%;
        text-align: center;
        
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text-upper{
        position: absolute;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

    .page3 .featured-projects-hero .filter-buttons .button .button-text-lower{
        position: absolute;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

    .page3 .featured-projects-hero .project-card h1{
        font-size: 3.5vh;
    }

    .page3 .featured-projects-hero .project-card p{
        margin-top: 0vh;
    }

    .page3 .featured-projects-hero .project-card:hover img{
        height: 70vh;
    }

     .page4 .page4-header p{
        font-size: 1rem;
    }
}