html.login {
    font-size: 16px;
}

body.login {
    margin: 0px;
}

body.login button,
body.login input[type="submit"] {
    color: inherit;
    padding: 2px 5px;
    font: inherit;
    cursor: pointer;
    outline: inherit;
    border: none;
    border-radius: 5px;
}

body.login main {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

body.login .login-box {
    height: auto;
    padding-bottom: 20px;
    width: 400px;
    border-radius: 10px;
    font-family: Arial, Helvetica, sans-serif;
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
    -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    /* Firefox 3.5 - 3.6 */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

body.login .box-content {
    width: 70%;
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    flex-direction: column;
}

body.login .content {
    width: 100%;
}

body.login .title {
    font-family: "Montserrat", "Arial", "Helvetica", sans-serif;
    font-size: 0.9rem;
    color: #006666;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(80, 80, 80, 0.15);
    position: relative;
    text-align: center;
    width: 100%;
}

#kc-locale {
    position: absolute;
    top: -30px;
    right: -50px
}

body.login .powered-by {
    color: #595959;
}

body.login .title h2 {
    margin-bottom: 5px;
}

body.login .title span {
    font-weight: 700;
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.login .logo {
    margin-left: 10px;
    margin-bottom: 3px;
    width: 70px;
}

body.login .one-click-login-title {
    width: 100%;
    text-align: center;
    margin-bottom: 5px;
}

body.login .one-click-login {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin-left: -1%;
    margin-right: -1%;
}

body.login .one-click-login button {
    background-color: #358ca4;
    color: #fff;
    font-size: 0.8rem;
    padding: 10px 20px;
    letter-spacing: 0.3px;
    border-radius: 5px;
    transition: all 0.1s linear;
    width: 48%;
    margin: 1%;
}

body.login .one-click-login .multipleButtons {
    width: 100%;
    margin-top: 10px;
}

body.login .one-click-login button:hover {
    background-color: #5da3b6;
}

body.login .box-content p {
    font-size: 0.7rem;
    color: #797979;
    margin-top: 20px;
}

body.login .sign-in-form {
    width: 100%;
}

body.login .sign-in-form label {
    display: block;
    font-size: 0.6rem;
    font-weight: 700;
    color: #797979;
    padding-bottom: 5px;
    text-transform: uppercase;
}

body.login .sign-in-form input[type=text],
body.login .sign-in-form input[type=password] {
    border: none;
    background-color: #ebebeb;
    height: 30px;
    width: 100%;
    border-radius: 3px;
    padding: 3px 10px;
    box-sizing: border-box;
}

body.login .sign-in-form input:nth-child(2) {
    margin-bottom: 15px;
}

body.login .sign-in-form input:focus {
    outline: none;
}

body.login .rememberMe {
    margin-left: -3px;
}

body.login .rememberMe label {
    display: flex;
    align-items: center;
}

body.login .rememberMe input {
    margin-right: 5px;
}

body.login a {
    color: #9bc400;
    text-decoration: none;
    font-size: 0.6rem;
    display: block;
    text-align: right;
    margin-top: 4px;
}

body.login .sign-in-form button {
    background-color: #006666;
    color: #fff;
    font-size: 0.8rem;
    padding: 10px 20px;
    letter-spacing: 0.3px;
    width: 100%;
    margin: 12px 0px 0px 0px;
    transition: all 0.1s linear;
}

body.login .sign-in-form button:hover {
    background-color: #008080;
}

body.login .additionalOptions {
    display: flex;
    flex-direction: row;
    margin-top: -12px;
}

body.login .additionalOptions .left {
    flex-grow: 1;
}

body.login .additionalOptions .right {
    flex-grow: 1;
}

body.login div.supporter-login {
    position: absolute;
    margin-top: -10px;
    margin-bottom: 2px;
    bottom: 10px;
}

body.login div.supporter-login img {
    margin-left: 3px;
    height: 15px;
}

body.login div.supporter-login a {
    display: flex;
    align-items: center;
    color: #797979;
}

body.login p.separator {
    margin-top: 20px;
    margin-bottom: 25px;
    text-align: center;
}

body.login .alert {
    margin-top: 1em;
    margin-bottom: 0.2em;
    border: none;
    padding: 0;
}

body.login .alert .pficon {
    display: none;
}

#kc-select-try-another-way-form {
    margin-top: 1.3em;
}

a#try-another-way {
    font-size: 0.8rem;
    color: #006666;
}