section.sign {
    min-height: 100vh;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: stretch;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;

    .form {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-align-items: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        max-width: 700px;
        background: #fff;

        .conteudo {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
            -webkit-align-items: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-pack: center;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-animation: cyMMNh 1s;
            animation: cyMMNh 1s;
            max-width: 340px;
            width: 100%;
            padding: 20px 0;

            img {
                max-width: 234px;
            }

            form {
                margin: 80px 0 20px;
                text-align: center;
                width: 100%;

                .form-group {
                    display: flex;
                    flex-direction: column;
                    align-items: baseline;
                    position: relative;

                    label {
                        text-align: left;
                        margin: 10px 0;
                        color: #878c9f;
                        font-weight: 300;
                        font-size: 12px;

                        i {
                            position: absolute;
                            color: #878c9f;
                            padding-right: 12px;
                            font-size: 14px;
                            left: 19px;
                            top: 37px;
                            transition: color 0.2s;
                        }
                    }

                    input {
                        border-radius: 4px;
                        color: #666;
                        border: 2px solid #eee;
                        flex: 1;
                        width: 100%;
                        border-radius: 24px;
                        transition: border-color 0.2s;

                        &.icon {
                            padding: 15px 20px 15px 40px;
                        }

                        &:focus {
                            border: 2px solid var(--azul-1);
                        }
                    }
                }

                h1 {
                    margin-bottom: 24px;
                    font-size: 2em;
                }

                a {
                    color: #444;
                    display: block;
                    margin-top: 24px;
                    -webkit-text-decoration: none;
                    text-decoration: none;
                    -webkit-transition: opacity 0.2s;
                    transition: opacity 0.2s;

                    &:hover {
                        opacity: 0.7;
                    }
                }
            }

            a.btn-togo {
                color: var(--azul-1);
                font-weight: bold;
                margin-top: 74px;
                -webkit-text-decoration: none;
                text-decoration: none;
                -webkit-transition: color 0.2s;
                transition: color 0.2s;
                display: -webkit-box;
                display: -webkit-flex;
                display: -ms-flexbox;
                display: flex;
                -webkit-align-items: center;
                -webkit-box-align: center;
                -ms-flex-align: center;
                align-items: center;
                font-size: 16px;

                svg {
                    margin-right: 10px;
                }
            }

            .social-login {
                display: flex;
                justify-content: space-between;
                width: 100%;

                a {
                    padding: 10px 15px;
                    cursor: pointer;
                    border: none;
                    text-decoration: none;
                    -webkit-transition: all 200ms ease;
                    transition: all 200ms ease;
                    border-radius: 8px;
                    -webkit-appearance: none;
                    -moz-appearance: none;
                    appearance: none;
                    position: relative;
                    font-size: 13px;
                    line-height: 20px;
                    height: 40px;
                    -webkit-box-sizing: border-box;
                    box-sizing: border-box;
                    text-align: center;
                    color: #fff;
                    font-weight: bold;
                    width: 100%;

                    &:last-of-type {
                        margin-left: 5px;
                    }

                    i {
                        font-weight: 900;
                        font-size: 16px;
                    }

                    &.google {
                        background-color: #f44242;
                    }

                    &.facebook {
                        background-color: #4285f4;
                    }
                }
            }

            hr.divider {
                overflow: visible;
                padding: 0;
                margin-bottom: 30px;
                border: none;
                border-top: 1px solid #e0e0e0;
                color: #6e6d7a;
                text-align: center;
                width: 100%;

                &::after {
                    content: "Ou";
                    display: inline-block;
                    position: relative;
                    top: -7px;
                    font: normal 14px/14px "Haas Grot Text R Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
                    padding: 0 16px;
                    background: #fff;
                }
            }
        }
    }

    .background {
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;

        background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
        background-size: 400% 400%;
        animation: gradient 15s ease infinite;
    }
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

@-webkit-keyframes cyMMNh {
    from {
        opacity: 0;
        -webkit-transform: translateX(-50px);
        -ms-transform: translateX(-50px);
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
}
@keyframes cyMMNh {
    from {
        opacity: 0;
        -webkit-transform: translateX(-50px);
        -ms-transform: translateX(-50px);
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }
}

section.sign .form .conteudo form .form-group:focus-within label i {
    color: var(--azul-1);
}
