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

html {
    width: 100dvw;
    height: 100dvh;
    font-size: 62.5%;
    font-family: 'Poppins', sans-serif;
}

body {
    width: 100%;
    height: 100%;
    color: white;
    background-color: #18181B;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

button {
    background-color: transparent;
    border: 0;
    cursor: pointer;
}

h1 {
    font-size: 2.7rem;
    text-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.348);
    
    & .h1-highlight {
        color: #7A508F;
        font-size: inherit;
    }
}

p, label {
    font-size: 1.5rem;
}

span {
    font-size: 1.3rem;
}

.title-line {
    width: 15%;
    border: 0.1rem solid #7A508F;
    border-radius: 2rem;
    box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.75);
}

.container {
    width: auto;
    height: 45rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5rem;

    & .container__img {
        width: 28rem;
    }

    & .container__form-container {
        width: 35rem;
        padding: 2rem 2.5rem;
        background-color: #262626;
        border-radius: 1rem;

        & .form {
            width: 70%;
            height: fit-content;
            margin-top: 2.5rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;

            & #input-weight, #input-height {
                -moz-appearance: textfield;

                &::-webkit-inner-spin-button {
                    -webkit-appearance: none;
                }
            }

            & .form__container-input {
                display: flex;
                flex-direction: column;
                gap: 0.5rem;
                
                & .input-style {
                    background-color: #5b5b5b;
                    border-radius: 1.5rem;
                    display: flex;
                    align-items: center;
                    overflow: hidden;

                    & input {
                        width: 75%;
                        background-color: transparent;
                        border: 0;
                        outline: none;
                        color: inherit;
                        padding: 0.7rem 0.7rem 0.7rem 1.2rem;
                    }

                    & span {
                        width: 25%;
                        height: 2.9rem;
                        background-color: #434343;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    }
                }

                & .invalid-field {
                    box-shadow: 0px 0px 8px 0px rgba(255, 0, 0, 0.627);
                }

                & .error-message {
                    visibility: hidden;
                    color: rgb(171, 14, 14);
                    margin-top: 0.3rem;
                }
            }

            & .form-button {
                width: fit-content;
                color: inherit;
                font-family: inherit;
                font-size: 1.7rem;
                background-color: #7A508F;
                padding: 0.7rem 1.7rem;
                border-radius: 1.5rem;
                transition: background-color 300ms ease-in-out;

                &:hover {
                    background-color: #593a68;
                }
            }
        }

        & .form__container-answer {
            display: none;
            margin-top: 2rem;

            & p {
                font-size: 1.6rem;
            }

            & span {
                font-weight: 600;
            }

            & .answer-bmi-highlight {
                color: #7A508F;
                font-size: 1.7rem;
            }
        }
    }
}

.made-by {
    color: #898989;
    font-weight: 600;
    bottom: 0;
    margin-bottom: 1.5rem;
    position: fixed;
    bottom: 0;

    & a {
        color: #7A508F;
        text-decoration: none;
        font-weight: 700;

        &:hover {
            text-decoration: underline;
        }
    }
}

@media screen and (max-width: 685px) {
    .container {
        justify-content: center;

        & .container__img {
            display: none;
        }
    }
}