.error input {
    border-color: #f94c4c !important;
}

.error input[type=text]:focus:not([readonly]) {
    -webkit-box-shadow: 0 1px 0 0 #f94c4c !important;
    box-shadow: 0 1px 0 0 #f94c4c !important;
    border-bottom: 1px solid #f94c4c !important;
}

.error input[type=text]:focus:not([readonly])+label {
    color: #f94c4c !important;
}

.error label {
    color: #fff !important;
}

.valid-message {
    display: none;
    margin-top: .2rem;
}

.error .valid-message {
    color: #400;
    display: block;
    font-size: 13px;
    -webkit-animation: message-down .3s ease-out;
    -moz-animation: message-down .3s ease-out;
}

.col-md-4.error .valid-message {
    margin-left: 0;
}

@-webkit-keyframes message-down {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

@-moz-keyframes message-down {
    0% {
        opacity: 0;
        -moz-transform: translateY(-100%);
    }
    100% {
        opacity: 1;
        -moz-transform: translateY(0);
    }
}