@import url('https://fonts.googleapis.com/css2?family=Hammersmith+One&family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap');

/*
font-family: "Hammersmith One", sans-serif;
font-family: "Merriweather", serif;
*/

body {
    font-family: "Merriweather", serif;
    background: #F2F2F2;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Hammersmith One", sans-serif;
}

.site {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

main {
    .login {
        .site {
            h2 {
                padding: 24px;
                text-align: center;
                font-size: 24px;
                color: #082B47;
            }

            .mensagem-erro {
                padding: 10px;
                background: #FFDDDD;
                margin-bottom: 15px;
                border: 1px solid #B81414;
                color: #B81414;
                border-radius: 10px;
                font-size: 16px;
                width: 50%;
                text-align: center;
            }

            .mensagem-sucesso {
                padding: 10px;
                background: #E8F5E9;
                margin-bottom: 15px;
                border: 1px solid #2E7D32;
                color: #2E7D32;
                border-radius: 10px;
                font-size: 16px;
                width: 50%;
                text-align: center;
            }

            >div {
                background: #082B47;
                text-align: center;
                width: 50%;
                margin: 0 auto;
                border-radius: 25px;
                padding: 16px;

                >img {
                    height: 52px;
                    width: 52px;
                    border: 2px solid #FFFFFF;
                    border-radius: 100px;
                    padding: 10px;
                    margin-bottom: 10px;
                }

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

                    .campo {
                        width: 80%;
                        text-align: left;
                        padding-top: 8px;

                        label {
                            color: #FFFFFF;
                            font-size: 17px;
                            margin-left: 48px;
                        }

                        >div {
                            display: flex;
                            align-items: center;
                            padding: 8px;

                            img {
                                height: 32px;
                                width: 32px;
                                margin-right: 10px;
                            }

                            input {
                                width: 100%;
                                border-radius: 10px;
                                padding: 8px;
                                font-size: 16px;
                                border: none;
                            }

                            input:focus {
                                outline: 2px solid #000000;
                                outline-offset: 2px;
                            }

                            >div {
                                display: flex;
                                background: #FFFFFF;
                                width: 100%;
                                border-radius: 10px;

                                input {
                                    width: 100%;
                                    border-radius: 10px;
                                    padding: 8px;
                                    font-size: 16px;
                                    border: none;
                                }

                                input:focus {
                                    outline: none;
                                }

                                img {
                                    height: 32px;
                                    width: 32px;
                                    margin-right: 10px;
                                    cursor: pointer;
                                }
                            }

                            >div:has(input:focus) {
                                outline: 2px solid #000000;
                                outline-offset: 2px;
                            }
                        }
                    }

                    .botoes {
                        padding-top: 16px;

                        button {
                            font-weight: 600;
                            font-size: 17px;
                            padding: 8px 12px;
                            border: 2px solid #082B47;
                            border-radius: 25px;
                            background: #FFFFFF;
                            color: #082B47;
                            transition: all 0.5s ease-out;
                            width: 100%;
                        }

                        button:hover {
                            background-color: #082B47;
                            color: #FFFFFF;
                            cursor: pointer;
                            border: 2px solid #FFFFFF;
                        }

                        a {
                            display: block;
                            color: #FFFFFF;
                            text-decoration: none;
                            padding-top: 10px;
                            transition: all 0.5s ease-out;
                        }

                        a:hover {
                            text-decoration: underline;
                            color: #949FA6;
                        }
                    }
                }
            }
        }
    }
}

@media (max-width: 1024px) {
    main {
        .login {
            .site {
                >div {
                    width: 70%;
                }
            }
        }
    }
}

@media (max-width: 768px) {
    main {
        .login {
            .site {
                h2 {
                    padding: 20px;
                    font-size: 20px;
                }

                >div {
                    width: 90%;

                    form {
                        button {
                            font-size: 16px;
                        }
                    }
                }
            }
        }
    }
}

@media (max-width: 480px) {
    body {
        min-height: 100vh;
        display: flex;
        flex-direction: column;

        main {
            flex: 1;

            .login {
                .site {
                    h2 {
                        padding: 20px;
                    }

                    >div {
                        width: 100%;
                        margin-bottom: 10px;

                        form {
                            .campo {
                                width: 100%;

                                > div {
                                    img{
                                        width: 30px;
                                        height: 30px;
                                    }

                                    > div {
                                        align-items: center;

                                        img {
                                            width: 30px;
                                            height: 30px;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
