
* {
    margin: 0;
    padding: 0;
}

body {
    position: relative;
    font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
    color: #fff;
    background-color: #000;
    overflow-x: hidden;
}
html {
    scroll-behavior: smooth;
}

a {
    text-decoration: none;
    color: #fff;
}

/*=================================== Loader ========================================*/
.loader {
    position: fixed;
    background: #000;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 200;
}
.loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 50px;
    font-weight: 900;
    transition: 1s;
}
#loader-text {
    margin-left: 10px;
    color: #A3A3A3;
    opacity: .5;
}

/*================================= Cursor =================================*/

.cursor {
    display: none;
    position: absolute;
    width: 70px;
    height: 70px;
    background-image: radial-gradient(#B300F9,#7C00F9,#D800F8);
    filter: blur(10px);
    opacity: .3;
    box-shadow: 
    0 0 10px #F900BB,
    0 0 10px #F900EC;
    border-radius: 50%;
    z-index: 100;
    pointer-events: none;
    transition: transform 0.3s;
}

@media (min-width:900px) {
    .cursor {
        display: inline;
    }
}

/* ===========================First page ==========================*/
.firstPage {
    position: relative;
    height: 100dvh;
}

.container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.title-wraper {
    display: flex;
    justify-content: left;
    margin-left: 5px;
}

.title-wraper h2{
    font-size: clamp(20px, 4vw, 40px);
}

.frontend {
    position: relative;
    margin-left: 10px;
}
.frontend::selection{
    background-color: #000;
}

.frontend::before {
    content: '';
    background-color: #000000;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    display: inline-block;
    border-left: 1px solid #fff;
    animation: typeWriter 4s steps(12) infinite;
}

@keyframes typeWriter {
    40%, 60% {
        left: 100%;
    }
    100%{
        left: 0%;
    }
}

.developer {
    display: flex;
}

#letter {
    position: relative;
    background-image: linear-gradient(to bottom, #7C00F9, #B300F9, #D800F8, #F900EC, #F900BB);
    -webkit-background-clip: text;
    font-size: clamp(30px, 11vw, 140px);
    text-transform: uppercase;
    font-weight: 700;
    color: #A3A3A3;
    letter-spacing: 5px;
    cursor: default;
}

#letter::after {
    content: '';
    opacity: var(--letterShadow, 0);
    position: absolute;
    bottom: -30%;
    left: 0;
    width: 100%;
    height: 50%;
    background-color: #b200f965;
    filter: blur(20px);
    box-shadow:inset 2px 2px 5px #B300F9,
    2px 2px 20px #7C00F9,
    2px 2px 20px #F900EC;

    transition: .5s ease-out;
    transform: perspective(1em) rotateX(40deg) scale(1.5, .5);
}

#letter::selection{
    background-color: #000;
}

.scrollDown-container {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    height: 80px;
}

.webLinksContainer {
    position: absolute;
    right: 20px;
    bottom: 20px;
    display: flex;
    font-weight: 600;
    justify-content: right;
    align-items: center;
    cursor: pointer;
    font-size: clamp(.8rem, 2vw, 1.2rem);
}

.linkArrow {
    transition: .3s;
    width: clamp(17px, 4vw, 25px);
}

.webLinksContainer:hover .webLinksText {
    text-decoration: underline;
}
.webLinksContainer:hover .linkArrow {
    rotate: 45deg;
}

.scrollDownArrow{
    opacity: .5;
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 130px;
    animation: ArrowUpDown 2s infinite;
}

@keyframes ArrowUpDown {
    0% {
        top: 0px;
    }
    50% {
        top: 10px;
    }

}

/*================================= Second page ===================================*/
.secondPage {
    position: relative;
}

.work-container {
    padding: 10dvh 20px;
}
.title {
    text-align: center;
    font-size: clamp(1rem, 2vw, 1.5rem);
    font-weight: 700;
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px , 1fr));
    max-width: 1000px;
    grid-gap: clamp(20px, 10vw, 100px);
    width: 100%;
    margin: 0 auto;
    padding: 100px 0;
    border-bottom: 1px solid #A3A3A3;
}
.project {
    display: grid;
    grid-gap: 5px;
    justify-items: center;
}
.icon {
    width: 100%;
    transition: .3s;
}




@media screen and (min-width:600px) {

    .menu {
        display: none;
    }
    .menu-widerScreen {
        display: inline;
    }

    .loading {
        font-size: 70px;
    }
    .drop-down-menu {
        display: none;
    }

    nav {
        margin: 0px 2vw;
        padding: 8px 1vw;
    }

    .project:hover .icon {
        width: 110%;
        margin: -5%;
    }
    .projectName {
        text-align: center;
        font-size: clamp(1rem, 1vw, 1.5rem);
        font-weight: 700;
    }
}

@media (min-width: 1500px) {
    .loading {
        font-size: 80px;
    }
}

/* ====================== Project Description PopUp =====================*/
.projectDiscription {
    opacity: 0;
    pointer-events: none;
    display: grid;
    justify-items: center;
    position: fixed;
    top: 50%;
    left: 50%;
    padding: clamp(2px, 2vw, 10px);
    transform: translate(-50%,-50%);
    width: 90vw;
    max-width: 1000px;
    max-height: 95vh;
    background-color: #21212180;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 20px;
    text-align: center;
    border: 1px solid #ffffff50;
    transition: .3s;
    z-index: 200;
}

.popupClose {
    position: absolute;
    width: 4vw;
    max-width: 24px;
    top: clamp(10px, 2vw, 30px);
    right: clamp(10px, 2vw, 30px);
    border-radius: 50%;
    transition: .15s;
}

.popupClose:hover {
    background-color: #a3a3a350;
    padding: 5px;
    margin: -5px;
}

.projectDiscription h1{
    font-size: clamp(1rem, 4vw, 2rem);
    margin-top: 10px;
}

.projectDiscription p {
    font-size: clamp(.8rem, 3vw, 1.2rem);
    padding: clamp(10px, 10vh, 30px);
}

.projectImg {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(10px, 10vh, 30px) 0px;
}

.desktopS {
    width: 60vw;
    max-width: 700px;
    border-radius: 20px;
    border: 2px solid #fff;
}

.phoneS {
    width: 20vw;
    max-width: 233px;
    border-radius: 10px;
    border: 2px solid #fff;
    margin: 30px 0 0 -50px;
}

.checkoutProject {
    font-size: 20px;
    padding: 2px 5px;
    font-weight: 700;
    cursor: pointer;
}

/* ======================about me=================================== */
#aboutme {
    display: grid;
    justify-items: center;
    align-content: center;
    text-align: center;
    min-height: 100dvh;
}

#aboutme h1 {
    font-size: clamp(1.5rem, 5vw, 2rem);
}

#aboutme p {
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    padding: clamp(10px, 10vw, 20px) 10px;
    max-width: 800px;
}



/* Contact Page */
.contact {
    display: grid;
    justify-items: center;
    align-items: center;
    background-color: #fff;
}

.contact h1 {
    font-size: clamp(0.1em, 4vw, 2em);
    padding: clamp(2px, 1vw, 10px);
    letter-spacing: 2px;
    color: #212121;
    background-color: #fff;
}

.contactLinks {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    background-color: #fff;
}

.contactIcon {
    width: clamp(20px, 5vw, 35px);
    height: 100%;
    background-color: #fff;
}

.devDetails {
    text-align: center;
    margin-top: 15px;
}

.devDetails p{
    font-size: clamp(.8em, 2vw, 1em);
    background-color: #fff;
    color: #212121;
}

@media screen and (min-width:900px) {
    .contactLinksContainer {
        display: flex;
        gap:20px;
    }
    .contact {
        display: flex;
        justify-content: space-around;
        align-items: center;
    }
    .tradeMark {
        -webkit-text-stroke: 2px #212121;
    }
    .devDetails {
        margin-top: 0;
    }
}

.email {
    opacity: .6;
}
