html, body, main {
    min-height: 100vh;
}

    body main {
        display: flex;
        flex-direction: column;
    }

        body main header {
            background-color: #fff;
            height: 80px;
            display: flex;
            align-items: center;
            padding: 0 20px;
        }

            body main header .logo {
                height: 90%;
            }

                body main header .logo img {
                    height: 100%;
                }

            body main header .text {
                margin-left: 20px;
                color: #3E4F59;
                display: flex;
                flex-direction: column;
            }

                body main header .text h3 {
                    margin: 0;
                    font-size: 18px;
                    font-weight: 600;
                }

                body main header .text span {
                    font-weight: 500;
                }

        body main .page {
            flex-grow: 1;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
        }

            body main .page .container .login-box {
                border-radius: 8px;
                background-color: #D9E2E8;
                max-width: 500px;
                padding: 40px;
                margin: 0 auto;
            }

@media (max-width: 700px) {
    body main .page .container .login-box {
        margin-top: 20px;
    }
}

body main .page .container .login-box .login-box-title {
    text-align: center;
    margin-bottom: 30px;
}

    body main .page .container .login-box .login-box-title h3 {
        margin: 0;
        font-size: 20px;
    }

        body main .page .container .login-box .login-box-title h3 b {
            display: block;
        }

body main .page .container .login-box .form-groups .form-group .form-control {
    height: 50px;
    padding: 0 20px;
}

body main .page .container .login-box .form-groups .form-group:not(:last-child) {
    margin-bottom: 20px;
}

body main .page .container .login-box .login-controls {
    margin: 20px 0 30px;
    display: flex;
    font-size: 13px;
}

    body main .page .container .login-box .login-controls .form-check input {
        border: none;
    }

    body main .page .container .login-box .login-controls a {
        margin-left: auto;
        text-decoration: none;
        font-weight: 500;
    }

body main .page .container .login-box .btn {
    width: 100%;
    height: 50px;
    text-align: center;
    justify-content: center;
}

body main .page .container .login-box .or-button {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

    body main .page .container .login-box .or-button span {
        color: #1E88E5;
        text-transform: uppercase;
        font-size: 13px;
        font-weight: 500;
    }

    body main .page .container .login-box .or-button .btn {
        margin-top: 15px;
    }

body main .page .container .developed-by {
    margin-top: 30px;
    text-align: center;
    color: #8FA1AA;
    font-size: 13px;
}

body main .page .container .login-box .message-error {
    margin: 10px -1px;
    color: red;
    font-weight: bold;
}