#contact_form{
display:block;
width:100%;
padding:0;
margin:0;
border:0;
}

.contact_form_tbl{
display:table;
margin:auto;
}

.contact_form_row{
display:table-row;
}

.contact_form_labelcell{
display:table-cell;
padding-top:15px;
padding-bottom:5px;
}

#contact_form_labeltextcell{
padding-top:20px;
vertical-align:top;
}

.contact_form_inputcell{
display:table-cell;
padding-top:15px;
padding-bottom:5px;
}

.contact_form_input{
width:400px;
display:block;
}

.contact_form_inputdesc{
margin:0;
padding-top:6px;
line-height:1.5em;
font-size:small;
}

.contact_form_submitbtn{
width:100%;
}

.contact_form_label{
display:block;
text-align:right;
white-space:nowrap;
}

.contact_form_label label{
display:block;
margin-right:4px;
}

.contact_form_errortext{
color:red;
margin-top:20px;
}

.contact_form_successtext{
color:green;
margin-top:20px;
}

input.contact_form_inputerror,textarea.contact_form_inputerror,select.contact_form_inputerror{
border:1px solid red;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
-moz-box-shadow:1px 1px 4px #cccccc;
-webkit-box-shadow:1px 1px 4px #cccccc;
-o-box-shadow:1px 1px 4px #cccccc;
box-shadow:1px 1px 4px #cccccc;
}

input.contact_form_inputerror:focus,textarea.contact_form_inputerror:focus,select.contact_form_inputerror:focus{
border:1px solid red;
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ff3300;
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ff3300;
-o-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ff3300;
-ms-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ff3300;
box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ff3300;
}

@media screen and (max-width:800px){
.contact_form_tbl{
width:100%;
}
.contact_form_inputcell{
width:100%;
}
.contact_form_input{
width:100%;
}
}

@media screen and (max-width:550px){
.contact_form_row{
display:block;
width:100%;
}
.contact_form_labelcell{
display:block;
padding-bottom:0;
}
.contact_form_inputcell{
display:block;
padding-top:0;
}
.contact_form_label{
text-align:left;
}
}