@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Protest+Riot&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Protest+Revolution&family=Protest+Riot&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

html,
body {
    width: 100%;
    height: 100%;
    cursor: none;
}

.nav {
    width: 100%;
    height: 80px;
    padding: 2vw 5.5vw;
    position: absolute;
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* display: none; */
    transition: all .2s ease;
    /* background-color: red; */
}

.nav:hover {
    color: #adadad;
}



.logo h1 {
    font-size: 1.2vmax;
    font-weight: 500;
    padding-left: 2.2vw;
}

.logo h1:hover {
    color: #525252;
    font-size: 1.5vmax;
    font-family: "Protest Riot", sans-serif;
    font-weight: 400;
    font-style: normal;
    transition: all .2s ease-in-out;
}

.right {
    /* width: 50vw; */
    display: flex;
    align-items: center;
    position: relative;
    /* gap: 5vw; */
    justify-content: center;
    /* padding-right: 5vw; */
    /* transition: all .4s ease; */
}

.right h3 {
    font-size: 1.2vmax;
    font-weight: 500;
    transition: all .3s ease;
    width: 7vw;
}

.right h3:nth-child(1) {
    width: 8vw;
}

.right h3:nth-child(2) {
    width: 6vw;
}

.right h3:hover {
    color: #525252;
    font-size: 1.5vmax;
    font-family: "Protest Riot", sans-serif;
    font-weight: 400;
    font-style: normal;
    transition: all .2s ease-in-out;
}

.right h3 a {
    text-decoration: none;
    color: #000;
    transition: all .2s ease-in-out;
}

.right h3 a:hover {
    color: #525252;
    font-size: 1.5vmax;
    font-family: "Protest Riot", sans-serif;
    font-weight: 400;
    font-style: normal;
    transition: all .2s ease-in-out;
}

.right h3:nth-child(5) {
    display: none;
}

@media (max-width: 600px) {

    body {
        width: 100%;
        height: 100%;
        cursor: initial;
    }

    .nav {
        width: 100%;
        height: 80px;
        padding: 2vw 5.5vmax;
        position: absolute;
        z-index: 9;
        display: flex;
        align-items: center;
        justify-content: space-between;
        /* display: none; */
        transition: all .2s ease;
        /* background-color: red; */
    }

    .logo h1 {
        color: #525252;
        font-size: 2vmax;
        font-family: "Protest Riot", sans-serif;
        font-weight: 400;
        font-style: normal;
        transition: all .2s ease-in-out;
    }
    
    .right {
        /* width: 50vw; */
        display: flex;
        align-items: center;
        position: relative;
        /* gap: 5vw; */
        justify-content: center;
        /* padding-right: 5vw; */
        /* transition: all .4s ease; */
    }
    
    .right h3 {
        color: #525252;
        font-size: 1.5vmax;
        font-family: "Protest Riot", sans-serif;
        font-weight: 400;
        font-style: normal;
        transition: all .2s ease-in-out;
    }
    
    .right h3:nth-child(1) {
        width: 8vw;
    }
    
    .right h3:nth-child(2) {
        width: 6vw;
    }
    
    .right h3 a {
        color: #525252;
        font-size: 1.5vmax;
        font-family: "Protest Riot", sans-serif;
        font-weight: 400;
        font-style: normal;
    }
    
    .right h3 {
        display: none;
    }

    .right h3:nth-child(5) {
        display: block;
        font-size: 3vmax;
    }

}

.page1 {
    width: 100%;
    min-height: 100vh;
    background: linear-gradient(#fff, #000);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.page1 h1 {
    width: 100%;
    height: 30vh;
    padding-left: 5vw;
    display: flex;
    align-items: flex-end;
    font-size: 1.2vw;
    font-weight: 500;
    color: #525252;
    font-size: 1.5vw;
    font-family: "Protest Riot", sans-serif;
    font-weight: 400;
    font-style: normal;
    transition: all .2s ease-in-out;
}

.dash {
    width: 2vw;
    height: 1px;
    background-color: #000;
    display: flex;
    margin: .9vw 0;
    margin-right: 1vw;
}

.page1 .projects1 {
    width: 100%;
    height: 70vh;
    display: flex;
    justify-content: space-between;
    padding: 2vw 5vw;
    gap: 5vw;
}

.page1 .projects1 .lprojects1 {
    width: 40vw;
    height: 35vw;
    border-radius: 10px;
    position: relative;
}

.page1 .projects1 .lprojects1 .vid1 {
    width: 100%;
    height: 65%;
    position: relative;
}

.page1 .projects1 .lprojects1 .vid1 video {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    object-fit: cover;
    filter: blur(5px);
    transition: all .6s ease;
}

.page1 .projects1 .lprojects1 .vid1 video:hover {
    filter: blur(0);
    transform: scale(1.05);
    position: absolute;
    z-index: 9;
}

.projects1 .lprojects1 .btmtext {
    width: 100%;
    height: 35%;
    padding: 1vw 0vw;
}

.projects1 .lprojects1 .btmtext h2 {
    font-size: 2vw;
    font-weight: 500;
}

.projects1:nth-child(4) .lprojects1 .btmtext h2 {
    font-size: 2vw;
    font-weight: 500;
    color: #fff;
}

.projects1 .lprojects1 .btmtext .h3 {
    display: flex;
    gap: 2vw;
    position: relative;
}

.projects1 .lprojects1 .btmtext .h3 h3 {
    font-size: .8vw;
    font-weight: 500;
    color: gray;
    background-color: pink;
    border-radius: 10px;
    padding: .2vw 1vw;
    color: #525252;
    font-size: 1.3vw;
    font-family: "Protest Riot", sans-serif;
    font-weight: 400;
    font-style: normal;
    transition: all .2s ease-in-out;
}

.projects1 .lprojects1 .button1 {
    position: absolute;
    bottom: 10vw;
    right: 6vw;
    cursor: pointer;
}

.button1 i {
    background-color: #fff;
    color: #000;
    position: absolute;
    border-radius: 50px;
    padding: .5vw 1.5vw;
    font-size: 2vw;
}


.button1 i:hover {
    background-color: #000;
    color: #fff;
    transition: all .2s ease;
    transform: scale(1.05);
}

.projects1:nth-child(4) .button1 i:hover {
    background: linear-gradient(white, black);
    color: #fff;
    transition: all .2s ease;
    transform: scale(1.05);
}

.page1 .projects1 .rprojects1 {
    width: 40vw;
    height: 35vw;
    border-radius: 10px;
    position: relative;
}

.page1 .projects1 .rprojects1 .vid1 {
    width: 100%;
    height: 65%;
    position: relative;
}

.page1 .projects1 .rprojects1 .vid1 video {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    object-fit: cover;
    filter: blur(5px);
    transition: all .6s ease;
}

.page1 .projects1 .rprojects1 .vid1 video:hover {
    filter: blur(0);
    transform: scale(1.05);
    position: absolute;
    z-index: 9;
}

.projects1 .rprojects1 .btmtext {
    width: 100%;
    height: 35%;
    padding: 1vw 0vw;
}

.projects1 .rprojects1 .btmtext h2 {
    font-size: 2vw;
    font-weight: 500;
}

.projects1:nth-child(4) .rprojects1 .btmtext h2 {
    font-size: 2vw;
    font-weight: 500;
    color: #fff;
}

.projects1 .rprojects1 .btmtext .h3 {
    display: flex;
    gap: 2vw;
    position: relative;
}

.projects1 .rprojects1 .btmtext .h3 h3 {
    font-size: .8vw;
    font-weight: 500;
    color: gray;
    background-color: pink;
    border-radius: 10px;
    padding: .2vw 1vw;
    color: #525252;
    font-size: 1.3vw;
    font-family: "Protest Riot", sans-serif;
    font-weight: 400;
    font-style: normal;
    transition: all .2s ease-in-out;
}

.projects1 .rprojects1 .button1 {
    position: absolute;
    bottom: 10vw;
    right: 6vw;
    cursor: pointer;
}

.button1 i {
    background-color: #fff;
    color: #000;
    position: absolute;
    border-radius: 50px;
    padding: .5vw 1.5vw;
    font-size: 2vw;
}

.button1 i:hover {
    background-color: #000;
    color: #fff;
    transition: all .2s ease;
}

@media (max-width: 600px) {
    .page1 {
        width: 100%;
        min-height: 100vh;
        background: linear-gradient(#fff, #000);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: relative;
    }
    
    .page1 h1 {
        width: 100%;
        height: 30vh;
        padding-left: 5vw;
        display: flex;
        align-items: flex-end;
        font-size: 1.2vw;
        font-weight: 500;
        color: #525252;
        font-size: 2vmax;
        font-family: "Protest Riot", sans-serif;
        font-weight: 400;
        font-style: normal;
        transition: all .2s ease-in-out;
    }
    
    .dash {
        width: 2vmax;
        height: 1px;
        background-color: #000;
        display: flex;
        margin: 1.4vmax 0;
        margin-right: 1vw;
    }
    
    .page1 .projects1 {
        width: 100%;
        height: 70vh;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 2vw 5vw;
        gap: 5vw;
    }
    
    .page1 .projects1 .lprojects1 {
        width: 40vmax;
        height: 35vmax;
        border-radius: 10px;
        position: relative;
    }
    
    .page1 .projects1 .lprojects1 .vid1 {
        width: 100%;
        height: 65%;
        position: relative;
    }
    
    .page1 .projects1 .lprojects1 .vid1 video {
        width: 100%;
        height: 100%;
        border-radius: 10px;
        object-fit: cover;
        filter: blur(0);
        transition: all .6s ease;
    }
    
    .page1 .projects1 .lprojects1 .vid1 video:hover {
        filter: blur(0);
        transform: scale(1.05);
        position: absolute;
        z-index: 9;
    }
    
    .projects1 .lprojects1 .btmtext {
        width: 100%;
        height: 35%;
        padding: 1vw 0vw;
    }
    
    .projects1 .lprojects1 .btmtext h2 {
        font-size: 2vw;
        font-weight: 500;
    }
    
    .projects1:nth-child(4) .lprojects1 .btmtext h2 {
        font-size: 2vw;
        font-weight: 500;
        color: #fff;
    }
    
    .projects1 .lprojects1 .btmtext .h3 {
        display: flex;
        gap: 2vw;
        position: relative;
    }
    
    .projects1 .lprojects1 .btmtext .h3 h3 {
        font-size: .8vw;
        font-weight: 500;
        color: gray;
        background-color: pink;
        border-radius: 10px;
        padding: .2vw 1vw;
        color: #525252;
        font-size: 1.3vw;
        font-family: "Protest Riot", sans-serif;
        font-weight: 400;
        font-style: normal;
        transition: all .2s ease-in-out;
    }
    
    .projects1 .lprojects1 .button1 {
        position: absolute;
        bottom: 10vw;
        right: 6vw;
        cursor: pointer;
    }
    
    .button1 i {
        background-color: #fff;
        color: #000;
        position: absolute;
        border-radius: 50px;
        padding: .5vw 1.5vw;
        font-size: 2vw;
    }
    
    
    .button1 i:hover {
        background-color: #000;
        color: #fff;
        transition: all .2s ease;
        transform: scale(1.05);
    }
    
    .projects1:nth-child(4) .button1 i:hover {
        background: linear-gradient(white, black);
        color: #fff;
        transition: all .2s ease;
        transform: scale(1.05);
    }
    
    .page1 .projects1 .rprojects1 {
        width: 40vmax;
        height: 35vmax;
        border-radius: 10px;
        position: relative;
    }
    
    .page1 .projects1 .rprojects1 .vid1 {
        width: 100%;
        height: 65%;
        position: relative;
    }
    
    .page1 .projects1 .rprojects1 .vid1 video {
        width: 100%;
        height: 100%;
        border-radius: 10px;
        object-fit: cover;
        filter: blur(0);
        transition: all .6s ease;
    }
    
    .page1 .projects1 .rprojects1 .vid1 video:hover {
        filter: blur(0);
        transform: scale(1.05);
        position: absolute;
        z-index: 9;
    }
    
    .projects1 .rprojects1 .btmtext {
        width: 100%;
        height: 35%;
        padding: 1vw 0vw;
    }
    
    .projects1 .rprojects1 .btmtext h2 {
        font-size: 2vw;
        font-weight: 500;
    }
    
    .projects1:nth-child(4) .rprojects1 .btmtext h2 {
        font-size: 2vw;
        font-weight: 500;
        color: #fff;
    }
    
    .projects1 .rprojects1 .btmtext .h3 {
        display: flex;
        gap: 2vw;
        position: relative;
    }
    
    .projects1 .rprojects1 .btmtext .h3 h3 {
        font-size: .8vw;
        font-weight: 500;
        color: gray;
        background-color: pink;
        border-radius: 10px;
        padding: .2vw 1vw;
        color: #525252;
        font-size: 1.3vw;
        font-family: "Protest Riot", sans-serif;
        font-weight: 400;
        font-style: normal;
        transition: all .2s ease-in-out;
    }
    
    .projects1 .rprojects1 .button1 {
        position: absolute;
        bottom: 10vw;
        right: 6vw;
        cursor: pointer;
    }
    
    .button1 i {
        background-color: #fff;
        color: #000;
        position: absolute;
        border-radius: 50px;
        padding: .5vw 1.5vw;
        font-size: 2vw;
    }
    
    .button1 i:hover {
        background-color: #000;
        color: #fff;
        transition: all .2s ease;
    }
}

.page2 {
    width: 100%;
    height: 100vh;
    background: linear-gradient(black, green);
    display: flex;
    align-items: center;
    justify-content: center;
}

.page2 .contproj {
    width: 60vw;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.page2 .contproj .video {
    display: flex;
    align-items: center;
    justify-content: center;
    /* overflow: hidden; */
    /* border-radius: 10px; */
}

.page2 .contproj .video video {
    width: 45vw;
    height: 25.5vw;
    border-radius: 20px;
    object-fit: cover;
    filter: blur(5px);
    transition: all .6s ease;
    margin-left: 10vw;
}

.page2 .contproj {
    position: relative;
}

.page2 .contproj a {
    text-decoration: none;
    font-size: 2vw;
    color: #000;
    position: absolute;
    bottom: 11vw;
    left: 50vw;
}



.page2 .contproj a:hover {
    color: #fff;
}


.page2 .contproj i {
    background: #fff;
    padding: .6vw 1.5vw;
    border-radius: 20px;
    transition: all 1s ease;
}

.page2 .contproj i:hover {
    background: linear-gradient(to left, black, white);
}

.page2 .contproj .video:hover video {
    transform: scale(1.05);
    filter: blur(0);
}

.contproj .btmtext1 {
    width: 100%;
    margin-left: 20vw;

}

.contproj .btmtext1 h2 {
    color: #fff;
}

.contproj .btmtext1 .h2 {
    display: flex;
    margin-top: .7vw;
    gap: 2vw;
}

.contproj .btmtext1 .h2 h2 {
    background-color: pink;
    border-radius: 10px;
    padding: .3vw 1vw;
    font-size: 1vw;
    display: flex;
    align-items: center;
    cursor: pointer;
    color: #525252;
    font-size: 1.5vw;
    font-family: "Protest Riot", sans-serif;
    font-weight: 400;
    font-style: normal;
    transition: all .2s ease-in-out;
}

.page2 .rightprojborder {
    width: 60vw;
    height: 65vh;
    border-left: 2px solid #7bb2fa;
    /* padding-left: 10vw; */
    margin-left: 15vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page2 .rightprojborder h3 {
    font-size: 2vw;
    color: #7bb2fa;
}

.page3 {
    width: 100%;
    height: 100vh;
    background: linear-gradient(green, black);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5vw;
    position: relative;
    padding: 0 5vw;
    color: #7bb2fa;
}

.page3>h1 {
    font-size: 2vw;
    border-right: 2px solid #7bb2fa;
    height: 75vh;
    display: flex;
    align-items: center;
    width: 100%;
}

.page3 .page3text1 {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.page3 .page3text1 .html1 {
    width: 33vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 5vw;
    line-height: 15vw;
}

.page3 .page3text1 .html1 .animation {
    width: 10vw;
    height: 10vw;
}

.page3 .page3text1 .css1 {
    width: 33vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 5vw;
    line-height: 15vw;
}

.page3 .page3text1 .css1 .animation1 {
    width: 10vw;
    height: 10vw;
}

.page3 .page3text1 .js1 {
    width: 33vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 5vw;
    line-height: 15vw;
}

.page3 .page3text1 .js1 .animation2 {
    width: 10vw;
    height: 10vw;
}

.page3 .page3text1 .html1 .animation3 {
    width: 10vw;
    height: 10vw;
}

.page3 .page3text1 .css1 .animation4 {
    width: 10vw;
    height: 10vw;
}

.page3 .page3text1 .js1 .animation5 {
    width: 10vw;
    height: 10vw;
}

.page4 {
    width: 100%;
    height: 100vh;
    background: linear-gradient(black,rgb(156, 119, 125),black, rgb(3, 3, 105));
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    /* border-radius: 20px; */
    /* border: 1px solid gray; */
    box-shadow: 0 8px 32px 0 rgb(1, 1, 92);
}

.page4 .leftp4 {
    width: 70%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    padding-top: 5vw;
    flex-direction: column;
    padding: 5vw 5vw;
    margin-left: 15vw;;
    text-align: center;
}

.page4 .leftp4 h1 {
    color: transparent;
    background: linear-gradient(to right, #7bb2fa,#7bb2fa, #081b29);
    -webkit-background-clip: text;
    margin-top: 8vw;
    margin-left: 3vw;
    font-family: "Protest Revolution", sans-serif;
  font-weight: 400;
  font-style: normal;

}

.page4 .leftp4 h4 {
    margin-top: 5vw;
    width: 30vw;
    color: transparent;
    background: linear-gradient(to right, #7bb2fa,#7bb2fa, #081b29);
    -webkit-background-clip: text;
    font-size: 1.5vw;
    font-family: "Protest Riot", sans-serif;
    font-weight: 400;
    font-style: normal;
    transition: all .2s ease-in-out;
}
    

.page4 .rightp4 {
    width: 30%;
    height: 80%;
    display: flex;
    align-items: center;
    border-left: 2px solid #7bb2fa;
    justify-content: center;
}

.page4 .rightp4 h1 {
    color: transparent;
    background: linear-gradient(to right, #7bb2fa,#7bb2fa, #081b29);
    -webkit-background-clip: text;
}

.footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: black;
}

.ftop {
    width: 100%;
    background: linear-gradient(pink, white);
    color: #000;
    padding: 3vw 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 3vw;
}

.ftop i {
    font-size: 5vw;
    cursor: pointer;
    color: transparent;
    background: linear-gradient(to right, #7bb2fa,#7bb2fa, #081b29);
    -webkit-background-clip: text;
}

.ftop i:hover {
    animation: movingbacktotop .5s ease;
    
}

.ftop #backtotop {
    cursor: pointer;
    text-transform: uppercase;
}

.ftop h3 {
    color: transparent;
    background: linear-gradient(to right, #7bb2fa,#7bb2fa, #081b29);
    -webkit-background-clip: text;
}

.fbtm {
    color: #fff;
    width: 100%;
    padding: 3vw 5vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(white, black);
    /* border-top: 1px solid black; */
}

.fbleft {
    display: flex;
    align-items: center;
}

.fbleft h3 {
    font-size: 2vw;
}

.fbright {
    display: flex;
    align-items: center;
}

.fbright a {
    font-size: 2vw;
    cursor: pointer;
    text-decoration: none;
    color: #fff;
}

.fbright a:hover {}

@keyframes movingbacktotop {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

canvas {
    display: block;
}

.loader {
    width: 100%;
    height: 100%;
    top: 0;
    position: fixed;
    background-color: #000;
    z-index: 999;
    transition: all .5s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loader h1 {
    color: transparent;
    position: absolute;
    font-size: 4vw;
    background: linear-gradient(to right, orange, red);
    -webkit-background-clip: text;
    opacity: 0;
    animation: animload .6s linear .2s;
}

.loader h1:nth-child(2) {
    animation-delay: .8s;
}

.loader h1:nth-child(3) {
    animation-delay: 1.4s;
}


.loader h1:nth-child(4) {
    animation-delay: 2s;
}

@keyframes animload {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.cursor-dot {
    width: 5px;
    height: 5px;
    background-color: white;
    mix-blend-mode: difference;
}

.cursor-outline {
    width: 30px;
    /* background: linear-gradient(to top right, pink, black); */
    background: white;
    height: 30px;
    mix-blend-mode: difference;
}

.cursor-dot, .cursor-outline {
    position: fixed;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}

@media (max-width: 600px) {
    
    .cursor-dot, .cursor-outline {
        display: none;
    }
}

.comingsoon {
    width: 100%;
    height: 1000vh;
    background: linear-gradient(black, white);
    position: fixed;
    z-index: 1000;
    display: none;
}

.comingsoon h1 {
    position: fixed;
    z-index: 1001;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media (max-width: 600px) {
    .comingsoon {
        width: 100%;
        height: 100%;
        background: linear-gradient(black, white);
        position: fixed;
        z-index: 1000;
        display: block;
    }
    
    .comingsoon h1 {
        position: fixed;
        z-index: 1001;
        font-size: 2vmax;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}