@font-face {
    font-family: Outfit;
    src: url(assets/font/Outfit-VariableFont_wght.ttf);
}

@keyframes background-scroll {
    0% {
        background-position: 0px 0px;
    }
    100% {
        background-position: -139px 139px;
    }
}

html {
    font-family: Outfit;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

body {
    background-color: #DEDEDE;
    background-image: url(assets/images/pattern.png);
    animation: background-scroll 3s linear infinite;
    margin: 0;
    width: 100%;
    height: 100%;
}

#name-card {
    display: block;
    height: 100vh;
    position: absolute;
    pointer-events: none;
    transition: transform 0.5s ease;
    z-index: 0;
}

nav {
    bottom: 1cm;
    left: 1cm;
    display: flex;
    flex-direction: column;
    mix-blend-mode: difference;
    position: absolute;
    z-index: 2;
}

nav a {
    font-size: 48px;
    font-weight: bold;
    text-decoration: none;
    color: #DEDEDE;
    transition: all 0.5s ease;
}

nav a:hover {
    transform: translateX(1cm);
}

#projects, #about {
    opacity: 0;
    transition: all 0.5s ease;
}

#project-list {
    width: min-content; 
    height: min-content;
    position: absolute;
    right: 12.5vh;
    transform: translateY(1cm);
    transition: all 0.5s ease;
}

#project-list > * {
    display: block;
    margin-bottom: 1cm;
}

.center {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
}

#name-text {
    position: absolute;
    font-size: 5vw;
    top: 16vh;
    transform: translateX(6.5vw);
}

#job-title {
    position: absolute;
    font-size: 3vw;
    top: 31vh;
    transform: translateX(-2vw);
}

#skill-list {
    width: 10vw;
    display: grid;
    grid-template-columns: repeat(3, 9vw);
    grid-auto-rows: 3.3vw;
    gap: 10px;
    position: absolute;
    transform: translateX(4vw);
    top: 46vh;
}

#skill-description {
    position: absolute;
    top: 70vh;
    text-align: center;
    font-size: 1.5vw;
}

#social-list {
    width: min-content;
    display: flex;
    flex-direction: row;
    position: absolute;
    right: 1vw;
    bottom: 1vw;
}

#mobile {
    display: none;
}

@media screen and (max-width: 600px) {
    body {
        background-color: black;
        background-image: url(assets/images/patternb.png);
    }

    #pc {
        display: none;
    }

    #mobile {
        width: 100%;
        display: block;
    }

    #mobile img {
        position: absolute;
        bottom: -40vw;
        left: -40vw;
        width: 165vw;
        transform: rotate(-35deg);
        filter: invert(97%) sepia(0%) saturate(1546%) hue-rotate(192deg) brightness(114%) contrast(74%);
        mix-blend-mode: difference;
        pointer-events: none;
    }

    #mobile-name {
        width: 100vw;
        color: #DEDEDE;
        position: absolute;
        mix-blend-mode: difference;
        right: 0;
        text-align: right;
    }

    #mobile-name h1 {
        position: relative;
        width: 100vw;
        right: 14vw;
        top: -4vh;
        font-size: 7vh;
    }
    
    #mobile-name h2 {
        position: relative;
        width: 60vw;
        right: -35vw;
        top: -10vh;
        font-size: 3vh;
    }

    nav {
        transform: translate(-15px, -6vw);
    }

    nav a {
        font-size: 15vw;
    }

    nav a:hover {
        transform: none;
    }

    #social-list {
        transform: scale(70%);
        transform-origin: left center;
        position: absolute;
        left: 15px;
        bottom: 0;
    }
}