/**
 * Password reset-specific styles
 */

.placeholder-container {
    position: relative;
    transition: all 0.3s;
}

.placeholder-help-block {
    position: absolute;
    left: 41px;
    top: 7px;
    color: rgb(41, 58, 99);
    opacity: 0.5;
    transition: all 0.3s;

    html[dir="rtl"] & {
        left: auto;
        right: 41px;
    }

    @media (max-width: 480px) {
        top: 11px;
    }
}

.placeholder-container.placeholder-active {
    margin-top: 15px;

    .placeholder-help-block {
        font-size: 90%;
        top: -23px;
        left: 2px;
        opacity: 1;

        html[dir="rtl"] & {
            left: auto;
            right: 2px;
        }
    }
}

ul.validation-container {
    background-color: #f8c9c4;
    border: 1px solid #a94442;
    padding: 0 7px; /* This lines it up with the input field icon */
    border-radius: 4px;
    list-style: none;
    margin: 5px 0 0 0;

    li.validation-error {
        padding-left: 35px; /* This lines it up with the input field text */
        background: url("images/notice-error.png") no-repeat top left / 18px;
        margin: 10px 0;
        line-height: 18px;
    }
}

.reset-input-note {
    padding-top: 5px;
    padding-left: 6px;
    padding-right: 6px;
}

.reset-input-note p {
    font-style: italic;
    margin: 0px;
    padding: 0px;
}

// Overrides for style_v2
#resetpass {
    #forms {
        position: relative;
        left: 0;
    }

    #notify {
        width: 100%;
    }

    .form-container {
        margin: auto;
        width: 100%;

        p {
            padding: 0 4px; // Matches the .input-req-login padding for label text
            box-sizing: border-box;
            margin: 0;
        }

        p + p {
            margin-top: 10px;
        }

        .controls .loginbtn {
            box-sizing: border-box;
        }
    }

    // Some pages don't use #reset_form, but they all have #reset-sub
    #reset-sub {
        width: 285px;
        display: block;
        margin: auto;
        box-sizing: border-box;

        .input-req-login {
            box-sizing: border-box;
        }

        @media (max-width: 480px) {
            width: 100%;
            padding-left: 10px;
            padding-right: 10px;

            .input-field-login.no-icon {
                height: 40px;

                input {
                    box-sizing: border-box;
                    width: 100%;
                    height: 100%;
                    margin: 0;
                    padding-left: 5px;
                    padding-right: 5px;
                }
            }
        }
    }
}

// General styles for the reset forms
#reset_form {
    width: 100%;
    @media (min-width: 481px) {
        width: 285px;
    }

    // Override some positioning from style_v2
    @media (max-width: 480px) {
        left: auto;
        right: auto;
        top: auto;
    }

    display: block;
    margin: auto;

    .reset-input-group + .reset-input-group {
        margin-top: 30px;
    }
}

// Final Summary page-specific styles
#reset-sub {
    // Make presentation for the newly set password more prominent
    input#new-password {
        font-size: 120%;
        text-align: center;
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
        border: none;
    }
}

// Set Password page-specific styles
#reset_form {
    .input-group {
        #password {
            border-radius: 4px 4px 0 0;
            border-bottom-width: 0;
            padding-right: 20px; // The std_textbox use for the confirmation input has some right padding, so this will make them match

            html[dir="rtl"] & {
                padding-left: 20px;
                padding-right: 40px; // The selector above is more specific than the generic one in style_v2, so this overrides our own style
            }

            @media (max-width: 480px) {
                height: 42px; // 40 (height of .input-field-login) + 2px for the top border
            }
        }

        input.std_textbox {
            background-image: url("images/icon-password.png");
            box-sizing: border-box;
            height: 34px; // 32px (height of .input-field-login) + 2px for the top border
            width: 100%;
            margin: 0;
        }
    }

    // Style the group of buttons
    .input-group-btn {
        box-sizing: border-box;
        display: block;
        width: 100%;
        text-align: center;

        background: #ddd;
        border: 2px solid #bebebe;
        border-radius: 0 0 4px 4px;
        border-top: 1px solid #bebebe;

        .btn {
            line-height: 28px;
            padding: 0 10px;
            border-radius: 0;
            border: 0;
            background: #ddd;
            color: #5f5f5f;

            padding: 0 10px;
            min-width: 10%;
            margin: 0;

            font-family: "Open Sans", sans-serif;
            font-size: 13px;

            &:focus {
                outline-offset: 0; // Override the main stylesheet
            }
        }

        // The first and last buttons are just font icons, so they can use less space
        .btn:first-child {
            border-right: 1px solid #bebebe;
            width: 22%;
            float: left;

            html[dir="rtl"] & {
                border-right: none;
                border-left: 1px solid #bebebe;
                float: right;
            }
        }

        .btn:last-child {
            border-left: 1px solid #bebebe;
            width: 22%;
            float: right;

            html[dir="rtl"] & {
                border-left: none;
                border-right: 1px solid #bebebe;
                float: left;
            }
        }

        // We're not really doing anything responsive here, so we don't want to dynamically show the key
        #password_btnGenerate .fa-key {
            display: none;
        }
    }

    // When the settings panel is visible, we want to make the buttons and panel seamless
    .input-group.settings-panel-visible .input-group-btn {
        border-bottom-width: 1px;
        border-radius: 0;
    }

    // Style the password generator settings panel
    .panel {
        box-sizing: border-box;
        background: #fff;
        border: 2px solid #bebebe;
        border-top-width: 0;
        border-radius: 0 0 4px 4px;

        position: relative;
        padding: 10px;

        // Line up the X button with the down/up caret
        .fa-times {
            width: 22%;
            text-align: center;
            position: absolute;
            right: 0;
            margin: 0;

            &:hover {
                cursor: pointer;
            }

            html[dir="rtl"] & {
                right: auto;
                left: 0;
            }
        }

        // Put less emphasis on the radio button labels
        label {
            font-weight: normal;
            font-size: 13px;
        }

        // We're fixed at a pretty slim width already, so we'll just put everything on its own line
        .col-xs-12 {
            display: block;
        }

        .form-group-length {
            label {
                margin: 0; // Overrides CJT2 style
                font-weight: bold; // Add the emphasis back for this label since it's kind of a heading, but not marked as an H4 like the others
            }

            // Make the length input match the rest of the form
            #password_txtLength {
                padding: 5px;
                border-radius: 4px;
                border: 1px solid #bebebe;
            }
        }

        // Tighten up the spacing a little for each section
        h4 {
            margin: 15px 0 5px 0;
        }
    }

    .current-strength-text {
        font-size: 90%;
        padding: 5px 5px 0 5px;
    }
}

/**
 * Page styles for password reset: security code resend elements.
 */
.pnlResend {
    position: relative;
    margin-top: 5px;
    margin-bottom: 10px;
}

html[dir="ltr"] .pnlResend {
    text-align: right;
}

html[dir="rtl"] .pnlResend {
    text-align: left;
}

a.lnkResend {
    color: #179bd7;
}

a.lnkResend:hover {
    color: #095779;
}

#msgResendMore {
    display: inline-block;
    position: absolute;
    margin: 0 5px 5px 10px;
    background-color: white;
    padding: 5px;
    font-weight: normal;
    width: 200px;
    border: 2px solid #bebebe;
    border-radius: 4px;
}

html[dir="ltr"] #msgResendMore {
    text-align: left;
}

html[dir="rtl"] #msgResendMore {
    text-align: right;
}

html[dir="ltr"] #btnCloseMore {
    float: right;
}

html[dir="rtl"] #btnCloseMore {
    float: left;
}

.btnMore {
    cursor: pointer;
}

.next-label {
    font-weight: bold;
}

.next-instructions {
    padding-top: 10px;
    padding-bottom: 10px;
}

// Alert system, only the parts we needed.
#reload_form .login-btn {
    padding-top: 0;
}

.alert {
    border-radius: 2px;
    position: relative;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 2px;
    padding: 10px 30px 10px 50px;

    .fas {
        top: 16px;
        position: absolute;
        font-size: 20px;
    }

    html[dir="ltr"] & .fas {
        left: 10px;
    }

    html[dir="rtl"] & .fas {
        right: 10px;
    }
}

.alert-warning {
    background-color: #fcf8e1;
    border: 1px solid #f6c342;
    box-shadow: inset 41px 0 #f6c342;
    color: #8a6d3b;

    html[dir="rtl"] & {
        box-shadow: inset -41px 0 #f6c342;
    }

    > .fas {
        color: #fcf8e1;
    }
}

.alert-message {
    color: #333;
    display: table;
    vertical-align: middle;

    a {
        color: #333;
    }
}
