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

::-webkit-scrollbar {
    display: none;
}

:root {
    color-scheme: dark light;
    --dark: #0c0c0c;
    --light: #f5f5f5;
    --greenish: #071f07;
    --background: linear-gradient(125deg, #000, #01193b);
    --item_background: rgba(3, 6, 17, 0.308);
    --glow: 0 0 10px #b6eada;
}

.theme {
    background: linear-gradient(125deg, var(--dark) 40%, var(--greenish));
    color: var(--light);
}

body {
    font-family: 'Montserrat',
        system-ui,
        Avenir,
        Helvetica,
        Arial,
        sans-serif;
    transition: 0.3s;
}

header {
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
    height: 100vh;

    main {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        padding: 2rem;
        margin-top: -5vh;

        section {
            h1 {
                font-size: 2rem;
                font-weight: 600;
            }

            p {
                font-size: 1rem;
                font-weight: 300;
                margin-top: 1rem;
            }
        }

        section.left {
            .image {
                img {
                    width: 40vh;
                    height: 40vh;
                    border-radius: 50%;
                    object-fit: cover;
                    box-shadow: 0 0 10px #ffffff4f;
                }
            }
        }

        section.right {
            .title {
                h1 {
                    font-size: 4rem;
                    font-weight: 100;
                }

                p {
                    font-size: 1.8rem;
                    font-weight: 200;
                    margin-top: 1rem;
                }
            }

            .links {
                display: flex;
                justify-content: start;
                gap: 1rem;
                margin-top: 1.2rem;

                a {
                    text-decoration: none;

                    img {
                        transition: 0.25s;
                        filter: invert(25%) sepia(0%) saturate(0%) hue-rotate(161deg) brightness(98%) contrast(98%);
                        width: 2.8rem;
                    }
                }

                a:hover img {
                    filter: invert(1) sepia(1%) saturate(212%) hue-rotate(314deg) brightness(97%) contrast(89%);
                }
            }
        }
    }

    .arrow {
        position: absolute;
        bottom: 2rem;
        left: 50%;
        transform: translateX(-50%);
        animation: arrow 2s infinite;

        img {
            width: 2rem;
            cursor: pointer;
            filter: invert(1);
        }
    }
}

.main {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 4rem;

    section.about,
    section.projects,
    section.skills,
    section.friends {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: start;
        width: 100%;
        margin-bottom: 40vh;

        .left {
            display: flex;
            flex-direction: column;
            width: 100%;
            padding: 1rem;
            height: 100%;

            h2 {
                font-size: 2.5rem;
                font-weight: 100;
            }

            p {
                font-size: 1.5rem;
                font-weight: 200;
                margin-top: 1rem;
            }
        }

        .right {
            display: flex;
            justify-content: right;
            align-items: center;
            flex-direction: column;
            width: 100%;
            padding: 1rem;
            height: 100%;

            .img {
                box-shadow: 0 0 10px #ffffff4f;
                background: url("../files/sneg.jpg");
                background-size: cover;
                background-position: center;
                width: 100%;

            }
        }
    }
}

.skills {
    .right {
        div {
            p {
                font-size: 1rem;
                font-weight: 200;
                margin-top: 1rem;
                text-align: center;
            }

            ul {
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: row;
                gap: 1rem;
                flex-wrap: wrap;
                width: 100%;
                padding: 1rem;

                li {
                    list-style: none;
                    padding: 0.8rem 1rem;
                    border-radius: 0.8rem;
                    background: #ffffff2c;
                    font-size: 1rem;
                    display: flex;
                    align-items: center;

                    img {
                        transition: 0.3s;
                        width: 1.5rem;
                        margin-right: 0.5rem;
                    }

                }
            }
        }
    }
}

.dropdown {
    flex-direction: row !important;

    ul {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        width: 100%;

        li {
            list-style: none;
            padding: 0.8rem 1rem;
            border-radius: 0.8rem;
            background: #ffffff2c;
            font-size: 1rem;
            font-weight: 250;
            display: flex;
            align-items: flex-start !important;
            flex-direction: column;

            .liTitle {
                display: flex;
                justify-content: left;
                align-items: center;
                gap: 0.5rem;
                width: 100%;
                cursor: pointer;

                img {
                    filter: invert(1);
                    transition: 0.3s;
                    width: 1.5rem;
                    margin-right: 0.5rem;
                    box-shadow: none;
                }

                .langs {
                    display: flex;
                    align-self: center;
                    margin-left: auto;

                    img {
                        width: 1.5rem;
                        filter: invert(0);
                    }
                }
            }

            .liContents {
                height: 0;
                overflow: hidden;
                transition: 0.3s;
                display: flex;
                flex-direction: column;
                gap: 0.8rem;
                margin-left: 2.5rem;

                p {
                    font-size: 1.2rem;
                    font-weight: 200;
                    margin-top: 1rem;
                }

                span{
                    display: flex;
                    flex-direction: row;
                    gap: 1rem;
                }

                a {
                    text-decoration: none;
                    color: var(--light);
                    font-size: 1rem;
                    font-weight: 200;
                    transition: 0.3s;
                    gap: 0.4rem;
                    display: flex;
                    align-items: center;
                    gap: 0.5rem;
                    background: #030e003f;
                    padding: 0.8rem;
                    border-radius: 1.4rem;

                    img {
                        width: 2rem;
                    }
                }
            }
        }
    }
}

.friends {
    .right {
        ul {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            gap: 1rem;

            li {
                list-style: none;
                display: flex;
                align-items: flex-start !important;
                flex-direction: row;
                gap: 0.5rem;
                width: 40rem;
                padding: 0.8rem 1rem;
                border-radius: 0.8rem;
                background: #ffffff2c;
                cursor: pointer;

                a {
                    font-size: 1rem;
                    font-weight: 250;
                    text-decoration: none;
                    color: var(--light);
                    transition: 0.3s;
                    width: 100%;
                }

                p {
                    font-size: 1rem;
                    font-weight: 200;
                    width: 100%;
                    text-align: right;
                }
            }
        }
    }
}

.top {
    position: fixed;
    bottom: 40px;
    right: 40px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn .3s ease-in-out;

    a {
        height: 100%;
        width: 100%;

        img {
            width: 100%;
            height: 100%;
            filter: invert(1);
        }
    }
}

footer {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 10vh;
    color: var(--light);
    font-size: 1rem;
    font-weight: 200;
    gap: 1rem;

    a {
        text-decoration: none;
        color: var(--light);
        font-weight: 300;
    }
}

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

    100% {
        opacity: 1;
    }
}


@keyframes arrow {
    0% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(1rem);
    }

    100% {
        transform: translateX(-50%) translateY(0);
    }
}

@media screen and (max-width: 1024px) {
    header {
        main {
            flex-direction: column;
            text-align: center;

            section.left {
                .image {
                    img {
                        width: 30vh;
                        height: 30vh;
                    }
                }
            }

            section.right {
                .title {
                    margin-top: 2rem;

                    h1 {
                        font-size: 3rem;
                    }

                    p {
                        font-size: 1.5rem;
                    }
                }

                .links {
                    justify-content: center;

                    a {
                        img {
                            width: 2.5rem;
                        }
                    }
                }
            }
        }
    }

    .main {
        padding: 1rem;

        section.about,
        section.projects,
        section.skills,
        section.friends {
            flex-direction: column;
            gap: 2rem;
            margin-bottom: 5rem;

            .left,
            .right {
                width: 100%;

                h2 {
                    font-size: 2rem;
                }

                p {
                    font-size: 1.2rem;
                }
            }

            .right {
                .img {
                    height: 30vh;
                }
            }
        }
    }

    .skills {
        .right {
            div {
                ul {
                    li {
                        padding: 0.5rem 0.8rem;
                        font-size: 1rem;

                        img {
                            width: 1.2rem;
                        }
                    }
                }
            }
        }
    }

    .dropdown {
        ul {
            li {
                .liTitle {
                    h2 {
                        font-size: 1.2rem !important;
                    }

                    img {
                        width: 1rem;
                    }

                    .langs {
                        flex-wrap: wrap;
                        justify-content: center;
                        gap: 0.5rem;
                    }
                }

                .liContents {
                    margin-left: 2rem;

                    p {
                        font-size: 1rem !important;
                    }

                    a {
                        font-size: 0.8rem;

                        img {
                            width: 1.5rem;
                        }
                    }
                }
            }
        }
    }

    .friends {
        .right {
            ul {
                width: 100%;

                li {
                    font-size: 0.8rem;
                    width: 100%;
                    display: flex;
                    align-items: center !important;

                    a {
                        width: 100%;
                        font-weight: 400;
                    }

                    p {
                        font-size: 1rem !important;
                    }
                }
            }
        }
    }
}