/*@CHARSET "utf-8";
body {font: 14px/21px "'Open Sans', sans-serif;}*/

:-moz-placeholder {color: blue;} 
::-webkit-input-placeholder {color: blue;}
::-webkit-validation-bubble-message {padding: 1em;}
*:focus {outline: none;}

.contact-form h2, .contact-form label {font-family:'Open Sans', sans-serif;}
.form-hint, .required-notification {font-size: 11px;}
.contact-form h2 {margin:0;display: inline;}
.required-notification {color:#d45252;margin:5px 0 0 0;display:inline;float:right;}
.contact-form label {width:150px;margin-top: 7px;display:inline-block;float:left;padding:3px;}
.contact-form button {margin-left:156px;}

.contact-form input, .contact-form textarea, .contact-form select {
    border:1px solid #ddd;
    border-radius:3px;
    height:40px;
    padding: 0 10px;
    width:300px;
}
.contact-form textarea {
	height: auto;
}
.contact-form input:focus, .contact-form textarea:focus {
    background: #fff;
    border:1px solid #999;
}
.contact-form input, .contact-form textarea, .contact-form select {
    padding-right:30px;
}
.contact-form input:focus:invalid, .contact-form textarea:focus:invalid {
    background: #fff url(img/invalid.png) no-repeat 98% center;
    border-color: #b03535;
    box-shadow: none;
}
.contact-form input:required:valid, .contact-form textarea:required:valid {
    background: #fff url(img/valid.png) no-repeat 98% center;
    border-color: #198ac4;
}
input:required, textarea:required {
    background: #fff url(img/red-asterisk.jpg) no-repeat 98% center;
}
/* Button Style */
button.submit {
    background-color: #68b12f;
    background: -webkit-gradient(linear, left top, left bottom, from(#2F97B1), to(#1E7791));
    background: -webkit-linear-gradient(top, #2F97B1, #1E7791);
    background: -moz-linear-gradient(top, #2F97B1, #1E7791);
    background: -ms-linear-gradient(top, #2F97B1, #1E7791);
    background: -o-linear-gradient(top, #2F97B1, #1E7791);
    background: linear-gradient(top, #2F97B1, #1E7791);
    border: 1px solid #1E7791;
    border-bottom: 1px solid #2B8399;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    box-shadow: inset 0 1px 0 0 #74C2D5;
    -webkit-box-shadow: 0 1px 0 0 #74C2D5 inset ;
    -moz-box-shadow: 0 1px 0 0 #74C2D5 inset;
    -ms-box-shadow: 0 1px 0 0 #74C2D5 inset;
    -o-box-shadow: 0 1px 0 0 #74C2D5 inset;
    color: white;
    font-weight: bold;
    padding: 6px 20px;
    text-align: center;
    text-shadow: 0 -1px 0 #155567;
}
button.submit:hover {
    opacity:.85;
    cursor: pointer;
}
button.submit:active {
    border: 1px solid #1E7A91;
    box-shadow: 0 0 10px 5px #0B586B inset;
    -webkit-box-shadow:0 0 10px 5px #0B586B inset ;
    -moz-box-shadow: 0 0 10px 5px #0B586B inset;
    -ms-box-shadow: 0 0 10px 5px #0B586B inset;
    -o-box-shadow: 0 0 10px 5px #0B586B inset;
}

.form-hint {
    background: #d45252;
    border-radius: 3px 3px 3px 3px;
    color: white;
    margin-left:8px;
    padding: 1px 6px;
    z-index: 999; 
    position: absolute; 
    display: none;
}

.form-hint::before {
    content: "\25C0"; 
    color:#d45252;
    position: absolute;
    top:1px;
    left:-7px;
}

.contact-form input:focus + .form-hint {display: inline;}
.contact-form input:required:valid + .form-hint {background: #1F7B92;}
.contact-form input:required:valid + .form-hint::before {color:#1F7B92;}
