.pp-form {

}

input[required], input.invalid[required], 
textarea[required], textarea.invalid[required], 
select[required], select.invalid[required]  { 
    border:1px solid red !important;
 }

input.valid[required],
textarea.valid[required],
select.valid[required] {  
    border:1px solid green !important;
 }

.pp-form .btn{
    padding: 20px 20px;
    margin: 12px 0;
    box-sizing: border-box;
    border-radius: 3px;
    border: none;
    font-size: 18px;
       background-color: #2197F4;
       color: #FFFFFF;
}

.pp-form .btn:hover{
    opacity: 0.8;
}

.pp-form-vertical { 

 }

.pp-form-group { 
    width:100%;
    margin-top: 35px;
    display: block;    
 }

 .pp-form-group select { 
 	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    padding: 20px 20px;
    margin: 12px 0;
    box-sizing: border-box;
    border-radius: 3px;
    border: 2px solid #AAAAAA;
    font-size: 18px;
  }
  
.pp-form-vertical .pp-form-group input, .pp-form-group select, .pp-form-group textarea { 
    display:block;
    width: 100%;
    padding: 20px 20px;
    margin: 12px 0;
    box-sizing: border-box;
    border-radius: 3px;
    border: 2px solid #AAAAAA;
    font-size: 18px;
 }

 .pp-form-vertical .pp-form-group label { 
    display:block;
    font-size: 14px; 
    font-weight: bold;
  }

.pp-form-vertical .pp-form-group div.radio,
.pp-form-vertical .pp-form-group div.checkbox { 
    overflow:hidden;
    display:block;
 }

.pp-form-vertical .pp-form-group input[type=radio],
.pp-form-vertical .pp-form-group input[type=checkbox] {
    display: block;

    float: left;
    width: auto;
    margin-top:5px;
    margin-right: 10px;
    margin-left:5px;

}