input:invalid {
border: 1px solid red;
     } 
input:valid {
border: 1px solid green;
    }
input:required:invalid {
border: 1px solid red;
    }
input:required:valid {
border: 1px solid green;
    }
textarea:invalid {
border: 1px solid red;
     } 
textarea:valid {
border: 1px solid green;
    }
textarea:required:invalid {
border: 1px solid red;
    }
textarea:required:valid {
border: 1px solid green;
    }
select:invalid {
border: 1px solid red;
     } 
select:valid {
border: 1px solid green;
    }
select:required:invalid {
border: 1px solid red;
    }
select:required:valid {
border: 1px solid green;
    }