@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 500;
    src: local('Poppins Regular'), local('Poppins-Regular'),
    url('fonts/Poppins/Poppins-Regular.ttf') format('truetype');
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    src: local('Poppins SemiBold'), local('Poppins-SemiBold'),
    url('fonts/Poppins/Poppins-SemiBold.ttf') format('truetype');
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
    src: local('Poppins Bold'), local('Poppins-Bold'),
    url('fonts/Poppins/Poppins-Bold.ttf') format('truetype');
}

body {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
}

a {
    color: #337ab7;
}
a:hover,
a:active,
a:focus {
    color: #23527c;
    outline: 0;
    text-decoration: none;
}

.modal-content {
    border-radius: 6px;
}
.modal-content .modal-header {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.modal-content .btn {
    border: 2px solid transparent;
    border-radius: 5px;
    box-shadow: none;
    font-weight: 600;
    outline: none;
}
.modal-content .btn:hover,
.modal-content .btn:active {
    background: transparent;
    border-color: #000;
    color: #000;
}

.modal-content .btn-default {
    background: #4b931a;
    color: #fff;
}

.hide_on_narrow {
    display: none;
}
.hide_on_wide {
    display: block;
}

#otp-new, #otp-block, #channel-block {
    display: none;
}

.hint-container {
    max-width: 350px;
}

.b-main .container-fluid.auth {
    max-width: none;
    padding: 0;
    font-size: 16px;
    height: 100%;
}

#auth {
    background: transparent;
    padding-right: 0;
}

#auth .b-form {
    position: relative;
    background: #fff;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 7vh 0 18vh 0;
    height: 100vh;
    display: table-cell;
    vertical-align: middle;
    width: 1%;
}
#auth .b-form h3 {
    color: #000;
    font-weight: 700;
    font-size: 170%;
    text-align: center;
    margin: 70px auto 5px auto;
    max-width: 75%;
}
#auth .b-form h4 {
    font-weight: 600;
    font-size: 120%;
    margin-top: 70px;
    text-align: center;
}
#auth .logo {
    text-align: center;
}
#auth .logo img {
    display: none;
}
#auth .logo img.sm-screen {
    display: inline;
}
#auth .result-error {
    display: none;
    color: #f00000;
    margin: 30px auto 0;
    text-align: center;
    width: 75%;
}
#auth .result-error a {
    color: #993333;
    text-decoration: underline;
}
#auth .result-error em {
    color: #339933;
    font-style: normal;
}
#auth .result-success {
    color: #008000;
    text-align: center;
    margin: 10px 0 25px 0;
}
#auth .b-form .btn {
    background: #5bb254;
    border: 2px solid #5bb254;
    border-radius: 5px;
    color: #fff;
    font-weight: 600;
    font-size: 113%;
    padding: 12px;
    width: 100%;
    outline: none;
}
#auth .b-form .btn:hover,
#auth .b-form .btn:active {
    color: #000;
    text-decoration: none;
    background: transparent;
    border-color: #000;
    box-shadow: none;
}
#auth .width-block {
    padding-top: 10px;
    width: 75%;
    max-width: 400px;
    margin: 0 auto;
}
#auth .width-block .result-error {
    width: 100%;
}
#auth form .form-group {
    position: relative;
    margin: 20px 0 0 0;
}
#auth form .text-input,
#auth form select {
    background-color: #fff;
    border: 1px solid #d6d6d6;
    border-radius: 5px;
    padding: 12px;
    width: 100%;
    height: 54px;
    outline: none;
}
#auth form .input-with-placeholder .text-input,
#auth form .input-with-placeholder select {
    padding: 8px 8px 0 13px;
}
#auth form .text-input:hover:not(:disabled),
#auth form .text-input:focus,
#auth form select:hover:not(:disabled),
#auth form select:focus{
    border-color: rgba(193, 228, 191, 1);
}
#auth form .text-input::-moz-placeholder {
    color: #999;
    opacity: 1;
}
#auth form .text-input:-ms-input-placeholder {
    color: #999;
    opacity: 1;
}
#auth form .text-input::-ms-input-placeholder {
    color: #999;
    opacity: 1;
}
#auth form .text-input::-webkit-input-placeholder {
    color: #999;
    opacity: 1;
}
#auth form .text-input::placeholder {
    color: #999;
    opacity: 1;
}
#auth form .has-error .text-input {
    border-color: #bf2e2e;
}
#auth form .has-error .popover  {
    background: #c90101 !important;
    color: #fff;
}
#auth form .has-error .popover.top .arrow:after {
    border-top-color: #c90101;
}
#auth form .has-error .popover.bottom .arrow:after {
    border-bottom-color: #c90101;
}
#auth form .has-error .popover.left .arrow:after {
    border-left-color: #c90101;
}
#auth form .has-error .popover.right .arrow:after {
    border-right-color: #c90101;
}
#auth form #username {
    background: url(/images/login--mail.png) no-repeat 16px center #fff;
    background-size: 20px auto;
    padding-left: 50px;
    margin-bottom: 10px;
}
#auth form #password,
#auth form #otp-password {
    background: url(/images/login--password.png) no-repeat 16px center #fff;
    background-size: 20px auto;
    padding-left: 50px;
}
#auth form .roundbutton {
    background-color: #5bb254;
}
#auth form .roundbutton.pwd-hint {
    position: absolute;
    right: -38px;
    top: 40px;
}
#auth form .show_advanced table {
    border-collapse: collapse;
    width: 100%;
}
#auth form .show_advanced table td {
    padding: 5px 0;
}
#auth form .show_advanced select {
    padding: 6px 12px;
    font-size: 88%;
    outline: none;
    height: auto;
}
#auth form button.loader span {
    display: inline-block;
    width: 2.3rem;
    height: 2.3rem;
    vertical-align: text-bottom;
    border: 0.2em solid #fff;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spin .75s linear infinite;
            animation: spin .75s linear infinite;
    color: transparent;
    visibility: visible !important;
}
#auth form .advanced {
    height: 20px;
}
#auth form #advanced_option {
    color: #626262;
    text-decoration: none;
    outline: none;
    position: absolute;
    right: 12px;
    top: 0;
}
#auth form #advanced_option + .caret {
    margin-top: -2px;
    transform: rotate(-90deg);
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
    position: absolute;
    right: 0;
    top: 12px;
}
#auth form #advanced_option.shown + .caret {
    transform: rotate(0deg);
}
#auth form #forgot_pwd {
    float: right;
    font-size: 88%;
    margin-top: 10px;
}
#auth .auth-another {
    margin-top: 130px;
}
#auth .auth-another.or {
    border-top: 2px solid #000;
    text-align: center;
}
#auth .auth-another.or > span {
    color: #000;
    position: relative;
    background-color: #fff;
    padding: 0 12px;
    top: -24px;
    font-size: 110%;
    font-weight: bold;
}
#auth .auth-another > div {
    font-size: 20px;
    color: #616161;
    margin: 80px 0 10px 0;
}
#auth .auth-another .uhc-optum {
    color: #000;
    margin: -160px 0 190px 0;
}
#auth .toggle-link {
    text-align: center;
}
#auth .toggle-link > .caret {
    transform: rotate(-90deg);
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}
#auth .toggle-link.shown > .caret {
    transform: rotate(0deg);
}
#auth .toggle-link > .toggle {
    color: #149ab5;
    cursor: pointer;
    display: inline-block;
    border-bottom: 1px dashed;
}
#auth .toggle-link > .toggle:hover {
    color: #0c5f70;
    border-color: transparent;
}
#auth .use-idp-auth {
    display: none;
}
#auth .use-idp-auth div {
    margin-top: 20px;
}
#auth form.use-idp-auth {
    margin: 70px auto;
}
#auth form.use-idp-auth.or {
    border-top: 1px solid #c0c0c0;
    text-align: center;
    margin-top: 54px;
}
#auth form.use-idp-auth.or > span {
    color: #999;
    position: relative;
    background-color: #fff;
    padding: 0 12px;
    top: -22px;
    font-size: 90%;
}
#auth .text-block {
    text-align: center;
    margin-top: 30px;
}
#auth label[for="otp-memorize"] {
    font-size: 88%;
    margin-top: 8px;
}
#auth .b-create-new {
    border-top: 1px solid #c0c0c0;
    text-align: center;
    margin-top: 60px;
}
#auth .b-create-new > span {
    color: #999;
    position: relative;
    background-color: #fff;
    padding: 0 12px;
    top: -22px;
    font-size: 90%;
}
#auth .b-create-new a {
    display: inline-block;
    font-size: 88%;
    margin-top: 20px;
}
#auth .copyright {
    color: #999;
    position: absolute;
    bottom: 6vh;
    text-align: center;
    width: 100%;
    font-size: 80%;
    clear: both;
}
#auth .copyright a {
    color: #999;
    text-decoration: underline;
    margin: 0 5px;
}
#auth .copyright a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/* signup page */

#auth .policy-and-terms,
#auth .policy-and-terms a {
    color: #8c8c8c;
    font-size: 13px;
    text-align: center;
}
#auth .policy-and-terms a {
    text-decoration: underline;
}
#auth .master-password-warning {
    background: url('images/message-info.svg') 14px center no-repeat rgba(83,141,248,.1);
    font-size: 14px;
    padding: 0.5em 10px 0.5em 46px;
    text-align: left;
    white-space: normal;
    line-height: 22px;
    margin-top: 20px;
}
#auth .master-password-warning.text-center {
    text-align: center;
    padding-left: 10px;
}
#auth .have-account,
#auth .have-account a {
    text-align: center;
    font-size: 14px;
    margin-top: 40px;
}

/***********/

#auth .b-right {
    display: none;
    position: fixed;
    color: #fff;
    right: 0;
    width: 65%;
    text-align: center;
}
#auth .b-right > div {
    display: table-cell;
    width: 1%;
    vertical-align: middle;
    height: 100vh;
}
#auth .b-right div.big {
    font-weight: 600;
    font-size: 175%;
}
#auth .b-right div.small {
    font-weight: 400;
    font-size: 125%;
    margin-top: 6vh;
}
#auth .b-right div.img {
    background: url(/images/login--rf-image.png) no-repeat center center #5bb254;
    background-size: contain;
    height: 100vh;
    width: 100%;
    margin-top: -35vh;
}
#auth .b-right div.action {
    margin-top: -18vh;
}
#auth .b-right div.action .btn {
    background: transparent;
    color: #fff;
    padding: 10px 20px;
    border: 2px solid #fff;
    border-radius: 5px;
    font-weight: 600;
    font-size: 100%;
}
#auth .b-right .btn:hover {
    background: transparent;
    opacity: 0.7;
}

#forgotMasterPassword .modal-body {
    max-height: 75vh;
    overflow: auto;
}
#forgotMasterPassword h2 {
    color: #000;
    margin: 20px 0 30px 0;
}
#forgotMasterPassword h3 {
    color: #000;
    margin: 30px 0 20px 0;
}
#forgotMasterPassword h4 {
    margin: 20px 0 10px 0;
}

/* custom */

#auth.custom {
    background: #eaeaea;
}
#auth.custom .b-right div.img {
    background: url(/images/rasp.gif) no-repeat center center #eaeaea;
    background-size: contain;
    height: 50vh;
    width: 65vw;
    margin-top: 0;
}
#auth.custom .b-right .big,
#auth.custom .b-right .small,
#auth.custom .b-right .action {
    display: none;
}
#auth.custom .b-form {
    -webkit-box-shadow: none;
            box-shadow: none;
}
#auth.custom.custom_mode .b-form {
    padding-bottom: 40vh;
}

/* uhc */
#auth.custom.uhc .b-form {
    padding-bottom: 25vh;
}

/* authReturnUrl=idp_login */

#auth.idp_login .idp-no-auth {
    color: #f00000;
    margin: 30px auto -40px auto;
    max-width: 75%;
    text-align: center;
}
#auth.idp_login .idp-user {
    margin-bottom: 30px;
    text-align: center;
}
#auth.idp_login .idp-user b {
    display: block;
    font-size: 20px;
    font-weight: normal;
}
#auth.idp_login .idp-change-account {
    text-align: center;
}
#auth.idp_login .idp-change-account a {
    display: inline-block;
    margin-top: 30px;
    outline: none;
}
#auth.idp_login .idp-change-account a.toggle,
#auth.idp_login .idp-change-account a.toggle:hover {
    text-decoration: none;
}

/* authReturnUrl=refer */

#auth.refer {
    background: #f4f8fa;
    padding: 0;
}
#auth.refer .b-right {
    display: block;
    position: static;
    width: 100%;
}
#auth.refer .b-right > div {
    height: auto;
}
#auth.refer .b-right div.big {
    color: #000;
    margin-top: 75px;
}
#auth.refer .b-right div.divider {
    background: #5bb254;
    height: 4px;
    width: 70px;
    margin: 30px auto 0 auto;
}
#auth.refer .b-right div.step {
    font-size: 100%;
    font-weight: 600;
    width: 10vw;
    min-width: 100px;
    color: #000;
    display: inline-block;
    margin: 50px 3vw 40px 3vw;
    position: relative;
}
#auth.refer .b-right div.step ~ div.step:before {
    content: "";
    position: absolute;
    top: 47px;
    left: -7vw;
    width: 8vw;
    height: 1px;
    background-color: #dbdfe6;
}
#auth.refer .b-right div.step span {
    cursor: pointer;
    display: inline-block;
    width: 58px;
    margin: 18px 0;
    line-height: 58px;
    font-size: 17px;
    font-weight: 700;
    color: #828ea6;
    background-color: #e7ebf2;
    border-radius: 100%;
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}
#auth.refer .b-right div.step.active span {
    color: #fff;
    background-color: #4f9e4f;
}
#auth.refer .b-right div.step-text {
    color: #000;
    font-size: 150%;
    font-weight: 500;
    line-height: 38px;
    margin: 0 auto 65px auto;
    width: 95vw;
    max-width: 500px;
    height: 80px;
    opacity: 0;
}
#auth.refer .b-right div.step-text.active {
    opacity: 1;
    -webkit-transition: opacity 0.3s ease-in;
    transition: opacity 0.3s ease-in;
}
#auth.refer .b-form {
    height: auto;
    padding-top: 40px;
    -webkit-box-shadow: none;
    box-shadow: none;
    vertical-align: top;
}
#auth.refer .b-form > h3 {
    margin-top: 0;
    max-width: 650px;
}

/* authReturnUrl=try_business */

#auth.try_business {
    background: #4e8afb;
}
#auth.try_business .b-right {
    text-align: left;
}
#auth.try_business .b-right div.big,
#auth.try_business .b-right div.small,
#auth.try_business .b-right div.action {
    position: relative;
    left: 4.3vw;
    z-index: 1;
}
#auth.try_business .b-right div.small {
    margin-top: 4vh;
}
#auth.try_business .b-right div.action {
    margin-top: 8vh;
}
#auth.try_business .b-right div.img {
    background: url(/images/login--rf-image-try-business.png) no-repeat right bottom #4e8afb;
    background-size: contain;
    margin-top: 0;
    position: absolute;
    top: 0;
    right: 0;
    max-width: 59vw;
}

/* two-column design */

#auth.blank {
    padding: 0;
}
#auth.blank .b-right {
    display: none;
}
#auth.blank ._wrong_ref_url .result-error {
    margin: 60px auto;
    max-width: 50%;
}
#auth.blank .width-block.wide {
    width: 100%;
    max-width: 480px;
}
#auth.blank .row .hr {
    border-top: 1px solid #c0c0c0;
    margin-top: 60px;
}
#auth.blank .row .col-right h4:first-child {
    margin-top: 40px;
}

/*************/

@media (min-width: 965px) {
    .hide_on_narrow {
        display: block;
    }
    .hide_on_wide {
        display: none;
    }

    /* blank design */

    #auth.blank .width-block.wide {
        min-width: 900px;
    }
    #auth.blank .row {
        max-width: 930px;
        margin: 70px auto 0;
    }
    #auth.blank .row ~ .row {
        margin-top: 20px;
    }
    #auth.blank .row h3 {
        max-width: 50%;
    }
    #auth.blank .row h4:first-child,
    #auth.blank .row .col-right h4:first-child {
        margin-top: -10px;
    }
    #auth.blank .row h4,
    #auth.blank .row .text-block,
    #auth.blank .row .result-error,
    #auth.blank .row .policy-and-terms {
        text-align: left;
    }
    #auth.blank .row .width-block {
        min-width: auto;
        max-width: 100%;
        width: 100%;
    }
    #auth.blank .row .col-left {
        border-right: 1px solid #c0c0c0;
        padding-right: 60px;
    }
    #auth.blank .row .col-right {
        border-left: 1px solid #c0c0c0;
        /* collapse two borders from left and right sides */
        margin-left: -1px;
        padding-left: 60px;
    }
}

@media (min-width: 1285px) {
    #auth {
        padding-right: 65%;
        background: #5bb254;
    }
    #auth .b-form {
        -webkit-box-shadow: 10px 0 20px 0 rgba(50, 50, 50, 0.3);
                box-shadow: 10px 0 20px 0 rgba(50, 50, 50, 0.3);
    }
    #auth .b-right {
        display: block;
    }
    #auth.refer .b-form {
        height: auto;
        padding-top: 40px;
        -webkit-box-shadow: none;
                box-shadow: none;
        vertical-align: top;
    }
    #auth .logo img {
        display: inline;
    }
    #auth .logo img.sm-screen {
        display: none;
    }
}

@media (-ms-high-contrast: none) { /* css for IE10+ */
    /* fix for IE11: wrong display of an element with 'position: absolute' and 'bottom' properties inside block with 'display: table-cell' */
    #auth .copyright {
        position: relative;
        top: 15vh;
        min-height: 55px;
    }
}
