body {margin: 0; padding: 0; }

body, p, ol, ul, td { font-family: 'lucida sans', verdana, arial, helvetica, sans-serif; font-size: 12px; line-height: 18px; }

p{ margin: 0 0 0px 0; padding: 0; }

.technical-info {
  text-align: center;
  font-size: 8pt;
  color: #D3D3D3;
}

.legible-hack p {
  font-size: 14pt;
  line-height: normal;
  margin: 1em;
  padding: 1em;
}

.legible-hack h4 {
  font-size: 16pt;
  line-height: normal;
  color: red;
}

#outerframe{ margin: 0px auto 30px auto; width: 760px;}
#frame{ margin: 0 0 0 0; padding: 0 0 0 0 ; background-color: #fff; }
#titleheader{ margin: 0px 0 0 20px; padding: 20px 0 20px 0px ;}
#header{ margin: 0 0 0 0; padding: 0; height: 70px; }
#content{ margin: 0 0 0 0; padding: 15px 20px 20px 20px; background-color: #fff; }
#step_buttons{ text-align: right; }

/* Layout styles*/
#products{ }
#product_options{ }
#product_options_inner{ }

div#appmtSummary{
  border: 1px dashed #fc6;
  margin: 0px 0 10px 0;
  padding: 5px 5px 5px 5px;
  background-color: #ffc;
  border-top: 0;
}

div#appmtSummary label{
  font-weight: bold;
}

.formBlock{
  background-color: #e5e5e5;
  margin: 0 0 10px 0;
  padding: 5px;
}


#pay_box_1{
  float: left;
  width: 350px;
  margin: 0px;
  padding: 10px;

}
#pay_box_2{
  float: right;
  width: 360px;
  margin: 0 10px 0 0;
  padding: 10px;
}



h1{
  color: #111;
  font-size: 24px;
  font-weight: normal;
  text-shadow: 0 0 0 #000;

  margin: 0;
  padding:0;

}

#header h2 {
  margin: 0 0 0 0;
  padding: 20px;
  font-size: 24px;
  font-weight: normal;
  color: #eee;
}


h2{
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 24px;
  font-weight: normal;
  color: #111;

}

h3{
  font-size: 16px;
  margin: 0 0 10px 0;
  padding: 0;
  /*color: #7b0302;*/
  color: #333;
  font-weight: bold;
  padding: 0;
}

h3#appmtSummary{
  background-color: #fc6;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 0;
  padding: 5px;

}

#appmt_day h3{
  font-family: 'lucida sans';
  font-size: 16px;
  margin: 0 0 10px 0;
  padding: 0 0 5px 0;
  color: #111;
  font-weight: bold;
}

h4{
  font-size: 14px;
  margin: 10px 0 10px 0;
  padding: 0 0 5px 0;
  border-bottom: 1px dotted #404040;
  color: #404040;
}

h4.pay_label{
  font-size: 12px;
  margin: 0 0 0px 0;
  padding: 5px 0 10px 0;
}

a { color: #c00; }
a:visited { color: #666; }
a:hover { color: #fff; background-color:#c00; }

#products a{
  font-size: 16px;
}

a.product{
  display: block;
  height: 20px;
  width: 100%;
  text-decoration: none;
}
a.product:hover{
  background-color: #eee;
  color: #c00
}



/*******************************/
/* Miscellaneous Styles      */
/*******************************/

.info_block{
  background-color: #f1f1f1;
  padding: 10px;
  margin: 0 0 10px 0;
  border: 1px solid #ddd;
  color: #333;

}

.info_block label{
  font-weight: bold;
  display: block;
}
.info_text{ padding: 0 0 10px 0;}

label{
  font-weight: bold;
}

.instruction_block{ margin: 0 0 10px 0; padding: 0;}

/*******************************/
/* Form styles                 */
/*******************************/

select{
  padding: 3px 0 3px 3px;
  font-weight: bold;
  font-size: 14px;
}

/*******************************/
/* Table styles                */
/*******************************/

table{ margin: 0; padding: 0; text-align: top; }

td{ text-align: top; }

#product_options_inner table{ margin: 0 0 10px 0; width: 100%;}
#product_options_inner td{ padding: 0 0 0 0; vertical-align: top; }
#product_options_inner td.label{ padding: 10px; width: 150px; border-bottom: 1px solid #ddd; background-color: #f1f1f1; font-weight: bold; color: #666; }
#product_options_inner th.label{ padding: 5px 10px 5px 10px; border-bottom: 1px solid #ddd; background-color: #f1f1f1; font-weight: bold; color: #666; text-align: left; border-bottom: 1px solid #ddd; }
#product_options_inner td.data{ padding: 10px;}

label.product_option{ display: block;}

#product_options_inner td.option_data{ padding: 5px; border-bottom: 1px solid #ddd; }

/*******************************/
/* End table styles      */
/*******************************/

/*******************************/
/* Signup page styles          */
/*******************************/

#signup_stepnum{
  float: left;
  width: 15px;
  color: #fff;
  background-color: #111;
  padding: 2px 2px 4px 5px;
  font-family: 'lucida sans', verdana, arial;
  border-bottom: 1px dotted #111;
}

#signup_stepname{
  float: none;
  width: 733px;
  background-color: #fff;
  margin: 0 0 0 22px;
  padding: 5px 0 0 5px;
  font-family: 'lucida sans', verdana, arial;
  border-bottom: 1px dotted #111;
  height: 19px;
}

#signup_stepbody{
  margin: 10px 0 30px 25px;
  font-size: 12px;

}
#signup_stepbody table td{
  text-align: right;
  padding: 4px 0 2px 3px;
  font-size: 12px;
}

/*******************************/
/* End Signup page styles      */
/*******************************/


ul{
  margin: 0;
  padding: 0 0 0 25px;
}

li{
  list-style-type: square;
}

/* calendar_picker styles */

/*******************************/
/* Calendar Picker Styles      */
/*******************************/

/* Calendar Picker Styles */

.picker{
  margin-bottom: 10px;
}

table.calendar_picker{
  margin: 0 0 10px 0;
  padding: 0;
  background: transparent;
  width: 100%;


}

.calendar_picker_monthname{
  margin: 0;
  padding: 0;
  background-color: fff;
  color: #111;
  font-size: 16px;
  text-align: right;
}

.calendar_picker_other_month{
  background-color: #aaa;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.calendar_picker_daynames{
  margin: 0;
  padding: 0;
  color: #fff;
  background-color: #333;
  text-align: center;
}

.calendar_picker_day{
  margin: 0;
  padding: 0 0 0 0;
  background-color: #ddd;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  color: #111;
  width: 30px;
  height: 30px;
  text-align: center;
  vertical-align: middle;
  font-size: 14px;
}

.calendar_picker_day_unavailable{
  margin: 0;
  padding: 10px 0 10px 0;
  background-color: #c1c1c1;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  color: #777;
  width: 30px;
  height: 30px;
  text-align: center;
  vertical-align: middle;
  font-size: 14px;

}

.calendar_picker_day a{
  text-decoration: none;
  color: #111;
  display: block;
  width: 100%;
  padding: 10px 0 10px 0;
}

.calendar_picker_day a:hover, .calendar_picker_day a:visited{
  text-decoration: underline;
  color: #111;
}

#calendar_picker_nav{
  padding: 0px 5px 5px 5px;
  clear: both;
  float: none;
}

#calendar_picker_prev{
  float:left;
  width: 50px;
}

#calendar_picker_next{
  float: right;
  width: 50px;
  text-align: right;
}

#calendar_picker_nav a{
  color: #111;
  font-weight: bold;


}
#calendar_picker_nav a:hover, #calendar_picker_nav a:visited{
  text-decoration: none;
  background: transparent;

}

#top_month{
  padding: 0 0 0 2px;
  text-align: left;
  float: none;

}
#bottom_month{
  padding: 0 0 0 2px;
  margin: 0 0 0 0px;
  width: 155px;
}

#appmt_month h3{
  margin: 0;
  padding: 0px;
  color: #fff;
}

#appmt_month{
  padding: 0 10px 15px 0px;
  width: 330px;
  text-align: left;
  clear: both;
  border: 0px solid #999;
}
#appmt_day{
  margin: 2px 0 0 10px;
  padding: 0 10px 10px 10px;
  width: 330px;
  float: left;
  border: 0px solid #999;
  background-color: #fff;
}

#appmt_month_avail{
  padding: 0 10px 15px 0px;
  width: 330px;
  text-align: left;
  clear: both;
  float: left;
  border: 0px solid #999;
}

#appmt_day_content{
  margin: 0;
  padding: 0;
}

#appmt_day ul{
  margin: 0;
  padding: 0;

}

#appmt_day ul li{
  margin: 0;
  padding: 0;
  list-style-type: none;
}

#appmt_first_avail {
  margin: 0px 0px 0px 0;
  padding: 0 10px 10px 10px;
  background-color: #fff;
}

#appmt_first_avail h3{
  font-family: 'lucida sans';
  font-size: 16px;
  margin: 0 0 10px 0;
  padding: 0 0 5px 0;
  color: #111;
  font-weight: bold;
}

#appmt_first_avail_content{
  margin: 0;
  padding: 0;
}

#appmt_first_avail ul{
  margin: 0;
  padding: 0;

}

#appmt_first_avail ul li{
  margin: 0;
  padding: 0;
  list-style-type: none;
}



#appmt_first_avail_view{
  padding: 0 0 0 0px;
  font-weight: bold;
  clear: both;
}



#appmt_first_avail_view ul{
  margin: 0;
  padding: 0;
  border-top: 1px solid #bbb;
}

#appmt_first_avail_view ul li{
  padding: 3px 5px 5px 5px;
  border-bottom: 1px solid #bbb;
}

#appmt_first_avail_view ul li img{
  padding: 0px 0 0 0;
  display: inline;
}



#day_menu{
  padding-top: 5px;
  float: left;
  clear: both;
}



#day_menu a{
  color: #666;
}

#appmt_month th{
  padding-top: 0;
  padding-bottom: 0;
}



#appmt_day_view{
  padding: 0 0 0 0px;
  clear: both;
}


/*-----------------------------------------------
Calendar Styles
-------------------------------------------------*/

table.day_cal {
  margin-bottom: 15px;
  background: #e1e0e0;
  width: 100%;
  }

table.day_cal th {
  color: #666;
  background: none;
  padding: 3px;
  font-size: 10px;
  text-align: left;
}

table.day_cal th.month {
  background: #fff;
  color: #000;
  width: 1%;
  padding-right: 5px;
  font-weight: bold;
  font-size: 14px;
  text-align: center;
  vertical-align: top;
}

table.day_cal td.blank {
  background: none;
}

table.day_cal td {
  background: #f0f0f0;
  vertical-align: top;
  padding: 3px;
  color: #bbb;
  font-size: 9px;
}

table.day_cal td.with {
  background: #fff;
  color: #333;
  border: 1px solid #000;
  font-weight: bold;
}

table.day_cal td#today {
  background: #ffc;
  color: #333;
  border: 2px solid #fc6;
}


table.day_cal ul {
  padding: 0;
  margin: 3px 0 0 0;
}

table.day_cal li {
  font-weight: normal;
  font-size: 10px;
  line-height: 11px;
  padding: 3px 0 0 0;
  margin-bottom: 5px;
}

#appmt_day_view ul{
  margin: 0;
  padding: 0;
  border-top: 1px solid #bbb;
}

#appmt_day_view ul li{
  padding: 3px 5px 5px 5px;
  border-bottom: 1px solid #bbb;
  font-weight: bold;
}

#appmt_day_view ul li img{
  padding: 0px 0 0 0;
  display: inline;
}

li.altbg0{
  background-color: #fff;
}

li.altbg1{
  background-color: #ddd;
}

.fieldWithErrors {
  padding: 0px;
  background: transparent;
  display: inline;

}


table.order_summary_table{ width: 100%; }
table.order_summary_table th{text-align: left; vertical-align: top; padding: 3px 3px .05em 10px; color: #333; font-size: 1em; background-color: #ccc; }
table.order_summary_table th.price{text-align: right;}
table.order_summary_table td{text-align: left; vertical-align: top; font-weight: normal; padding: 8px 10px 8px 10px; font-size: 1em; background-color: #fff; border-top: 1px solid #999;}
table.order_summary_table td a {color: #004080; font-weight: bold;}
table.order_summary_table td a:hover {color: #004080; text-decoration: none;}
table.order_summary_table td.total{font-weight: bold; border-top: 2px solid #666;}



.fieldWithErrors input {
  background-color: #FFC2A2;
  display: inline;
}

#errorExplanation {
  width: 400px;
  border: 2px solid red;
  padding: 7px;
  padding-bottom: 12px;
  margin: 20px 0 10px 0;
  background-color: #f0f0f0;
}

#errorExplanation h2 {
  text-align: left;
  font-weight: bold;
  padding: 5px 5px 5px 15px;
  font-size: 12px;
  margin: -7px;
  background-color: #c00;
  color: #fff;
}

#errorExplanation p {
  color: #333;
  margin-bottom: 0;
  padding: 5px;
}

#errorExplanation ul li {
  font-size: 12px;
  list-style: square;
}

.button {
  color: white;
  font-weight:bold;
  height: 32px;
  background-color: #8B1D06;
  padding-left: 12px;
  padding-right: 12px;
  height: 32px;
  cursor: pointer;
}
.selectbutton {
  color: white;
  display: inline-block;
  /*height: 24px;*/
  background-color: #8B1D06;
  padding-left: 3px;
  padding-right: 3px;
  cursor: pointer;
}

#notice{ padding: 10px; margin: 0 0 10px 0; border: 1px solid #F8D030; background-color: #F8E060; color: #404040; font-weight: bold; font-size: 12px;}
.warning{ background-color: #F2EF87; /*border: 3px solid #EFEA07;*/ padding: 10px;  font-weight: bold; color: #333; margin: 0 0 10px 0;}
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}



/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
/* End hide from IE-mac */
