.has-error {
    position: relative;
    input[type='text'],
    input[type='url'],
    input[type='tel'],
    input[type='password'],
    input[type='number'],
    input[type='email'],
    textarea {
        border-color: $brand-danger !important;
        border-width: 1px;
    }
    small {
        color: $brand-danger;
        &.remaining,
        &.resolved {
            margin-top: 0;
            .rex-icon {
                margin-right: .4rem;
                &.plus {
                    transform: rotate(45deg);
                    top: .4rem;
                }
                &.check {
                    top: .3rem;
                }
            }
            &:first-of-type {
                margin-top: .8rem;
            }
        }
        &.resolved {
            color: $brand-success;
        }
    }
    input {
        &+label {
            &+small {
                color: $brand-danger;
            }
        }
        &:hover,
        &.hover {
            &+label {
                &+small {
                    color: $brand-danger;
                }
            }
        }
        &:focus,
        &:active {
            &+label {
                color: $brand-danger;
                &+small {
                    color: $brand-danger;
                }
            }
        }
    }
}