body {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #f5576c 75%, #fda085 100%);
    background-size: 400% 400%;
    font-family: "Kumbh Sans", sans-serif;
    font-weight: 300;
    text-align: center;
}

main {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px 10px;
}

.devicon-github-original {
    color: #ffffff;
    font-size: 60px;
    margin-bottom: 30px;
}

.section {
    padding: 70px 0;
}

.container {
    background-color: #ffffff;
    width: 60%;
    max-width: 960px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px;
    border-radius: 30px;
    margin: 0 auto;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 25px 50px -12px;

    header {
        padding: 30px 0;

        h2 {
            font-size: 20px;
            font-weight: 700;
            margin-bottom: 30px;
        }

        form {
            display: flex;
            flex-direction: column;
            align-items: center;

            .input-search {
                width: 400px;
                font-size: 17px;
                padding: 10px;
                margin: 0 auto;
                border: 1px solid grey;
                border-radius: 7px;
                outline-color: hotpink;
            }

            .btn-search {
                cursor: pointer;
                width: 200px;
                font-size: 17px;
                margin: 20px auto 0;
                padding: 10px;
                border-radius: 7px;
                border: 1px solid grey;
                transition: 0.3s ease-in-out;

                &:hover {
                    background-color: hotpink;
                    color: #ffffff;
                    border-color: #ffffff;
                }
            }
        }
    }

    .profile-data {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 40px;

        &.hide {
            display: none;
        }

        .info {
            display: flex;
            flex-wrap: wrap;
            align-items: center;

            img {
                width: 50%;
                border: 10px solid hotpink;
                border-radius: 50%;
            }

            .data {
                width: 50%;
                padding: 40px;

                h1 {
                    font-size: 20px;
                    font-weight: 700;
                    margin-bottom: 15px;
                }

                p {
                    font-size: 15px;
                    font-weight: 400;
                    line-height: 23px;
                    margin-bottom: 25px;
                }

                ul li:not(:last-child) {
                    margin-bottom: 7px;
                }
            }
        }

        .repositories,
        .events {
            h2 {
                text-align: center;
                margin-bottom: 30px;
            }

            p {
                font-size: 18px;
                font-weight: 400;
            }
        }

        .repositories {
            ul {
                display: flex;
                justify-content: center;
                flex-wrap: wrap;

                li {
                    display: block;
                    cursor: pointer;
                    padding: 20px;
                    margin: 20px;
                    border: 1px solid grey;
                    border-radius: 7px;
                    transition: 0.3s ease-in-out;

                    &:hover {
                        background-color: hotpink;

                        a {
                            color: #ffffff;
                        }
                    }

                    a {
                        transition: 0.3s ease-in-out;

                        .repo-description {
                            display: flex;
                            flex-wrap: wrap;
                            justify-content: center;
                            align-items: center;
                            padding-top: 10px;
                            gap: 10px;

                            .info {
                                background-color: #695AC9;
                                color: #ffffff;
                                padding: 5px;
                                border-radius: 7px;
                            }
                        }
                    }
                }
            }
        }

        .events {
            padding-top: 40px;

            ul {
                li {
                    &:not(:last-child) {
                        margin-bottom: 15px;
                    }
                }
            }
        }
    }

    .error-msgs {
        .error-msg {
            color: red;
            font-size: 19px;
            font-weight: 500;
            margin: 10px 0 20px;
        }

        &.hide,
        .hide {
            display: none;
        }
    }
}