div.map {
    overflow: hidden;
    background-color: #beeef0;
}
div.map  {
    overflow: hidden;
}

div#open_appointments {
}
table.open_appts {
}
table.open_appts th, table.open_appts td {
    padding: 5px;
}
table.open_appts th.last, table.open_appts td.last {
    border-right: solid 1px #777;
}
table.open_appts th.blank_week {
}
table.open_appts th.blank_day {
    border-bottom: solid 1px #777;
}
table.open_appts td.previous_week {
    font-size: 10px;
    text-align: center;
    border-top: solid 1px #777;
    border-left: solid 1px #777;
    border-bottom: solid 1px #777;
    background-color: #aaa;
}
table.open_appts td.next_week {
    font-size: 10px;
    text-align: center;
    border-top: solid 1px #777;
    border-right: solid 1px #777;
    border-bottom: solid 1px #777;
    background-color: #aaa;
}
table.open_appts th.week_label {
    font-size: 20px;
    background-color: #aaa;
    border-top: solid 1px #777;
    border-bottom: solid 1px #777;
    text-align: center;
}
table.open_appts th.day_label {
    width: 80px;
    background-color: #eee;
    border-left: solid 1px #777;
    border-bottom: solid 1px #777;
    text-align: center;
}
table.open_appts td.no_appts {
    font-size: 12px;
    text-align: center;
    border-left: solid 1px #777;
    border-bottom: solid 1px #777;
    border-right: solid 1px #777;
    background-color: #F5F5F5;
}
table.open_appts td.no_appts div.next_appt {
    float: left;
    margin-left: 200px;
    text-align: left;
}
table.open_appts td.day {
    border-left: solid 1px #777;
    border-bottom: solid 1px #777;
    vertical-align: top;
    background-color: #F5F5F5;
}
table.open_appts td.day div.appt {
    margin: 3px 0px;
    font-size: 11px;
    text-align: center;
}
table.open_appts td.appt {
    border-left: solid 1px #777;
    vertical-align: top;
    background-color: #F5F5F5;
}
table.open_appts td.stylist {
    width: 100px;
    background-color: #eee;
    border-left: solid 1px #777;
    border-bottom: solid 1px #777;
    vertical-align: top;
}
table.open_appts td.stylist img {
}
table.open_appts td.stylist div.rating {
    margin-top: 3px;
}
table.open_appts td.stylist div.label {
    font-weight: bold;
}
table.open_appts td.stylist div.related_service {
    clear: both;
}
table.open_appts td.stylist div.related_service a {
    font-size: 7pt;
    font-weight: normal;
    color: #f00;
}
table.open_appts td.stylist div.related_service a:active,
table.open_appts td.stylist div.related_service a:hover {
    text-decoration: underline;
}
table.open_appts td.stylist div.stylist_blurb {
    clear: both;
    margin-top: 10px;
    font-size: 8pt;
}
table.open_appts td.stylist div.service_info {
    margin-top: 10px;
    font-size: 8pt;
}
table.open_appts td.stylist div.service_info div.price,
table.open_appts td.stylist div.service_info div.duration {
    font-weight: bold;
}
table.open_appts td.stylist div.stylist_location {
    margin-top: 10px;
    font-size: 8pt;
}
table.open_appts td.footer {
    border-bottom: solid 1px #777;
    border-left: solid 1px #777;
    height: 0px;
    background-color: #F5F5F5;
}
table.open_appts td.footer_blank {
    font-size: 12px;
    border-left: solid 1px #777;
    border-bottom: solid 1px #777;
    background-color: #aaa;
}
table.open_appts td.footer_previous_week {
    font-size: 10px;
    text-align: center;
    border-bottom: solid 1px #777;
    background-color: #aaa;
}
table.open_appts td.footer_empty {
    font-size: 12px;
    border-bottom: solid 1px #777;
    background-color: #aaa;
}
table.open_appts td.footer_next_week {
    font-size: 10px;
    text-align: center;
    border-right: solid 1px #777;
    border-bottom: solid 1px #777;
    background-color: #aaa;
}

div.new_appointment_current div.appointment_detail {
    float: left;
    width: 855px;
    margin: 0px 0px 5px 0px;
}
div.new_appointment_current div.appointment_detail dl {
    margin: 3px 0px;
    clear: both;
}
div.new_appointment_current div.appointment_detail dl dt {
    float: left;
    width: 70px;
    font-weight: bold;
    text-align: justify;
}
div.new_appointment_current div.appointment_detail dl dd {
    margin-left: 90px;
}
div.new_appointment_current div.appointment_detail div.submit {
    float: left;
    margin-bottom: 10px;
}
div.new_appointment_current div.appointment_detail div.start_over {
    float: left;
    margin: 15px 0px 0px 20px;
    font-size: 10pt;
}
div.new_appointment_current div.appointment_detail div#authorize_net_logo {
    clear: both;
    margin: 10px 0px 5px 130px;
}
div.new_appointment_current div.appointment_detail div.disclaimers {
    margin: 10px 0px 3px 0px;
    font-size: 8pt;
}
div.new_appointment_current div.appointment_detail div.disclaimers li {
    margin: 3px 0px 7px 0px;
}

div.new_appointment_section {
    clear: both;
    margin: 10px 0px 10px 0px;
}
div.new_appointment_section div.selections {
    margin: 5px 0px 0px 0px;
    font-size: 11pt;
}
div.new_appointment_section div.selections div.label {
    float: left;
    font-weight: bold;
}
div.new_appointment_section div.selections div.value {
    float: left;
    margin: 0px 0px 0px 20px;
}
div.new_appointment_section div.selections div.selection_actions {
    float: left;
    margin: 0px 0px 0px 20px;
}
div.new_appointment_current {
    margin: 5px 0px 5px 0px;
}
div.new_appointment_current div.secondary_actions {
    margin: 15px 0px 0px 20px;
}
div.new_appointment_current ul.options {
    margin: 0px 20px 20px 0px;
    list-style-type: none;
    list-style-position: inside;
}
div.new_appointment_current li.option {
    margin: 0px 0px 10px 20px;
    list-style-type: none;
}
div.new_appointment_current li.option span.name {
    font-weight: bold;
}
div.new_appointment_current li.option input {
    margin: 0px 5px 0px 0px;
}
div.new_appointment_current div.submit {
    margin: 10px 0px 0px 40px;
}
div.new_appointment_current div.note {
    margin: 10px 0px 0px 20px;
    width: 80%;
    font-size: 10pt;
}
div.new_appointment_current div.select_service_stylist div.title {
    font-weight: bold;
}
div.new_appointment_current div.select_service_stylist div.all_wrap {
    margin: 5px 0px 0px 30px;
}
div.new_appointment_current div.select_service_stylist div.all_wrap img {
    float: left;
}
div.new_appointment_current div.select_service_stylist div.all_wrap div.right_wrap {
    float: left;
    margin: 0px 0px 0px 20px;
}
div.new_appointment_current div.select_service_stylist div.all_wrap div.name {
}
div.new_appointment_current div.select_service_stylist div.all_wrap div.clear {
    margin: 10px 0px 0px 0px;
    font-size: 9pt;
}
div.new_appointment_current ul.no_stylist {
    width: 250px;
    float: left;
}
div.new_appointment_current ul.options li.service_heading {
    font-size: 18px;
    padding-bottom: 10px;
    background-image: url(/images/small_bar.jpg);
    background-repeat: no-repeat;
    background-position: left bottom;
    list-style-type: none;
}
div.new_appointment_current ul.options li.service_option {
    list-style-type: none;
}
div.new_appointment_current li.service_option input {
    float: left;
    /*    margin-top: 3px;*/
    margin: 0px 3px 0px 0px;
}
div.new_appointment_current li.service_option div.name {
    float: left;
    width: 200px;
    margin-left: 3px;
}
div.new_appointment_current li.service_option div.controls {
    margin: 10px 20px 10px 20px;
}
table.new_appointment_services td.category {
    font-weight: bold;
}
table.new_appointment_services td.button {
    padding-left: 20px;
}
table.new_appointment_services td.name {
    padding-left: 20px;
}
table.new_appointment_services td.price {
    padding-left: 20px;
}
table.new_appointment_services td.duration {
    padding-left: 20px;
}
div.new_appointment_current div.payment {
    margin: 20px 0px 0px 0px;
}
div.new_appointment_current div.payment div#payment_errors {
    margin: 10px 0px 10px 0px;
    color: #f00;
    font-size: 10pt;
}
div.new_appointment_current div.payment div#payment_errors div.label {
    margin: 0px 0px 5px 0px;
}
div.new_appointment_current div.payment div#payment_errors li {
    margin: 0px 0px 5px 20px;
    list-style-type: none;
}
div.new_appointment_current div.payment div.booking_fee_bold {
    font-weight: bold;
}
div.new_appointment_current div.payment div.client_balance {
    margin: 10px 0px 0px 0px;
}
div.new_appointment_current div.payment div.coupon {
    margin: 10px 0px 0px 0px;
}
div.new_appointment_current div.payment div.amount_due {
    margin: 10px 0px 0px 0px;
    font-weight: bold;
}
div.new_appointment_current div.payment div.no_billing {
    margin: 20px 0px 0px 0px;
}
div.new_appointment_current div.payment div.extra_billing_info {
    margin: 10px 0px 0px 0px;
}
div.new_appointment_current div.payment div.create_billing {
    margin: 10px 0px 0px 0px;
    font-size: 10pt;
}
div.new_appointment_current div.payment div.pay_via {
    margin: 10px 0px 10px 0px;
}
div.new_appointment_current div.payment div.pay_via div.label {
    float: left;
    clear: both;
    margin: 0px 10px 10px 0px;
    font-weight: bold;
}
div.new_appointment_current div.payment div.pay_via div.method {
    float: left;
}
div.new_appointment_current div.payment div.pay_via div.ccv {
    float: left;
}
div.new_appointment_current div.payment div.pay_via div.ccv span#ccv_help_link,
div.new_appointment_current div.payment div.pay_via div.ccv span#ccv_help_hide_link {
    padding-left: 5px;
    font-size: 8pt;
}
div.new_appointment_current div.payment div.pay_via div#ccv_help {
    margin: 10px 0px 20px 0px;
    clear: both;
    width: 400px;
    font-size: 8pt;
}
div.new_appointment_current div.payment div#coupon_fields div.label {
    float: left;
    clear: both;
    margin: 10px 10px 10px 0px;
    font-weight: bold;
}
div.new_appointment_current div.payment div#coupon_fields div.coupon_code {
    margin: 10px 0px 0px 0px;
    float: left;
}
div.new_appointment_current div.payment span#use_coupon_link {
    padding-left: 15px;
    font-size: 10pt;
}
div.new_appointment_current div.payment div#cancel_coupon_link {
    margin: 10px 0px 0px 10px;
    float: left;
    font-size: 8pt;
    line-height: 16pt;
}
div.new_appointment_current div.payment div#use_coupon_wrap {
    margin: 10px 10px 10px 10px;
    float: left;
}

div.new_appointment_current div#appt_note_wrap {
    margin: 10px 0px 10px 20px;
    float: left;
}
div.new_appointment_current div#appt_note_wrap2 {
    margin: 20px 0px 0px 0px;
}
div.new_appointment_current div#appt_note_fields {
    margin: 5px 0px 5px 25px;
}

div#open_appointments div#view_all_stylists {
    clear: both;
    margin: 10px 0px 10px 0px;
    font-size: 12px;
}
div#open_appointments div.stylist_sort {
    margin: 10px 0px 10px 110px;
    font-size: 11pt;
}
div#open_appointments div.stylist_sort li {
    float: left;
    margin: 0px 20px 0px 0px;
    list-style-type: none;
}
div#open_appointments div.stylist_sort li.label {
    margin: 0px 20px 0px 0px;
    font-weight: bold;
}
div#open_appointments div.stylist_sort li.current_sort {
    font-weight: bold;
    line-height: 13pt;
    color: #000;
}
div#open_appointments div.stylist_sort li.current_sort a {
    color: #000;
}
div#open_appointments div.stylist_sort li.current_sort img {
    background-color: #777;
    margin-bottom: -3px;
    padding: 2px;
}
div#open_appointments div.stylist_sort li.sort {
    padding-right: 18px;
}

div#open_appointments div.paging {
    padding: 5px 0px 5px 0px;
    width: 800px;
    font-size: 10pt;
}
div#open_appointments div.paging div.info {
    float: left;
    width: 380px;
}
div#open_appointments div.paging div.pagelinks {
    width: 350px;
    margin-left: 400px;
    text-align: right;
}

div.appointments_display_wrap {
    margin: 10px 0px 0px 0px;
}
div.appointments_display_wrap div.appointments_header {
    width: 600px;
}
div.appointments_display_wrap div.appointments_header div.prev {
    float: left;
    width: 100px;
    margin: 0px 0px 0px 0px;
}
div.appointments_display_wrap div.appointments_header div.day {
    float: left;
    width: 400px;
    margin: 0px 0px 0px 0px;
    text-align: center;
    font-size: 16pt;
    font-weight: bold;
    text-align: center;
    line-height: 16pt;
}
div.appointments_display_wrap div.appointments_header div.day div.for_stylist {
    display: none;
}
div.appointments_display_wrap div.appointments_header div.next {
    float: left;
    width: 100px;
    margin: 0px 0px 0px 0px;
    text-align: right;
}
div.appointments_display_wrap div.no_appointments {
    margin: 20px 0px 0px 0px;
    font-style: italic;
}

div.appointments_display_wrap div.appointment_detail {
    width: 600px;
    margin: 20px 0px 0px 0px;
}
div.appointments_display_wrap div.appointment_detail div.dates {
    font-weight: bold;
}
div.appointments_display_wrap div.appointment_detail div.line {
    margin: 5px 0px 0px 0px;
}
div.appointments_display_wrap div.appointment_detail div.label {
    float: left;
    width: 110px;
    font-weight: bold;
}
div.appointments_display_wrap div.appointment_detail div.client_line img {
    float: left;
    margin-right: 10px;
}
div.appointments_display_wrap div.appointment_detail div.client {
    float: left;
}
div.appointments_display_wrap div.appointment_detail div.client div.client_name {
    font-weight: bold;
}
div.appointments_display_wrap div.appointment_detail div.client div.client_info {
    font-size: 10pt;
}
div.appointments_display_wrap div.appointment_detail div.service {
    float: left;
}
div.appointments_display_wrap div.appointment_detail div.price {
    margin: 0px 0px 0px 20px;
    float: left;
}
div.appointments_display_wrap div.appointment_detail div.duration {
    margin: 0px 0px 0px 20px;
    float: left;
}
div.appointments_display_wrap div.appointment_detail div.map {
    float: left;
    margin: 10px 0px 0px 0px;
    overflow: hidden;
    width: 270px;
    height: 180px;
}
div.appointments_display_wrap div.appointment_detail div.notes {
    margin: 10px 0px 0px 20px;
    float: left;
}
div.appointments_display_wrap div.appointment_detail div.ad_actions {
    margin: 10px 0px 0px 0px;
    font-size: 10pt;
}
div.appointments_display_wrap div.appointment_detail div.notes div.notes_label {
    font-weight: bold;
}
div.appointments_display_wrap div.appointment_detail div.notes div.notes_text {
    width: 300px;
    font-size: 11pt;
    overflow: auto;
}

div.appointments_display_wrap div.appointment_detail div.client_notes {
    margin: 20px 0px 5px 0px;
    overflow: auto;
}
div.appointments_display_wrap div.appointment_detail div.client_notes div.client_notes_label {
    font-weight: bold;
}

div.appointment {
    margin: 20px 0px 0px 0px;
    width: 500px;
}
div.appointment div.section {
    clear: both;
    margin: 0px 0px 10px 0px;
}
div.appointment div.section div.left {
    float: left;
    width: 220px;
}
div.appointment div.section div.right {
    float: left;
}
div.appointment div.section div.label {
    margin: 0px 0px 5px 0px;
    font-size: 10pt;
    font-weight: bold;
}
div.appointment div.section div.address_left {
    float: left;
}
div.appointment div.section div.address_right {
    float: left;
    margin-left: 10px;
    width: 270px;
    overflow: hidden;
}
div.appointment div.stylist img {
    float: left;
}
div.appointment div.stylist div.info {
    float: left;
    margin: 0px 0px 0px 10px;
}
div.appointment div.date {
    font-size: 18pt;
    font-weight: bold;
}
div.appointment div.duration {
    font-size: 10pt;
}
div.appointment div.prices div.price_label {
    float: left;
    clear: left;
    width: 250px;
    font-size: 10pt;
    font-weight: bold;
}
div.appointment div.prices div.price_amount {
    float: left;
    margin: 0px 0px 0px 10px;
}
div.appointment div.prices div.price_due {
    font-weight: bold;
}
div.appointment div.appointment_actions {
    font-size: 10pt;
}
div.appointment div.rating_form {
    margin: 10px 0px 0px 0px;
}
div.appointment div.rating_form li {
    float: left;
    margin: 0px 0px 10px 0px;
    list-style-type: none;
}
div.appointment div.rating_form li.field_left {
    font-weight: bold;
    font-size: 10pt;
    line-height: 16pt;
}
div.appointment div.rating_form li.field_right {
    margin-left: 10px;
}
div.appointment div.rating_form div.please {
    margin: 20px 0px 10px 0px;
    font-weight: bold;
}
div.appointment div.rating_form div.optionally {
    margin: 0px 0px 10px 0px;
    font-size: 10pt;
}
div.appointment div.rating_form div.testimonial {
    margin: 0px 0px 0px 30px;
}
div.appointment div.rating_form div.submit {
    margin: 10px 0px 5px 30px;
}
div.appointment div.stylist_note {
    margin: 20px 0px 15px 0px;
    overflow: auto;
}
div.appointment div.stylist_note pre {
}

div.cancel_appointment_wrap {
    margin: 20px 0px 10px 0px;
    width: 600px;
}
div.cancel_appointment_wrap div.button {
    float: left;
    margin: 20px 20px 0px 0px;
}
div.cancel_appointment_wrap div.button a {
    font-size: 10pt;
}

div.past_appointments_wrap {
}
div.past_appointments_wrap div.no_appointments {
    margin: 20px 0px 0px 0px;
}
div.past_appointments_wrap table.report {
    margin: 20px 0px 0px 0px;
}
div.past_appointments_wrap table.report td.stylist_image {
    padding-right: 0px;
}
div.past_appointments_wrap table.report td.stylist_name {
    padding-left: 0px;
}

div#services_wrap {
}
div#services_wrap a {
    font-weight: normal;
}
div#services_wrap a:link, div#services_wrap a:link {
}
div#services_wrap a:active, div#services_wrap a:hover {
    text-decoration: underline;
}
div#services_available_wrap {
    float: left;
    width: 550px;
}
div#services_selected_wrap {
    float: right;
    width: 270px;
    border-left: solid 1px #ccc;
    padding-bottom: 20px;
    margin-top: 30px;
}
div#services_selected_wrap ul.options {
    margin: 0px 10px 0px 0px;
}
div#services_selected_wrap div.submit {
    margin: 10px 0px 0px 40px;
}
li#services_hint {
    font-style: italic;
    list-style-position: outside;
}
div#services_limit_note {
    width: 80%;
    margin-top: 20px;
    margin-left: 20px;
    font-size: 8pt;
    color: #f00;
}
div#services_select_more_note {
    width: 80%;
    margin-top: 20px;
    margin-left: 20px;
    font-size: 8pt;
    font-style: italic;
}

p#select_services_blurb {
    float: left;
}
p#select_services_notes {
    float: right;
    font-size: 8pt;
}

div.na_services_header {
    margin-left: 20px;
    margin-bottom: 5px;
}

div.call_us_blurb {
    margin: 5px 0px 0px 62px;
    font-size: 14px;
}

dd.service_note { color: #017a85; }

div.stylist_service {
  margin-bottom: 5px;
}

a.no_dotted_line:visited { outline: none; }

div.service_link {
  padding: 2px 0;
  font-size: 0.85em;
}

div.service_link:hover {
    font-size: 1.1em;
    cursor:pointer;
}

#location_selector {
  padding: 10px 0;
}

select#appointment_location {
  width: 370px;
  padding: 4px 0;
}

a.selected_service {
  font-weight: bold;
  font-size: 0.80em;
  padding-right: 4px;
  display: block;
  width: 50%;
}

#selected_services_wrapper {
  margin: 10px 0;
}

#selected_services {
  margin-top: 5px;
}

div#client_edit_container {
  display: none;
}

div#client_edit_container form label {
  font-weight: bold;
  margin-right: 5px;
}

div#client_edit_container div {
  padding: 7px 0;
  font-size: 0.85em;
}

div#client_edit_container div#message {
    margin-top: 35px;
}

div#message .strong {
    font-weight: bold;
}

div#event_service_options {
  display: none;
  padding: 5px 0;
}

div#event_service_options .event_duration {
    margin-bottom: 3px;
}

div#event_service_options .price_note {
    font-size: 0.75em;
    padding-top: 2px;
}

#client_address_form label.disabled {
    color: #999;
}


div#email_alert {
    display: none;
    width: 220px;
    height: 500px;
}

a.go_to_services {
    display: block;
    padding: 20px 0;
}