@include form-control-placeholder($medium-gray, 1);

.form-control {
    font-family: "Avenir-light", "AvenirLTStd-Light", sans-serif !important;
    border-radius: 0;
    background-color: $transparent-bg;
    border: 1px solid $medium-dark-gray;
    color: $black-color;
    line-height: 1em;
    font-size: $font-size-base;
    font-weight: 400;
    @include transition-input-focus-color();
    @include box-shadow(none);

    .has-success & {
        border-color: $light-gray;
    }

    &:focus {
        border: 1px solid $brand-primary;
        @include box-shadow(none);
        outline: 0 !important;
        color: $black-color;

        & + .input-group-addon,
        & ~ .input-group-addon {
            border: 1px solid $brand-primary;
            background-color: $transparent-bg;
        }
    }

    .has-success &,
    .has-error &,
    .has-success &:focus,
    .has-error &:focus {
        @include box-shadow(none);
    }

    .has-danger &,
    .has-success & {
        &.form-control-success,
        &.form-control-danger {
            background-image: none;
        }
    }

    .has-danger & {
        background-color: lighten($danger-color, 30%);
        border-color: lighten($danger-color, 30%);
        color: $danger-color;

        &:focus {
            background-color: $opacity-gray-3;
        }
    }

    & + .form-control-feedback {
        border-radius: $border-radius-extra-small;
        font-size: $font-size-base;
        margin-top: -7px;
        position: absolute;
        right: 10px;
        top: 50%;
        vertical-align: middle;
    }

    .open & {
        border-radius: $border-radius-extra-small $border-radius-extra-small 0 0;
        border-bottom-color: transparent;
    }

    & + .input-group-addon {
        background-color: $white-bg;
    }
}

.has-success,
.has-danger {
    &:after {
        font-family: 'Nucleo Outline';
        content: "\ea22";
        display: inline-block;
        position: absolute;
        right: 35px;
        top: 12px;
        color: $success-color;
        font-size: 11px;
    }

    &.input-lg {
        &:after {
            font-size: 13px;
            top: 13px;
        }
    }
}

.has-danger {
    &:after {
        content: "\ea53";
        color: $danger-color;
    }
}

@include input-sm-padding($padding-small-vertical, $padding-small-horizontal);
@include input-lg-padding($padding-large-vertical, $padding-input-horizontal);
@include input-base-padding($padding-small-vertical, $padding-small-horizontal);

.form-group.form-group-no-border,
.input-group.form-group-no-border {
    .form-control,
    .form-control + .input-group-addon {
        background-color: $opacity-gray-3;
        border: medium none;
        &:focus,
        &:active,
        &:active {
            border: medium none;
            background-color: $opacity-gray-5;
        }
    }

    .form-control {
        &:focus {
            & + .input-group-addon {
                background-color: $opacity-gray-5;
            }
        }
    }

    .input-group-addon {
        background-color: $opacity-gray-3;
        border: none;
    }
}

.has-error {
    .form-control-feedback, .control-label {
        color: $danger-color;
    }
}

.has-success {
    .form-control-feedback, .control-label {
        color: $success-color;
    }
}

.input-group-addon {
    background-color: $white-bg;
    border: 1px solid $light-gray;
    border-radius: $border-radius-extra-small;
    color: $dark-background;
    padding: $padding-base-vertical - 1 0 $padding-base-vertical - 1 $padding-base-horizontal - 1;

    @include transition-input-focus-color();

    .has-success &,
    .has-danger & {
        background-color: $white-color;
    }
    .has-danger .form-control:focus + & {
        color: $danger-color;
    }
    .has-success .form-control:focus + & {
        color: $success-color;
    }

    & + .form-control,
    & ~ .form-control {
        @include input-size($padding-base-vertical - 1, $padding-base-horizontal);
        padding-left: 18px;
    }
}

.input-group-focus {
    .input-group-addon {
        background-color: $white-bg;
        border-color: $primary-color;
    }

    &.form-group-no-border {
        .input-group-addon {
            background-color: $opacity-gray-5;
        }
    }
}

.input-group,
.form-group {
    margin-bottom: 10px;
}

.input-group[disabled] {
    .input-group-addon {
        background-color: $light-gray;
    }
}

/*.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
    border-right: 0 none;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child) {
    border-left: 0 none;
}*/
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
    background-color: $light-gray;
    color: $default-color;
    cursor: not-allowed;
}

.input-group-btn .btn {
    border-width: $border-thin;
    padding: $padding-btn-vertical $padding-base-horizontal;
}

.input-group-btn .btn-default:not(.btn-fill) {
    border-color: $medium-gray;
}

.input-group-btn:last-child > .btn {
    margin-left: 0;
}

textarea.form-control {
    max-width: 100%;
    padding: 10px 10px;
    resize: none;
    background-color: $transparent-bg;
    border: 1px solid $medium-dark-gray;
    color: $black-color;
    line-height: 1em;
    font-size: $font-size-base;
    font-weight: 400;
    border-radius: 0;

    &:focus,
    &:active {
        @include box-shadow(none);
        border: 1px solid $brand-primary;
        background-color: $transparent-bg;
    }
}

.has-success,
.has-danger {

    &.form-group .form-control,
    &.form-group.form-group-no-border .form-control {
        padding-right: $padding-input-horizontal + 21;
    }
}
