#contact_form {
	padding-bottom: 15px;
}

#form_pre_message {
	margin: 10px 20px 0;
	padding-bottom: 5px;
	border-bottom: 1px solid #999999;
	text-align: center;
}

#contact_form table {
	margin: 10px auto;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #cccccc;
}
#contact_form th,
#contact_form td {
	padding: 4px 6px;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
}
#contact_form th {
	background: #dddddd;
}
#contact_form .error th {
	background: #ffdddd;
}
#contact_form .error td {
	background: #ffeeee;
}
#contact_form .form_mustmark {
	text-align: left;
	color: #ff3333;
	font-size: 80%;
}
#contact_form .form_title {
	text-align: right;
}

#contact_form .text {
	padding: 2px;
	border: 1px solid #999999;
	font-size: 110%;
	font-family: monospace;
}
#contact_form .text:hover {
	background: #ffeecc;
}
#contact_form .text:focus {
	background: #ffffee;
}

#form_submit {
	text-align: center;
}
#form_submit input {
	font-size: 110%;
}

#form_end {
	margin: 10px auto;
	width: 600px;
}
#form_end h2 {
	margin-bottom: 10px;
	padding-bottom: 3px;
	border-bottom: 1px solid #999999;
	font-size: 110%;
}
.confirm_message {
	margin: 3px 0px;
	font-size: 80%;
	color: #3333cc;
}

@media only screen and (max-width: 580px) {
  #contact_form {
    width: 100%;
  }
  #contact_form table {
    width: 100%;
  }
  #contact_form th:first-child {
    display: none;
  }
  #contact_form th,
  #contact_form td {
    display: block;
  }
  #contact_form .form_title {
    text-align: left;
  }
  #contact_form textarea.text {
    width: 95% !important;
  }
  #contact_form .text {
    padding: 4px;
  }
}
