.submit {
	padding: 2px 6px 3px 6px;
}

div#header_wrapper {
	padding-top: 20px;
}

div#page_header {
	width: 925px;
	background: white;
	margin: 0 auto;
	padding: 10px 17px 10px 17px;
}

div#page_header .provider_logo {
	margin-top: 10px;
	height: 103px;
}

#logout a {
  color: #404040;
}

.flash {
  border-width: 1px;
  border-style: solid;
  margin-bottom: 20px;
  margin-bottom: 5px;
  padding: 5px 10px;
  font-style: italic;
  line-height: 18px;
}

.flash.error {
  border-color: #c04040;
  background-color: #ffc0c0;
  color: #602020;
}

.flash.notice, .flash.message {
  border-color: #00b000;
  background-color: #c0ffc0;
  color: #003300;
}

div#branding_logo {
	text-align: right;
	width: 960px;
	margin: 0 auto;
	margin-bottom: 5px;
	position: relative;
}

#branding_logo img {
	vertical-align: middle;
}

#branding_logo ul {
	position: absolute;
	left: 3px;
	bottom: 1px;
}

#branding_logo li {
	display: inline;
}

#branding_logo #customer_links {
  display: inline;
}

#branding_logo #customer_links,
#branding_logo #customer_links a {
  color: white;
}

div#menu_bar {
	height: 38px;
	background: url(/images/portal/common/menu_bar.jpg);
	border-top: 2px solid #C7C7C7;
	border-bottom: 1px solid #D1D1D1;
	padding: 0 8px;
	margin-bottom: 5px;
}

div#menu_bar h1 {
	float: left;
	font-size: 16px;
	color: #666666;
	line-height: 38px;
	padding-left: 42px;
	background: url(/images/portal/common/menu_bar_card.jpg) no-repeat left 50%;
}

div#menu_bar #menu {
	float: right;
}

div#menu_bar #menu li {
	float: left;
	font-size: 14px;
	font-weight: bold;
	margin-left: 14px;
}

div#menu_bar #menu li a,
div#menu_bar #menu li span {
	display: inline-block;
	height: 38px;
	
	line-height: 38px;
	color: #999999;
	padding: 0 9px;
}

div#menu_bar #menu li.selected a,
div#menu_bar #menu li.selected span {
	background: url(/images/portal/common/menu_item_selected.jpg);
	border-left: 1px solid #D5D5D5;
	border-right: 1px solid #D5D5D5;
	color: #666666;
}

div#primary {
	background: white;
	width: 929px;
	margin: 0 auto;
	padding: 0 15px 60px 15px;
}

ul#user_bar {
	text-align: right;
	padding: 5px;
	margin-bottom: 5px;
	background: #EEE;
	border-bottom: 1px solid #C7C7C7;
	border-top: 1px solid #C7C7C7;
	margin-bottom: 5px;
}

ul#user_bar li {
	display: inline;
	margin-left: 20px;
}

ul#user_bar li.selected {
	font-weight: bold;
}

ul#user_bar li a {
	color: #4B4B4B;
}

ul#user_bar li#username {
	font-weight: bold;
	float: left;
	margin-left: 0;
}

div#page_footer {
	width: 959px;
	margin: 0 auto;
	font-size: 12px;
	padding-top: 6px;
}

div#page_footer span.dash {
  margin: 0px 5px;
}

div#page_footer .right {
	font-weight: bold;
}

/* Booking Steps commons */

div.booking_steps h3 {
	font-size: 15px;
	color: #4B4B4B;
	border-bottom: 2px solid #A68CCD;
	padding-bottom: 2px;
	margin-bottom: 10px;
}

div.booking_steps h3 span.right {
	font-size: 12px;
}	

div.booking_steps p {
	font-size: 12px;
	color: #4B4B4B;
	line-height: 120%;
	margin-bottom: 14px;
}

div.booking_steps div.form_wrapper th {
	text-align: left;
	font-size: 12px;
	color: #4B4B4B;
	width: 120px;
	padding: 4px 0;
}

div.provider_information {
	margin-bottom: 22px;
}

div.provider_information img {
	float: right;
	width: 100px;
	margin-right: 19px;
}

div.provider_information .details {
	font-size: 12px;
	color: #4B4B4B;
	line-height: 120%;
	float: left;
	width: 250px;
}

div.provider_information .details a {
	display: block;
	text-decoration: underline;
	font-weight: bold;
	color: #4B4B4B;
	margin-bottom: 7px;
}

/* End Booking Steps commons */

/* New Appointment */

div#new_appointment {
	padding: 0;
}

div#new_appointment #appointment_form_wrapper {
	float: left;
	width: 421px;
}

ol#appointment_bread_crumbs {
  list-style: none;
  padding: 0 0 10px 0;
  margin: 10px 0 5px 0;
  overflow: hidden;
  height: 36px;
  border-bottom: 1px solid #ccc;
}

ol#appointment_bread_crumbs li {
  padding: 0 0 0 44px;
  margin: 0 8px 0 0;
  background: no-repeat left center;
  float: left;
  line-height: 36px;
  font-weight: bold;
}
ol#appointment_bread_crumbs li.step_1.on        { background-image: url(/images/portal/common/appointment_steps/1_on.png); }
ol#appointment_bread_crumbs li.step_1.off       { background-image: url(/images/portal/common/appointment_steps/1_off.png); }
ol#appointment_bread_crumbs li.step_1.completed { background-image: url(/images/portal/common/appointment_steps/1_completed.png); }
ol#appointment_bread_crumbs li.step_2.on        { background-image: url(/images/portal/common/appointment_steps/2_on.png); }
ol#appointment_bread_crumbs li.step_2.off       { background-image: url(/images/portal/common/appointment_steps/2_off.png); }
ol#appointment_bread_crumbs li.step_2.completed { background-image: url(/images/portal/common/appointment_steps/2_completed.png); }
ol#appointment_bread_crumbs li.step_3.on        { background-image: url(/images/portal/common/appointment_steps/3_on.png); }
ol#appointment_bread_crumbs li.step_3.off       { background-image: url(/images/portal/common/appointment_steps/3_off.png); }
ol#appointment_bread_crumbs li.step_3.completed { background-image: url(/images/portal/common/appointment_steps/3_completed.png); }
ol#appointment_bread_crumbs li.step_4.on        { background-image: url(/images/portal/common/appointment_steps/4_on.png); }
ol#appointment_bread_crumbs li.step_4.off       { background-image: url(/images/portal/common/appointment_steps/4_off.png); }
ol#appointment_bread_crumbs li.step_4.completed { background-image: url(/images/portal/common/appointment_steps/4_completed.png); }

#appointment_form_wrapper h3 {
  margin-top: 5px;
}

div#new_appointment #appointment_form_wrapper #appointment_details {
  width: 100%;
}

div#new_appointment #appointment_form_wrapper #appointment_details td {
	font-size: 12px;
}

div#new_appointment #appointment_form_wrapper #appointment_details td a {
	color: #0066FF;
	text-decoration: underline;
	font-size: 10px;
	font-weight: bold;
}

div#new_appointment #appointment_form_wrapper #appointment_details .time_field {
	border: 1px solid #ccc;
	height: 21px;
	color: #666;
	line-height: 21px;
	padding: 0 4px;
	float: left;
}

div#new_appointment th {
  vertical-align: top;
}

div#new_appointment #appointment_form_wrapper #appointment_details td select {
	margin-right: 0px;
	width: 100%;
}

#appointment_details #view_services {
  float: left;
  margin-bottom: 5px;
}

div#new_appointment #calendar {
	float: left;
	width: 482px;
	margin-left: 17px;
}

div#new_appointment #calendar table {
	width: 482px;
	font-size: 12px;
}

div#new_appointment #calendar table thead tr.first {
  height: 21px;
}

div#new_appointment #calendar table thead td a {
	color: #333333;
	font-size: 11px;
	font-weight: bold;
}

div#new_appointment #calendar table thead th {
	height: 38px;
	background: #E8E8E8;
	border-top: 2px solid #A68CCD;
	text-align: left;
	line-height: 100%;
	color: #333333;
	padding: 5px 3px;
	width: 58px;
}

div#new_appointment #calendar table thead th span {
	font-size: 9px;
}

div#new_appointment #calendar table thead th.left_arrow {
	width: 53px;
}

div#new_appointment #calendar table thead th.right_arrow {
	width: 0px;
	text-align: center;
}

div#new_appointment #calendar #availability_hours {
	width: 53px;
	float: left;
	background: #F5F5F5;
	border-right: 1px solid #CCCCCC;
}

div#new_appointment #calendar #availability_hours div.hour_slot {
	border-top: 1px solid #CCCCCC;
	text-align: right;
	width: 53px;
}

div#new_appointment #calendar #availability_hours div.minute_slot {
	text-align: right;
	padding-right: 3px;
	width: 50px;
	font-size: 12px;
	color: #666666;
	font-weight: bold;
	position: absolute; 
	left: 0;
}

div#new_appointment #calendar #availability_hours div.minute_slot.minutes_only {
	font-size: 11px;
}

div#new_appointment #calendar #availabilities div.day {
	float: left;
	width: 53px;
	position: relative;
	padding: 0 4px;
}

div#new_appointment #calendar #availabilities div.day div.availability {
	margin: 0;
	width: 52px;
	position: absolute;
	border-collapse: collapse;
	cursor: pointer;
}

div#new_appointment #calendar #availabilities #no_availabilities {
	width: 482px;
	font-size: 15px;
	font-weight: bold;
	color: #666666;
	padding-top: 20px;
	text-align: center;
}

div#new_appointment #calendar #availabilities div.day div.availability div {
	padding: 0;
	margin: 0;
	vertical-align: top;
}

div#new_appointment #calendar #availabilities div.day div.availability div.top {
	background: url(/images/portal/common/calendar_block_w.jpg) no-repeat top;
	text-align: center;
	padding-top: 1px;
}

div#new_appointment #calendar #availabilities div.day div.availability div.top div {
	display: none;
	color: white;
	font-size: 10px;
	font-weight: bold;
	line-height: 100%;
}

div#new_appointment #calendar #availabilities div.day div.availability div.bottom {
	background-image: url(/images/portal/common/calendar_block_bottom_w.jpg);
	overflow: hidden;
	height: 4px;
	width: 52px;
}

div#new_appointment #calendar #hour_markers {
	width: 200px; 
	position: absolute;
	left: 0;
}

div#new_appointment #calendar #hour_markers .hour_marker {
	position: absolute;
	width: 481px;
	border-top: 1px solid #CCCCCC;
}

div#new_appointment #calendar #availabilities div.day div.availability:hover div.top, div#new_appointment #calendar #availabilities div.day div.availability.hovered div.top, div#new_appointment #calendar #availabilities div.day div.availability.selected div.top {
	background: url(/images/portal/common/calendar_block_hover_w.jpg) no-repeat top;
}

div#new_appointment #calendar #availabilities div.day div.availability:hover div.top div, div#new_appointment #calendar #availabilities div.day div.availability.hovered div.top div, div#new_appointment #calendar #availabilities div.day div.availability.selected div.top div {
	display: block;
}

div#new_appointment #calendar #availabilities div.day div.availability:hover div.bottom, div#new_appointment #calendar #availabilities div.day div.availability.hovered div.bottom, div#new_appointment #calendar #availabilities div.day div.availability.selected div.bottom {
	background: url(/images/portal/common/calendar_block_bottom_hover_w.jpg);
}

#portal_day_calendar {
  float: left;
	margin-left: 17px;
}

#portal_day_calendar .spacer, #portal_day_calendar .caption {
  background: url(/images/portal_day_calendar/caption_background.png);
}

#portal_day_calendar .caption .column h4 {
  padding: 7px 10px;
  text-align: center;
  color: #333333;
}

#portal_day_calendar .legend {
  background: url(/images/portal_day_calendar/legend_background.png);
}

#portal_day_calendar .legend .row h4 {
  padding: 2px;
  text-align: right;
  color: #666666;
}

#portal_day_calendar .grid {
  background: url(/images/portal_day_calendar/grid_background.png);
}

#portal_day_calendar .grid .block {
  z-index: 1;
  text-align: center;
  text-indent: -10000px;
}

#portal_day_calendar .grid .block.availability {
  z-index: 2;
  background: url(/images/portal_day_calendar/block_background.png);
  color: white;
  font-weight: bold;
  cursor: pointer;
  text-indent: 0px;
}

#portal_day_calendar .grid .block.availability.hovered, #portal_day_calendar .grid .block.availability.selected, #portal_day_calendar .grid .block.availability:hover {
  background: url(/images/portal_day_calendar/block_background_active.png);
}

/* End New Appointment */

/* Customer Edit */

div#customer_edit #customer_form_wrapper {
	float: left;
	width: 539px;
}

#customer_details {
  border: 1px dashed #999999;
  margin: 10px 0px;
  padding: 10px;
}

#customer_details th {
  width: 149px;
}

#customer_details #customer_details_links {
  margin-right: 5px;
}

#customer_details #customer_details_links .customer_details_link {
  float: right;
  font-weight: bold;
  margin-left: 20px;
}

#customer_details #customer_details_links .customer_details_link.active a {
  text-decoration: underline;
}

div#customer_edit #customer_form_wrapper h4 {
	font-size: 14px;
	color: #4B4B4B;
}

div#customer_edit #customer_form_wrapper table {
	margin-bottom: 15px;
}

div#customer_edit #customer_form_wrapper table td {
	padding-top: 3px;
	line-height: 20px;
	font-size: 12px;
	color: #4B4B4B;
	vertical-align: top;
}

div#customer_edit #customer_form_wrapper table th {
	vertical-align: top;
	padding-top: 6px;
    width: 11em;
}

div#customer_edit #customer_form_wrapper table td p {
	margin-left: 18px;
	font-size: 11px;
	color: #666;
	margin-bottom: 0px;
}

div#customer_edit #customer_form_wrapper table td a {
	color: #0066FF;
	font-weight: bold;
	text-decoration: underline;
}

div#customer_edit #customer_form_wrapper .text_area {
	width: 200px;
	height: 100px;
}

div#customer_edit #customer_form_wrapper .text_field {
	width: 194px;
	height: 22px;
	padding: 0 3px;
}

div#customer_edit #appointment_details {
	float: left;
	width: 359px;
	margin-left: 17px;
}

div#customer_edit #appointment_details table {
	font-size: 12px;
	color: #4B4B4B;
}

div#customer_edit #appointment_details table th {
	text-align: left;
	font-size: 12px;
	color: #4B4B4B;
	width: 110px;
	padding: 4px 0;
	vertical-align: top;
}

/* End Customer Edit */

/* Appointment complete */

div#appointnment_complete #appointment_details {
	float: left;
	width: 501px;
}

div#appointnment_complete #appointment_details h4 {
	color: #4B4B4B;
	font-size: 15px;
}

div#appointnment_complete #appointment_details table {
	font-size: 12px;
	margin-bottom: 15px;
	margin-top: 5px;
}

div#appointnment_complete #appointment_details table th {
	padding: 2px 0;
}

div#appointnment_complete #appointment_details table td {
	padding: 2px 0;
	color: #4B4B4B;
}

div#appointnment_complete .provider_information {
	margin-left: 37px;
	float: left;
	width: 370px;
}

div#appointnment_complete .provider_information a {
	font-size: 18px;
}

/* End Appointment complete*/

/* Payment Form */

div#payment_form {
	float: left;
	width: 549px;
}

div#payment #payment_form form.do-payment {
  float: left;
}
div#payment #payment_form form.skip-payment {
  float: right;
}

div#payment #appointment_details {
	float: left;
	width: 359px;
	margin-left: 17px;
}

div#payment #appointment_details table {
	font-size: 12px;
	color: #4B4B4B;
}

div#payment #appointment_details table th {
	text-align: left;
	font-size: 12px;
	color: #4B4B4B;
	width: 110px;
	padding: 4px 0;
	vertical-align: top;
}

div#payment table td {
	padding: 2px 0;
	color: #4B4B4B;
	font-size: 12px;
}

/* End Payment Form*/


/* Services */

ul#services li, ul#resources li {
	border-bottom: 1px solid #C8C8C8;
	padding-bottom: 25px;
	margin-bottom: 25px;
}

ul#services li .service_info, ul#resources li .resource_details {
	float: left;
	width: 595px;
}

ul#services li img, ul#resources li img {
	float: left;
	border: 1px solid #AFB7B2;
	margin-right: 15px;
	width: 112px;
}

ul#services h2, ul#resources h2 {
	color: #EF9C01;
	font-size: 17px;
	margin-bottom: 6px;
}
	
ul#services p, ul#resources p {
	font-size: 12px;
	color: #4B4B4B;
	line-height: 120%;
	margin-bottom: 11px;
}

ul#services table {
	color: #4B4B4B;	
	font-size: 12px;
	margin-top: 11px;
}

ul#services table th {
	text-align: left;
	font-size: 12px;
	color: #4B4B4B;
	width: 110px;
	padding: 0px 0;
	vertical-align: top;
}

ul#services table td {
	padding: 0px 0;
}

ul#services .submit {
	padding: 2px 6px 3px 6px;
	margin-top: 15px
}


/* End Services */

/* About Us */

div#about_us_wrapper {
	padding: 0 8px 0 8px;
}

div#about_us {
	float: left;
	width: 550px;
}

h3 {
	font-size: 15px;
	color: #4B4B4B;
	padding-bottom: 2px;
	margin-bottom: 10px;

}

div#about_us .company_details {
	font-size: 12px;
	margin: 0px 0 18px 0;
}

div#about_us .company_details th {
	vertical-align: top;
	text-align: left;
	color: #4B4B4B;
	width: 130px;
	padding: 4px 0;
}

div#about_us .company_details td {
	color: #4B4B4B;
	line-height: 120%;
	padding: 4px 0;
}

div#about_us .company_details td a {
	color: #0066FF;
	text-decoration: underline;
}

div#about_us p {
	font-size: 12px;
	line-height: 120%;
	color: #4B4B4B;
	margin-bottom: 15px;
}

div#about_us #small_services li {
	border-bottom: 1px solid #C8C8C8;
	width: 420px;
	padding-bottom: 12px;
	margin-bottom: 12px;
}

div#about_us #small_services img {
	width: 59px;
	float: right;
	margin-left: 12px;
}

div#about_us #small_services .service_details {
	float: left;
	width: 348px;
	font-size: 12px;
	color: #4B4B4B;
	line-height: 120%;
}

div#about_us #small_services h5 {
	font-size: 14px;
	color: #4B4B4B;
	margin-bottom: 3px;
}

img.provider_photo {
	float: right;
	width: 340px;
}

/* End About Us */


div.errorExplanation {
	padding: 10px 10px 5px 10px;
	border: 2px solid #e57a05;
	background-color: #ffd17f;
	margin-bottom: 15px;
  color: black;
}

div.errorExplanation h2 {
	font-size: 15px;
}

div.errorExplanation p {
  margin-bottom: 5px;
  font-size: 15px;
  font-weight: bold;
  color: black;
}

div.errorExplanation ul {
	margin: 0 0 5px 1em;
}

div.errorExplanation ul li {
	list-style-type: disc;
	font-size: 12px;
	margin-bottom: 3px;
}

/* FAQ */

div#faq li {
	font-size: 16px;
	font-weight: bold;
	color: #4B4B4B;
	margin-bottom: 20px;
}

div#faq li div {
	font-size: 12px;
	font-weight: normal;
	line-height: 120%;
}

/* End FAQ */

div#privacy h2 {
	font-size: 18px;
	margin-bottom: 10px;
	color: #4B4B4B;
}

div#privacy ul {
	margin-left: 1em;
}

div#privacy li {
	list-style: disc;
	font-size: 12px;
	color: #4B4B4B;
	margin-bottom: 15px;
}

.submit_tag {
	margin-top: 14px;
	border: 0;
	background: url(/images/portal/common/button.jpg) no-repeat;
	width: 139px;
	height: 40px;
	font-size: 14px;
	color: white;
	text-align: left;
	padding: 0 0 4px 15px;
	font-weight: bold;
	line-height: 12px;
	font-family: Verdana;
	cursor: pointer;
}

.submit_tag:hover {
	background: url(/images/portal/common/button_hover.jpg);
}

.time_place_holder {
	width: 21px;
	height: 15px;
	padding-bottom: 0;
	background: url(/images/portal/common/placeholder.jpg) no-repeat;
	margin: 0 4px;
	display: inline-block;
	position: relative;
	top: 2px;
}

form.form .form_item {
  margin: 5px 0px;
}

form.form .form_item label, form.form .form_item input {
  float: left;
}

form.form .form_item label {
  width: 155px;
  margin-right: 5px;
  line-height: 20px;
  text-align: right;
}

form.form .form_item input[type="text"], form.form .form_item input[type="password"] {
  color: #4B4B4B;
}

form.form .form_item span.info {
  margin-left: 5px;
  line-height: 20px;
  font-size: 11px;
}

img.inactive_locale {
	background-color:#ffffff; 
	filter:alpha(opacity=40); 
	-moz-opacity:0.4; 
	opacity: 0.4;
}

.day_calendar_style {
  padding-left: 17px;
  color: #333333;
  font-size: 11px;
  font-weight: bold;
  height: 16px;
}

a.portal-phone-help {
  margin: 3px 5px 0 0;
  background: url(/images/icons/info.gif) no-repeat left top;
  float: left;
  width: 20px;
  height: 20px;
  cursor: help;
  text-decoration: none !important;
}

a.portal-phone-help span {
  position: absolute;
  display: none;
  width: 250px;
  top: 25px;
  
  border: 1px solid #4b4b4b;
  background-color: white;
  padding: 5px;
  font-size: 90%;
  color: #4b4b4b;
  font-weight: normal;
}

a.portal-phone-help:hover {
  position: relative;
}
a.portal-phone-help:hover span {
  display: block;
}
