@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100;400;600&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    line-height: 2.2rem !important;
}

body {
    font-family: 'JetBrains Mono', monospace;
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    ul {
        margin-left: 1.5rem;
    }

    h1 {
        margin-bottom: 1rem;
        font-size: 30px;
        border-bottom: 2px solid;
    }

    h2 {
        margin-bottom: 0.3rem;
        margin-top: 1rem;
    }

    article {
        display: flex;
        flex-direction: column;
    }

    header {
        background-color: #f8f8f8;
        padding: 1rem;
        border-bottom: 1px solid #e1e1e1;

        nav {
            padding: 0 50px;
            display: flex;
            justify-content: space-between;
            align-items: center;


            .nav-links {
                a {
                    text-align: center;
                    /*margin: 0 2rem;*/
                    font-size: 18px;
                    text-decoration: none;
                    color: #333;
                    position: relative;
                    padding: 20px;
                    background: none;
                    z-index: 1;
                    transition: all 0.3s ease;
                }

                a::before {
                    content: '';
                    position: absolute;
                    top: 10px;
                    right: 10px;
                    bottom: 10px;
                    left: 10px;
                    z-index: -1;
                    background: #f8f8f8;
                    border-radius: 4px;
                    box-shadow: none;
                    transition: all 0.3s ease;
                }

                a:hover::before {
                    box-shadow: rgba(0, 0, 0, 0.35) 0 5px 20px;
                }
            }
        }
    }

    main {
        margin-left: 10%;
        margin-right: 10%;

        p {
            text-align: justify;

        }

        span.dot {
            font-size: 40px;
            scale: 4;
            color: red;
        }

        section {
            margin-bottom: 4rem;
            margin-top: 4rem;
            display: flex;

            div {
                flex: 3;
            }

            aside {
                &#intro-aside {
                    flex: 1;
                    flex-basis: 250px;
                    max-width: 500px;
                    margin-left: 50px;

                    ul {
                        margin-top: 10px;
                        list-style-type: none;
                        margin-left: 0;

                        li {
                            font-weight: 100;
                            border-bottom: 1px solid;
                            padding: 20px 0;

                            span {
                                font-weight: normal;
                            }
                        }
                    }
                }
            }

            &#intro {
                justify-content: space-between;
            }

            aside#about-me-aside {
                margin-right: 3rem;
            }

            &#projects {
                article {
                    width: 100%;

                    .project-grid {
                        display: flex;
                        justify-content: space-between;

                        figure {
                            text-align: center;
                            transition: transform 0.2s;
                            transform: scale(1);
                            display: flex;
                            flex-direction: column;

                            &:hover {
                                transform: scale(1.1);
                                transition-duration: 0.2s;
                            }

                            figcaption {
                                margin-top: 0.5rem;
                            }

                            img {
                                width: 100%;
                                height: auto;
                            }
                        }

                        a {
                            text-decoration: none;
                            color: inherit;
                        }

                        .center-figure {
                            text-align: center;
                            text-decoration: none;
                            color: inherit;

                            .quicksports {
                                height: 100%;
                                display: flex;
                                align-items: center;
                                flex-direction: column;
                                margin: 0;

                                &:hover {
                                    transform: scale(1.1);
                                    transition-duration: 0.2s;
                                }

                                .quicksports_flex {
                                    height: 100%;
                                    display: flex;
                                    border: 1px solid #e1e1e1;
                                    box-shadow: rgba(0, 0, 0, 0.05) 0 5px 15px;
                                    aspect-ratio: 1 / 1;

                                    img {
                                        width: 100%;
                                        height: auto;
                                    }
                                }
                            }
                        }

                    }
                }
            }


            &#contact {
                display: flex;
                flex-direction: column;

                h2 {
                    margin: 0;
                }

                form {
                    box-shadow: rgba(50, 0, 0, 0.14) 0 10px 36px 0;
                    padding: 2rem 2rem 0;
                    border-style: none;
                    margin-top: 2rem;
                    display: flex;
                    flex-direction: column;

                    label {
                        font-weight: bold;
                        font-size: 36px;
                    }

                    input[type="text"],
                    textarea {
                        border-top-style: none;
                        border-left-style: none;
                        border-right-style: none;
                        font-size: 24px;

                        &:focus {
                            outline: none;
                        }
                    }

                    .top_row {
                        display: flex;
                        flex-direction: row;
                        gap: 2rem;
                    }

                    .input-group {
                        position: relative;
                        box-sizing: border-box;
                        display: flex;
                        flex-direction: column;

                        label {
                            /*transform: translateY(20px);*/
                        }
                    }

                    .input-group-last {
                        transform: translateY(20px);

                        label {
                            transform: translateY(2000px);
                        }

                        textarea {
                            width: 100%;
                            height: 100px;
                        }
                    }

                    .bottom_area {
                        display: flex;
                        justify-content: right;
                        margin: 50px 0;

                        .submit-btn {
                            align-items: center;
                            background: #FFFFFF;
                            border: 0 solid #E2E8F0;
                            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
                            display: inline-flex;
                            font-size: 1rem;
                            font-weight: 700;
                            height: 56px;
                            padding: 24px;
                            border-radius: 8px;
                            cursor: pointer;
                            text-decoration: none;
                            color: black;


                            &:active {
                                /*transform: translateX(-100%)*/
                                box-shadow: 0 0,5px 2px 1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
                            }
                        }
                    }
                }
            }
        }
    }

    footer {
        background-color: #f8f8f8;
        text-align: center;
        padding: 1rem;
        border-top: 1px solid #e1e1e1;
    }
}


/*Media queries for responsiveness*/
@media (max-width: 830px) {
    .nav-links, .project-grid, section {
        flex-direction: column;
    }

    aside {
        padding-top: 20px;
        margin: 0;
    }

    body main section aside#intro-aside {
        margin-left: 0;
    }

    .nav-links {
        display: flex;
        flex-direction: column;
    }

    /*Adjust for mobile layout*/
    .nav-links a, footer p {
        margin: 0.5rem 0;
    }
}


@media (prefers-color-scheme: dark) {
    body {
        header {
            color: black;

        }

        .nav-links {
            color: white;
        }
    }
}
