/**** Form Section ****/
#contactForm{ width: 650px; padding: 30px 52px 100px 30px; float: left; font-family: helvetica, arial, verdana, sans-serif; }
#contactForm h2 { font-size: 150%; border-bottom: 1px dotted #999999; padding-bottom: 10px; margin-bottom: 50px; font-weight: bold; font-family: helvetica, arial, sans-serif; }

#main_body form ul{ font-size: 80%; list-style-type: none; margin: 0; width: 100%; }
#main_body form li{ display: block; margin: 0; padding: 4px 5px 2px 9px; position: relative; }
#main_body form li:after{ clear: both; content: "."; display: block; height: 0; visibility: hidden; }

#main_body html form li div{ display: inline-block; }
#main_body form li div{ color: #444; margin: 0 4px 0 0; padding: 0 0 8px; }
#main_body form li.time { width: 650px; }
#main_body form li span{ color: #444; float: left; margin: 0 4px 0 0; padding: 0 0 8px; }
#main_body .clear{ clear: both; }

#main_body form li div label{ clear: both; color: #444; display: block; font-size: 9px; line-height: 9px; margin: 0; padding-top: 3px; }
#main_body form li span label{ clear: both; color: #444; display: block; font-size: 9px; line-height: 9px; margin: 0; padding-top: 3px; }
#main_body form li .datepicker{ cursor: pointer !important; float: left; height: 16px; margin: .1em 5px 0 0; padding: 0; width: 16px; }

/**** Buttons ****/
#main_body .buttons:after{ clear: both; content: "."; display: block; height: 0; visibility: hidden; }
#main_body .buttons{ clear: both; display: block; margin: 10px 0 0 150px; border: 1px solid #fff; }
#main_body .buttons input{ width: 59px; height: 28px;  background: url(../imgs/send_btn.jpg) no-repeat 0 0; font-size: 90%; color: #fff; margin-right: 5px; }
#main_body .button_text{ padding-bottom: 4px; font-family: helvetica, arial, sans-serif; }
#main_body .buttons input:hover { color: #eee; cursor: pointer;}

/**** Inputs and Labels ****/
#main_body label.description{ border: none; color: #222; float: left; width: 150px; font-size: 100%;font-family: georgia, arial, verdana, sans-serif; font-weight: 700; line-height: 150%; padding: 0 0 1px; }
#main_body input.text{ background: #fff url(../../../images/shadow.gif) repeat-x top; border-bottom: 1px solid #ddd; border-left: 1px solid #c3c3c3; border-right: 1px solid #c3c3c3; border-top: 1px solid #7c7c7c; color: #333; font-size: 100%; margin: 0; padding: 2px 0; }
#main_body textarea.textarea{ background: #fff url(../../../images/shadow.gif) repeat-x top; border-bottom: 1px solid #ddd; border-left: 1px solid #c3c3c3; border-right: 1px solid #c3c3c3; border-top: 1px solid #7c7c7c; color: #333; font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif; font-size: 100%; margin: 0; width: 99%; }
#main_body select.select{ color: #333; font-size: 100%; margin: 1px 0; padding: 1px 0 0; background: #fff url(../../../images/shadow.gif) repeat-x top; border-bottom: 1px solid #ddd; border-left: 1px solid #c3c3c3; border-right: 1px solid #c3c3c3; border-top: 1px solid #7c7c7c; }

#main_body select.select[class]{ margin: 0; padding: 1px 0; }
*:first-child+html select.select[class]{ margin: 1px 0; }
#main_body .safari select.select{ font-size: 120% !important; margin-bottom: 1px; }

#main_body input.small{ width: 25%; }
#main_body select.small{ width: 25%; }
#main_body input.medium{ width: 50%; }

#main_body select.medium{ width: 50%; }
#main_body input.large{ width: 99%; }

#main_body select.large{ width: 100%; }
#main_body textarea.small{ height: 5.5em; }
#main_body textarea.medium{ height: 10em; }
#main_body textarea.large{ height: 20em; }
#main_body textarea.message{border-bottom: 1px solid #ddd; border-left: 1px solid #c3c3c3; border-right: 1px solid #c3c3c3; border-top: 1px solid #7c7c7c; color: #333; font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif; font-size: 100%; margin: 0; }


/**** Errors ****/
#error_message_title{ color: #DF0000; font-size: 125%; margin: 7px 0 5px !important; padding: 0 !important; }
#main_body form li label.error {float: left; padding: 10px 0; font-family: georgia, arial, verdana, sans-serif; font-size: 100%; font-style: italic; color: red !important; }
#main_body form .required{ float: none !important; padding-left: 5px; color: red !important;  }

/**** Guidelines ****/
#main_body form .guidelines{ background: #f5f5f5; border: 1px solid #e6e6e6; color: #444; font-size: 120%; left: 100%; line-height: 130%; margin: 0 0 0 8px !important; padding: 8px 10px 9px; position: absolute; top: 0; visibility: hidden; width: 42%; z-index: 1000; }
#main_body form .guidelines small{ font-size: 105%; }
#main_body form li.highlighted .guidelines{ visibility: visible; background-color: #fff7c0;}
#main_body form li:hover .guidelines{ visibility: visible; }

/*** Calendar **********************/
div.calendar { position: relative;}
.calendar table { cursor: pointer; border: 1px solid #ccc; font-size: 11px; color: #000; background: #fff; font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif; }
.calendar table .title,.calendar table .button{ font-size: 11px; }

.calendar * { font-size: 11px; font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif; }
.calendar .button { text-align: center; padding: 2px; }
.calendar .nav { background: #f5f5f5; }

.calendar thead .title { font-weight: bold; text-align: center; background: #dedede; color: #000; padding: 2px 0 3px 0; }
.calendar thead .headrow { background: #f5f5f5; color: #444; font-weight: bold; }
.calendar thead .daynames { background: #fff; color: #333; font-weight: bold; }
.calendar thead .name { border-bottom: 1px dotted #ccc; padding: 2px; text-align: center; color: #000; }
.calendar thead .weekend { color: #666; }
.calendar thead .hilite { background-color: #444; color: #fff; padding: 1px; }
.calendar thead .active { background-color: #d12f19; color: #fff; padding: 2px 0px 0px 2px; }


.calendar tbody .day { width: 1.8em; color: #222; text-align: right; padding: 2px 2px 2px 2px; }
.calendar tbody .day.othermonth { font-size: 80%; color: #bbb; }
.calendar tbody .day.othermonth.oweekend { color: #fbb; }

.calendar table .wn { padding: 2px 2px 2px 2px; border-right: 1px solid #000; background: #666; }

.calendar tbody .rowhilite td { background: #FFF1AF; }

.calendar tbody .rowhilite td.wn { background: #FFF1AF; }
.calendar tbody td.hilite { padding: 1px 1px 1px 1px; background: #444 !important; color: #fff !important; }

.calendar tbody td.active { color: #fff; background: #529214 !important; padding: 2px 2px 0px 2px; }
.calendar tbody td.selected { font-weight: bold; border: 1px solid #888; padding: 1px 1px 1px 1px; background: #f5f5f5 !important; color: #222 !important; }

.calendar tbody td.weekend { color: #666; }
.calendar tbody td.today { font-weight: bold; color: #529214; background: #D9EFC2; }
.calendar tbody .disabled { color: #999; }
.calendar tbody .emptycell { visibility: hidden; }
.calendar tbody .emptyrow { display: none; }

.calendar tfoot .footrow { text-align: center; background: #556; color: #fff; }
.calendar tfoot .ttip { background: #222; color: #fff; font-size: 10px; border-top: 1px solid #dedede; padding: 3px; }
.calendar tfoot .hilite { background: #aaf; border: 1px solid #04f; color: #000; padding: 1px; }
.calendar tfoot .active { background: #77c; padding: 2px 0px 0px 2px; }

.calendar .combo { position: absolute; display: none; top: 0px; left: 0px; width: 4em; border: 1px solid #ccc; background: #f5f5f5; color: #222; font-size: 90%; z-index: 100; }
.calendar .combo .label, .calendar .combo .label-IEfix { text-align: center; padding: 1px; }
.calendar .combo .label-IEfix { width: 4em; }
.calendar .combo .hilite { background: #444; color: #fff; }
.calendar .combo .active { border-top: 1px solid #999; border-bottom: 1px solid #999; background: #dedede; font-weight: bold; }
