@import url('./formularios.css');
body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 0 6rem;
    
    main {
        display: flex;
        align-items: center;
        justify-content: start;
        position: relative;
        width: 100%;
        align-items: center;
        justify-content: center;
        height: 100dvh;
        text-align: center;
        padding: 0;

        .image {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;

            &::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(255, 255, 255, .5)
            }

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
            }
        }

        .side__acesso {
            position: relative;
            width: 100%;
            max-width: 480px;
            background: var(--white);
            border-radius: 1rem;
            padding: 3rem 1rem;

            h1 {
                color: var(--red);
                padding: 0 0 2rem;
            }
            
            form {
                display: flex;
                flex-direction: column;
                row-gap: 1rem;
                width: 100%;
                margin-bottom: 1rem;

                .custom-input {
                    text-align: start;
                }

                > button {
                    margin: 1rem 0;
                }
            }

            p {
                margin: 1rem 0;
            }

            &:nth-of-type(1), &:nth-of-type(2) {
                a:hover {
                    text-decoration: underline;
                }
            }

            .link-acesso {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                column-gap: .25rem;
                margin-top: 1.5rem;

                p {
                    text-wrap: nowrap;
                    margin: 0;
                }

                a {
                    color: var(--dark-red);
                }
            }

            > a {
                margin: 1rem 0;
                color: var(--gray);
                text-align: center;
            }

            &.cadastro {
                margin: 2rem 0;
            }
        }
        
        
    }
}

@media (min-width: 576px) {
    body {
        margin: 0 auto 0;
        padding: 0;

        main {
            .side__acesso {
                &.cadastro {
                    margin-top: 7rem;
                }
            }
        }
    }
}

@media (max-height: 680px) {
    body {

        main {
            justify-content: start !important;

            .side__acesso {
                margin: 120px auto 3rem !important;
            }
        }

    }
}

@media (min-width: 768px) {
    body {
        margin: 0 auto 0;
        padding: 0;

        main {
            .side__acesso {
                max-width: 400px;
                margin: 0 auto;
            }

            &.cadastro {
                margin-top: 0;
            }
        }
    }
}

@media (min-width: 991px) {
    body {
        main {
            display: grid;
            grid-template-columns: repeat(2, 1fr);

            .image {
                position: fixed;
                top: 0;
                left: 0;
                width: 50vw;
                height: 100%;
                max-height: 100dvh;
                overflow: hidden;

                &::before {
                    content: '';
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background: rgba(255, 255, 255, .5)
                }

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                }
            }

            .side__acesso {
                grid-column-start: 2;
                position: relative;
                width: 100%;
                max-width: 400px;
                background: var(--white);
                border-radius: 1rem;
                padding: 3rem 2rem;

                > a {
                    margin-top: .5rem;
                    color: var(--gray);
                    text-align: center;
                }

                &.cadastro {
                    margin: 7rem auto 2rem;
                }
            }
        }
    }
}