/*real,- Multichannel
 *
 * Content: SSO Widget
 * Author: Mark Herpich
*******************************************************************************/


/* THE FOLLOWING CODE HAS TO BE REVIEWED BEFORE RELEASE
---------------------------------------------------------*/

@font-face {
    font-family: "rossoicons";
    src: url("../fonts/rosso-icons.eot");
    src: url("../fonts/rosso-icons.eot") format("embedded-opentype"), url("../fonts/rosso-icons.woff2") format("woff2"), url("../fonts/rosso-icons.woff") format("woff"), url("../fonts/rosso-icons.ttf") format("truetype"), url("../fonts/rosso-icons.svg") format("svg");
    font-weight: normal;
    font-style: normal;
}


/*
 * social login
 */

.rosso_widget .divider {
    border-bottom: 1px solid #cbcbcb;
    margin: 0 0 12px 0;
    padding: 12px 0 0 0;
    height: 0;
    width: 100%;
}

@media (min-width: 767px) {
    .divider {
        max-width: 240px;
    }
}

.button_half {
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
    float: left;
    padding: 0;
}

@media (min-width: 767px) {
    .button_half {
        width: auto;
    }
}

.button_half:nth-child(1) {
    padding-right: 5px;
}

.button_half:nth-child(2) {
    padding-left: 5px;
}

.button_half .btn {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    line-height: 20px;
}

@media (min-width: 767px) {
    .button_half .btn {
        width: auto;
    }
}

.button_half .btn i {
    margin-top: -3px;
}

.button_half .btn img {
    margin-right: -3px;
}

@media (max-width: 767px) {
    #rosso_overlay {
        width: 100vw;
        height: calc(100vh - 5rem);
        position: fixed;
        margin: 0;
        top: 0;
        left: 0;
        overflow-y: auto;
    }
}

/*
 * form stylings
 */

.rosso_widget form {
    margin: 0;
}

.rosso_widget input[type='submit'] {
    opacity: .5;
    -webkit-transition: opacity .3s linear;
    -moz-transition: opacity .3s linear;
    -ms-transition: opacity .3s linear;
    -o-transition: opacity .3s linear;
    transition: opacity .3s linear;
}

.rosso_widget.block_layout input[type='submit'] {
    width: 100%;
}

@media (min-width: 767px) {
    /*Hotfix for login/register form*/
    .container-fluid[data-rosso-activeform='login_form'] {
        width: 280px;
    }
}

@media (min-width: 767px) {
    .rosso_widget[data-show-form='login'] input[type='submit'] {
        float: none;
    }
    .rosso_widget.block_layout input[type='submit'] {
        float: none;
        margin-right: 0;
    }
}

.rosso_widget form.valid input[type='submit'] {
    opacity: 1;
}

.rosso_widget form.valid .btn-primary:hover {
    background-color: #0074cc;
    cursor: pointer;
}

.rosso_widget input[type='submit'].disabled {
    cursor: progress;
    opacity: .5;
    background-color: #d5d5d5;
}

.rosso_widget_form_header p {
    color: #515151;
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 15px;
}


/* form switch
*******************************************************************************/

/** Spinner **/

[data-rosso-busy='true'] .rossoSpinnerOverlay {
    display: block;
}

.rosso-container {
    position: relative;
}

.rossoSpinnerOverlay {
    position: absolute;
    display: none;
    left: 50%;
    /* Firefox */
    left: -moz-calc(50% - 30px);
    /* WebKit */
    left: -webkit-calc(50% - 30px);
    /* Opera */
    left: -o-calc(50% - 30px);
    /* Standard */
    left: calc(50% - 30px);
    top: 30%;
    height: 60px;
    width: 60px;
    margin: 0px auto;
    z-index: 650;
    -webkit-animation: rotation .6s infinite linear;
    -moz-animation: rotation .6s infinite linear;
    -o-animation: rotation .6s infinite linear;
    animation: rotation .6s infinite linear;
    border-left: 6px solid rgba(0, 58, 112, .15);
    border-right: 6px solid rgba(0, 58, 112, .15);
    border-bottom: 6px solid rgba(0, 58, 112, .15);
    border-top: 6px solid rgba(0, 58, 112, .8);
    border-radius: 100%;
}

@-webkit-keyframes rotation {
    from {
        -webkit-transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(359deg);
    }
}

@-moz-keyframes rotation {
    from {
        -moz-transform: rotate(0deg);
    }
    to {
        -moz-transform: rotate(359deg);
    }
}

@-o-keyframes rotation {
    from {
        -o-transform: rotate(0deg);
    }
    to {
        -o-transform: rotate(359deg);
    }
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(359deg);
    }
}


/** Spinner end **/


/** Error handling **/

.rosso_login_error .error {
    display: none;
}

[data-rosso-error='loginFailed'] .rosso_login_error .error {
    display: block;
}

/* form fields
*******************************************************************************/

.rosso_widget .rosso_input_wrap._field {
    position: relative;
    margin: 0 0 12px 0;
}

.rosso_widget .forgot_password_form .rosso_input_wrap {
    margin: 0 0 16px 0;
}

@media (min-width: 767px) {
    .rosso_input_wrap._field {
        max-width: 280px;
    }
}


/*
 * input labels
 */

.rosso_input_wrap._field label {
    font-size: 13px;
    line-height: 19px;
    position: absolute;
    left: 5px;
    top: 8px;
    margin: 0;
    padding: 2px 4px;
    color: #a6a6a6;
    background-color: #fff;
    font-size: 15px;
    pointer-events: none;
    z-index: 630;
}

@media (min-width: 767px) {
    .rosso_input_wrap._field label {
        -webkit-transition: all linear .2s;
        -moz-transition: all linear .2s;
        -ms-transition: all linear .2s;
        -o-transition: all linear .2s;
        transition: all linear .2s;
    }
}

.rosso_input_wrap._field.touched label,
.rosso_input_wrap._field.focus label,
.rosso_input_wrap label.non_interactive_label {
    display: block;
    font-size: 11px;
    line-height: 11px;
    -webkit-transform: translate(0px, -14px);
    -ms-transform: translate(0px, -14px);
    transform: translate(0px, -14px);
}

.rosso_input_wrap._field.touched label {
    color: #999;
}


/*
 * validation colors
 */

.rosso_input_wrap._field.info input {
    border-color: #98D1E8;
}

.rosso_input_wrap._field.error input {
    border-color: #E06E6C;
}

.rosso_input_wrap._field.warning input {
    border-color: #F3D7A2;
}

.rosso_input_wrap._field.success input {
    border-color: #B8E097;
}

.rosso_input_wrap._field.validating input {
    border-color: #F3D7A2;
}

.rosso_input_wrap.-checkbox.error label::before {
    border-color: #E06E6C;
}

.rosso_input_wrap._field::after {
    position: absolute;
    font-size: 18px;
    z-index: 635;
    line-height: 1;
    top: 1rem;
    right: 1.5rem;
    font-family: "Linearicons";
    speak: none;
    font-style: normal;
    font-weight: 600;
    font-variant: normal;
    text-transform: none;
    -webkit-font-feature-settings: "liga";
    -moz-font-feature-settings: "liga=1";
    -moz-font-feature-settings: "liga";
    -ms-font-feature-settings: "liga" 1;
    -o-font-feature-settings: "liga";
    font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* hide in ie/edge password reveal */
.rosso_input_wrap._field input[type="password"]::-ms-reveal {
    display: none;
}

.rosso_input_wrap._field input[type="password"] {
    width: 85%;
    border-radius: .4rem 0 0 .4rem;
    border-right: none;
}

.rosso_input_wrap._field .show_password {
    position: absolute;
    font-size: 22px;
    top: 0;
    right: 0;
    width: 15%;
    border: 1px solid #d9d9d9;
    border-radius: 0 .4rem .4rem 0;
    border-left: none;
    font-family: "rossoicons";
    align-items:  center;
    background-color: #fff;
    background-image: none;
    vertical-align: middle;
    height: 40px;
    speak: none;
    font-style: normal;
    font-weight: 500;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-feature-settings: "liga";
    -moz-font-feature-settings: "liga=1";
    -moz-font-feature-settings: "liga";
    -ms-font-feature-settings: "liga" 1;
    -o-font-feature-settings: "liga";
    font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    cursor: pointer;
    transition: all 275ms ease-out;
}

.rosso_input_wrap._field input[type="password"]:focus ~ button {
    border-color:  #8e8e8e;
    transition: all 275ms ease-out;
}

.rosso_input_wrap._field.error.show_message > button {
    border-color: #e06e6c;
    transition: all 275ms ease-out;
}

.rosso_input_wrap._field .show_password span {
    margin-top: 8px;
}

.rosso_input_wrap._field .show_password span.eye-crossed {
    display: none;
}

.rosso_input_wrap._field .show_password span.eye:before {
    content: '\e94a';
}

.rosso_input_wrap._field .show_password span.eye-crossed:before {
    content: '\e94b';
}


/*
 * validation messages
 */

.rosso_input_wrap .message,
.terms_and_newsletter .message {
    position: relative;
    display: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 4px 0 0 0;
    margin: 0;
    font-size: 13px;
    line-height: 19px;
}

.rosso_input_wrap.show_message .message,
.terms_and_newsletter.show_message .message {
    display: block;
    margin: 0 0 12px 0;
}

.info.show_message .message {
    color: #42A2D2;
}

.error.show_message .message {
    color: #E23532;
}

.warning.show_message .message {
    color: #DAA140;
}

.success.show_message .message {
    color: #6DB732;
}

.validating.show_message .message {
    color: #DAA140;
}


/*
 * forgot password and stay logged-in
 */

.rosso_additional_options {
    margin-bottom: 12px;
}

.stay_loggedin,
.forgot_password {
    font-size: 13px;
    line-height: 20px;
    padding: 6px 0;
}

.rosso_additional_options input[type='checkbox'] {
    margin: 0 8px 0 0 !important;
}

@media (min-width: 767px) {
    .rosso_additional_options input[type='checkbox'] {
        margin: 3px 5px 0 0 !important;
    }
}

.stay_loggedin {
    display: inline-block;
    box-sizing: border-box;
    margin: 5px 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@media (min-width: 767px) {
    .stay_loggedin,
    .terms_and_newsletter label {
        margin: 0;
    }
}

.rosso_additional_options .checkbox {
    padding-left: 0;
}

.loginWidget .forgotPasswordMessage {
    font-size: 13px;
    line-height: 19px;
}

.loginWidget .forgotPasswordMessage span {
    white-space: nowrap;
}

.terms_and_newsletter label {
    font-size: 13px;
    line-height: 2.5rem;
    margin: 6px 0 12px 0;
}


/*
 * register link
 */

.register_link {
    clear: both;
    margin: 22px 0 6px 0;
}

@media (min-width: 767px) {
    .register_link {
        margin: 6px 0;
        max-width: 240px;
    }
}

.register_link a {
    white-space: nowrap;
}

.rosso_widget .social_login_top .btn {
    margin-bottom: 5px;
}


/* set width of form elements to block view depending on this class
*******************************************************************************/

@media (min-width: 767px) {
    .block_layout .inner_form_wrap,
    .block_layout .social_login {
        max-width: 240px;
    }
}

.block_layout .button_half {
    width: 50%;
}

.block_layout .button_half .btn {
    width: 100%;
}

.rosso_input_wrap .message,
.terms_and_newsletter .message,
input[type='tel'],
input[type='text'],
input[type='date'],
input[type='email'],
input[type='address'],
input[type='password'],
.register_link,
.rosso_additional_options {
    width: 100%;
}


/* styling overrides that have to be globally implemented at release stage
*******************************************************************************/


/* buttons
*******************************************************************************/

.rosso_widget .btn {
    padding: 10px;
    line-height: 20px;
    margin: 0 0 12px 0;
}


/*
 * social buttons
 */

.btn-fb {
    margin-right: 10px;
}

.btn-fb>.fa {
    font-size: 22px;
    line-height: 19px;
}

.btn-pb,
.btn-fb {
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


/*
 * facebook button
 */

.btn-fb {
    background: #4c69ba;
    /* Old browsers */
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRjNjliYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMzYjU1YTAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(top, #4c69ba 0%, #3b55a0 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #4c69ba), color-stop(100%, #3b55a0));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #4c69ba 0%, #3b55a0 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #4c69ba 0%, #3b55a0 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #4c69ba 0%, #3b55a0 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, #4c69ba 0%, #3b55a0 100%);
    /* W3C */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#4c69ba', endColorstr='#3b55a0', GradientType=0);
    /* IE6-8 */
    color: #fff;
    font-size: 13px;
    text-shadow: 0 -1px 0 #354c8c;
    padding: 10px;
}

.btn-fb:hover {
    background: #5b7bd5;
    /* Old browsers */
    background: -moz-linear-gradient(top, #5b7bd5 0%, #4864b1 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5b7bd5), color-stop(100%, #4864b1));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #5b7bd5 0%, #4864b1 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #5b7bd5 0%, #4864b1 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #5b7bd5 0%, #4864b1 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, #5b7bd5 0%, #4864b1 100%);
    /* W3C */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#5b7bd5', endColorstr='#4864b1', GradientType=0);
    /* IE6-8 */
    color: #fff;
}

.btn-fb>.fa {
    vertical-align: middle;
    font-size: 1.6em;
    margin: -3px 4px 0 0;
}


/*
 * payback button
 */

.btn-pb {
    background: #0046aa;
    color: #fff;
    font-size: 13px;
    text-shadow: 0 -1px 0 #354c8c;
    padding: 10px;
}

@media (min-width: 767px) {
    .btn-pb {
        display: inline-block;
    }
}

.btn-pb:hover {
    background: #003399;
    color: #fff;
}


/*
 * cancel button
 */

.cancel_button {
    display: block;
    padding: 10px;
    text-align: center;
    line-height: 20px;
}

@media (min-width: 767px) {
    .cancel_button {
        display: inline-block;
        width: auto;
    }
}

.block_layout .cancel_button {
    display: block;
    width: 100%;
}


/* input fields
*******************************************************************************/

.rosso_widget input[type='tel'],
.rosso_widget input[type='text'],
.rosso_widget input[type='date'],
.rosso_widget input[type='email'],
.rosso_widget input[type='address'],
.rosso_widget input[type='password'],
.rosso_widget select {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 8px;
    height: 40px;
    margin: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    z-index: 625;
}

.rosso_widget input[type='tel']:focus,
.rosso_widget input[type='text']:focus,
.rosso_widget input[type='text']:focus ~ .show_password,
.rosso_widget input[type='date']:focus,
.rosso_widget input[type='email']:focus,
.rosso_widget input[type='address']:focus,
.rosso_widget input[type='password']:focus,
.rosso_widget input[type='password']:focus ~ .show_password,
.rosso_widget select:focus {
    background-color: #fff;
    border-color: #8e8e8e;
}

.rosso_widget input[type='file']:focus,
.rosso_widget input[type='radio']:focus,
.rosso_widget input[type='checkbox']:focus,
.rosso_widget select:focus {
    outline: 0 none;
}


/* input fields special rules
@author: dirk lipjes
*******************************************************************************/

.rosso_widget .rosso_input_wrap.smallInput {
    width: calc(50% - 50px);
    padding: 0 10px 0 0;
}

.rosso_widget .rosso_input_wrap.largeInput {
    width: calc(50% + 20px);
    padding: 0 10px 0 0;
}


/* special colors
*******************************************************************************/

.bg_light_blue {
    background: #f1f6fa;
}


/*
HOTFIX: Welcome Overlay on Mobile
*/

@media (max-width: 767px) {
    .welcomeForm {
        width: calc(100vw - 78px);
    }
}


/*Overlay*/

#note_revocation_ewe,
#note_sign_off_pb,
#migration-uncritical,
#migration-critical {
    padding: 2rem;
}

#migration-uncritical .panel ._body {
    max-height: 25rem;
    overflow-y: scroll;
}

#migration-uncritical,
#migration-critical {
    width: 100%;
}

@media (min-width: 48em) {
    #migration-uncritical,
    #migration-critical {
        width: 76.5rem;
    }
}
