body, p, div, td, th, table, form, img, h1, h2, h3
{
    font-family:Arial, Helvetica;
    font-size:12px;
    color:black;
    margin:0px;
    padding:0px;
    border:0px;
}

input       { margin:0px; }
body        { position:relative; }
p           { margin-bottom:12px; }

a, .ui-tabs-panel.ui-widget-content a
{
    color:#002E9C;
    text-decoration:none;
}

@media screen
{
    body    { background-color:#c8c8c8; }
}

a.action
{
    display:inline-block;
    padding-right:5px;
    padding-bottom:5px;
    color:#002E9C !important;
}

h1, h2, h3, h4
{
    color:#002E9C;
    font-weight:bold;
}

h1
{
    font-size:22px;
    white-space:nowrap;
    margin-bottom:6px;
}

h2
{
    font-size:16px;
    white-space:nowrap;
    margin-bottom:6px;
}

h3
{
    margin-bottom:5px;
}

ul
{
    margin:5px 0 5px 0;
    padding-left:30px;
}

div.divider
{
    position:relative;
    height:1px;
    max-height:1px;
    width:100%;
    background-color:#e0e0ff;
    margin-top:5px;
    margin-bottom:5px;
    clear:both;
    font-size:1px;
}

.label
{
    font-weight:bold;
    padding-right:5px;
}

.required
{
    color: red;
}

.form_table td
{
    padding-bottom: 10px;
    padding-right:5px;
}

.form_table th
{
    text-align:left;
    padding-bottom:2px;
}

.left_align_headers th
{
    text-align:left;
}

.form_table .label
{
    font-weight:bold;
    text-align:left;
}

.form_table input[type='text'], .form_table input[type='password'], .form_table select
{
    width:100%;
    margin-right:5px;
}

.form-prompt-text
{
    color: #808080;
    margin-left:5px;
    margin-top:3px;
    font-size: 12px;
}

.form-prompt-wrapper
{
    overflow:hidden;
    vertical-align:top;
}

#flash_notice
{
    border: 1px solid #008000;
    background-color: #d0ffd0;
    padding: 10px;
    margin-bottom:10px;
}

#flash_error
{
    border: 1px solid #800000;
    background-color: #ffc0c0;
    padding: 10px;
    margin-bottom:10px;
}

#errorExplanation
{
    border: 1px solid #800000;
    background-color: #ffd0d0;
    padding:10px;
    margin-bottom:10px;
    
}

#errorExplanation > .title
{
    margin-bottom:6px;
}

#errorExplanation > ul
{
    margin:0px;
    padding:0px;
}

#errorExplanation > ul > li
{
    margin-left:0px;
    padding-left:0px;
    list-style:none;
}

div.fieldWithErrors
{
    padding:0px;
    margin:0px;
    border:0px;
}

div.fieldWithErrors input[type='text'], div.fieldWithErrors input[type='password'], div.fieldWithErrors textarea
{
    border: 1px solid #a00000;
    background-color: #fff0f0;
}

div.dialog_content
{
    padding:10px;
    overflow:hidden;
    position:relative;
}

div.inline
{
    display: inline-block;
    vertical-align:top;
    margin-right: 10px;
}

.float_left
{
    float:left;
    margin-right:10px;
    margin-bottom:10px;
}

.float_right
{
    float:right;
    margin-left:10px;
    margin-bottom:10px;
}

input[type='text'], input[type='password'], textarea, select
{
    border:1px solid #a0a0e0;
}

input[type='text'], input[type='password'], textarea
{
    border:1px solid #a0a0e0;
    padding-left:2px;
    padding-right:2px;
}

input[type='text'], input[type='password']
{
    height:16px;
    padding-left:2px;
    padding-right:2px;
}

input[type='checkbox']{ margin-right: 5px;}
select
{
    height:22px;
}

.nowrap         { white-space:nowrap; }
.wrap           { white-space:normal !important; }
.spaced         { margin-bottom:6px; }
.good, .green   { color:#008000 !important; }
.bad, .red      { color:#c00000 !important; }
.orange         { color:#ff8000 !important; }
.blue           { color:#002E9C !important; }
.bright_blue    { color:#0000FC !important; }
.gray           { color:#a0a0a0 !important; }
.bold           { font-weight:bold; }
.strikethrough  { text-decoration: line-through; }
.larger         { font-size:14px; }
.smaller        { font-size:10px; }
.clear_float    { clear:both; }
.full_width     { width:100%; }
.auto_width     { width:auto !important; }
.hidden         { display:none; }
.shaded         { background-color:#e8e8ff; }
.gray_shaded    { background-color:#DDDDDD; }
.padded10       { padding:10px; }
.gray_border    { border:1px solid #d0d0d0 !important; }
.pngfix         { behavior: url(/images/iepngfix.htc); }
.right_align    { text-align:right; }
.ui-dialog      { max-width:800px; }
.ui-datepicker-trigger { vertical-align: top}
.border-bottom  { border-bottom:1px solid #a0a0a0; }

.ui-tabs .ui-tabs-panel
{
    padding:5px;
}

div.separator_right
{
    height:100%;
    border-right:1px solid black;
    margin-right:10px;
    padding-right:10px;
    position:relative;
}

div.columns2
{
    width:100%;
    position:relative;
}

div.columns2 > div
{
    display:inline;
    width:50%;
    vertical-align:top;
    padding-right:10px;
}

.brightspark-address-preview-popup
{
    border:2px solid #808080;
    background-color:white;
    margin-top:5px;
    min-width:200px;
    -moz-border-radius: 5px; -webkit-border-radius: 5px;
}

.brightspark-address-preview-nomatch
{
    white-space:nowrap;
    padding:4px;
    color:#a04040;
    font-weight:bold;
}

.brightspark-address-preview-list-item
{
    white-space:nowrap;
    cursor:pointer;
    padding:4px;
    padding-left:8px;
    padding-right:8px;
}

.brightspark-address-preview-list-item:hover
{
    background-color:#e0e0ff;
}

.brightspark-address-preview-list-item.selected
{
    background-color:#c0e0ff;
}

@media print
{
    .noprint { display:none; }
}

/*******************************************************************************

    ICONS

*******************************************************************************/

.icon
{
    display:inline-block;
    width:16px;
    height:16px;
    background-image:url(/images/icons.png);
    vertical-align:middle;
    background-repeat:no-repeat;
}

.icon-directions        { background-position: 0 0; }
.icon-map               { background-position: 0 -16px; }
.icon-call              { background-position: 0 -32px; }
.icon-edit              { background-position: 0 -48px; }
.icon-delete            { background-position: 0 -64px; }
.icon-print             { background-position: 0 -80px; }
.icon-upload            { background-position: 0 -96px; }
.icon-checkmark         { background-position: 0 -112px; }
.icon-add               { background-position: 0 -128px; }
.icon-ical              { background-position: 0 -144px; }
.icon-outlook           { background-position: 0 -160px; }
.icon-web               { background-position: 0 -176px; }
.icon-expand            { background-position: -16px 0; }
.icon-collapse          { background-position: -16px -16px; }
.icon-manage            { background-position: -16px -32px; }
.icon-users             { background-position: -16px -48px; }
.icon-report            { background-position: -16px -64px; }
.icon-security          { background-position: -16px -80px; }
.icon-rarrow            { background-position: -16px -96px; }
.icon-larrow            { background-position: -16px -112px; }
.icon-confirm,
.icon-dispute           { background-position: -16px -128px; }
.icon-checkin           { background-position: -16px -144px; }
.icon-info              { background-position: -16px -160px; }
.icon-reschedule        { background-position: -16px -176px; }
.icon-star              { background-position: -32px 0; }
.icon-star-empty        { background-position: -32px -16px; }
.icon-document          { background-position: -32px -32px; }
.icon-book-appt,
.icon-go                { background-position: -32px -48px; }
.icon-gift              { background-position: -32px -64px; }
.icon-offer             { background-position: -32px -64px; }
.icon-reminder          { background-position: -32px -80px; }
.icon-email             { background-position: -32px -96px; }
.icon-refresh           { background-position: -32px -112px; }
.icon-warning           { background-position: -32px -128px; }
.icon-new-search        { background-position: -32px -144px; }
.icon-descending        { background-position: -32px -160px; }
.icon-ascending         { background-position: -32px -176px; }
.icon-checkmark-blue    { background-position: -48px 0; }

/*******************************************************************************

    APPLICATION LAYOUT

*******************************************************************************/

div#application_layout_root
{
    width:967px;
    margin-left:auto;
    margin-right:auto;
}

div#application_layout_header
{
    position:relative;
    height:68px;
    background-image:url('/images/header.jpg');
    background-repeat:no-repeat;
}

div#application_layout_content
{
    background-color:white;
    min-height:400px;
    padding:40px;
    position:relative;
}
div#embeded_application_layout_content
{
  background-color: #ECF4F7;
  padding: 0 40px;
}

@media screen
{
    div#application_layout_content
    {
        background-image:url('/images/content_bg.jpg');
        background-repeat:repeat-y;
    }

    div#application_layout_footer
    {
        position:relative;
        background-image:url('/images/footer.jpg');
        background-repeat:no-repeat;
        height:124px;
    }
}

a#application_header_home
{
    float:left;
    height:65px;
    margin-left:10px;
    width:350px;
}

div#application_header_login
{
    position:absolute;
    right:20px;
    top:10px;
    width:400px;
    text-align:right;
    padding:0;
}

div#application_header_login a
{
    color:white;
}

div#application_footer_links
{
    position:absolute;
    right:20px;
    top:37px;
}

div#application_footer_links a
{
    color:white;
    font-weight:bold;
    margin-right:20px;
}

div#application_footer_copyright
{
    position:relative;
    text-align:center;
    top:70px;
    color:gray;
}

div.application_content_left
{
    position:relative;
    width:50%;
    float:left;
}

div.application_content_right
{
    position:relative;
    min-width:50%;
}

div.section_header
{
    position:relative;
    height:28px;
    border-bottom:1px solid #a0a0a0;
    margin-bottom:10px;
    background-color:#e8e8ff;
    padding-left:4px;
    clear:both;
    vertical-align:bottom;
    position: relative;
}
.blue_column div.section_header {padding-left: 0px}
div.section_header .section_title
{
    font-weight:bold;
    font-size:16px;
    color:#002E80;
    position:relative;
    top:5px;
}

div.section_header .section_subtitle
{
    
}

div.section_header img.section_image
{
    position:relative;
    vertical-align:middle;
    margin-right:10px;
    top:5px;
    float:left;
}

div.section_header div.section_toolbar
{
    position:absolute;
    right:4px;
    bottom:2px;
}

div#addthis_button
{
       position:absolute;
  top:11px;
  right:4%;
}

div#back_button_and_link
{
  position:absolute;
  left: 4%;
  top:11px;
}

div#seals
{
  padding-right: 7px;
}

div.seal
{
  position:relative;
  float: right;
  padding: 3px;
}

div#honcode
{
  
}

div#digicert
{
  padding-top: 9px;
}

/*******************************************************************************

    LOGIN

*******************************************************************************/

div#login_form
{
    width:200px;
}

/*******************************************************************************

    INFO BLURB

*******************************************************************************/

div#info_blurb
{

}

#info_blurb_bullets
{
    padding:10px;
}

#info_blurb_bullets div 
{
    vertical-align:middle;
    font-weight:bold;
    padding:2px;
}

div.info_box
{
    margin:30px 10px 0px 10px;
    background-color:#e0e0e0;
    padding:10px 20px 10px 20px;
    width: 235px;
    height:250px;
    position:relative;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

div.info_box div.title
{
    font-weight:bold;
    font-size:20px;
    margin-bottom:12px;
}

div.info_box div.bullet
{
    margin-bottom:10px;
    margin-left:25px;
    text-indent:-25px;
    font-size:14px;
}

div.info_box div.bullet .icon
{
    margin-right:9px;
}

div.info_box div.button
{
    position:absolute;bottom:15px;left:10px;right:10px;
}

div.info_box div.news
{
    margin-bottom:12px;
}

div.info_box div.news div
{
    font-size:14px;
}

div.info_box div.news div.date
{
    color:#808080;
}

div.info_box_2
{
    margin:30px 10px 0px 10px;
    background-color:#efefef;
    padding:10px 20px 10px 20px;
    width: 235px;
/*    height:280px;*/
    position:relative;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

div.info_box_2 div.title
{
    font-weight:bold;
    font-size:20px;
    margin-bottom:12px;
}

div.info_box_2 div.bullet
{
    margin-bottom:10px;
    margin-left:25px;
    text-indent:-25px;
    font-size:14px;
}

div.info_box_2 div.bullet .icon
{
    margin-right:9px;
}

div.info_box_2 div.button
{
    position:absolute;bottom:15px;left:10px;right:10px;
}

div.info_box_2 div.links
{
    margin-bottom:5px;
}

div.info_box_2 div.links div
{
    font-size:14px;
}


div.info_box_large
{
    margin:30px 10px 0px 10px;
    background-color:#efefef;
    padding:10px 20px 10px 20px;
    width: 532px;
/*    height:410px;*/
    font-size: 14px;
    position:relative;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}
div.info_box_large p {
    font-size: 14px;
}

/*******************************************************************************

    ABOUT US

*******************************************************************************/

.about_container
{
    width:700px;
}

div#about_links
{
    background-color:#e8e8ff;
    padding:10px;
    margin-right:50px;
    width:150px;
}

div.about_text
{
    width:500px;
}

div.about_text h1
{
    /*color:black;*/
    font-size:22px;
}

div.about_text h2
{
    color:black;
    font-size:18px;
    margin-top:20px;
    margin-bottom:10px;
}

/*******************************************************************************

    HOME

*******************************************************************************/

div#home_search
{
    position:relative;
    /* height:282px; */
    height: 630px;
    width: 870px;
    background-image: url('/images/doctors.png');
    background-repeat:no-repeat;
}

div#home_search div#search_box
{
    padding-left: 70px;
    padding-top: 140px;
    float: left;
}

div#home_search div#home_about 
{
  margin-left: 70px;
  margin-top: 70px;
  width: 250px;
  height: 420px;
  float: left;
  position: relative;
}

div#home_search div#sidebar_content
{
  border-style: solid;
  border-color: gray;
  border-width: 2px;
  background-image: url('/images/Search_Box_bg.png');
}

div#home_search div#home_provider_listing
{
  padding: 10px 0;
  text-align: center;
}

div#home_search div#demo_rollovers_container table{
  margin: 0;
  padding: 0;
  cell-spacing: 0;
  cell-padding: 0;
  font-size: 12px;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0;
}

div#home_search div#home_about div#home_movie
{
  text-align: center;
}

div#home_search div#home_about div.home_sidebar_content
{
  margin:30px 10px 0px 10px;
}

div#home_search div#home_about div.home_sidebar_content p
{
  font-size: 14px;
}

div#home_search div#home_about div.home_sidebar_content ul
{
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

div#home_search #announce
{
  padding-top: 8px;
  text-align: left; 
  margin: 0px 20px 0px 55px;
}

div#home_search #announce h1
{
		font-size:28px;
		color: #0D2C62;
}

div#home_search #search_parameters
{
  padding: 20px 38px;
}

form#search_form table td select
{
    width:203px !important;
}
/* added to expand select options in IE */
form#search_form table td select.expand {
    width: auto !important;
}
table#search_table img#search_icon {
	position: absolute;
}

table#search_table div#announce {
	margin: 0px 0px 0px 80px;
}

div.insurance_accepted img {
	float: left;
}

form#search_form table td input
{
    width:197px !important;
    max-width:197px;
}

form#search_form table td input#d
{
    width:155px !important;
    margin-right:2px;
}
div.insurance_accepted {
	margin-top:  10px;
	vertical-align: middle;
	padding: 5px 2px 2px 2px;
	height: 48px;
	width:155px !important;
	background-color: #DFFFDF;
	border: 1px solid #c0c0ff;
}
div.insurance_accepted span#insurance_name {
  float: right;
  position: relative;
  width: 120px;
}
div.insurance_accepted img {
	margin:  2px 3px 0px 3px;
	vertical-align: middle;
	margin-bottom: .25em;
}
div.insurance_help_file {
	margin-top:  10px;
	padding: 6px 3px 4px 6px;
	width:155px !important;
	background-color: #FFFFCC;
	border: 1px solid #c0c0ff;
}

div#home_browse
{
  padding-left: 10px;
  padding-top: 20px;
}

div#home_browse h3.search
{
  color: #000;
  font-size: 13px;
}

a#show_demo_movie {
  font-size:16px;
  white-space:nowrap;
  margin-bottom:6px;
}
div#movie_dialog_buttons {
  text-align:center;
}

/*******************************************************************************

    CALCULATOR

*******************************************************************************/

div#calculator_search_fields
{
  position:relative;
  height: 28px;
  padding: 10px 10px 18px 10px;
  border-width: 2px;
  border-style: solid;
  border-color: #99abdc;
  background-image: url('/images/banner_background.png');
  background-repeat: repeat;
}

div#calculator_search_fields table.calculator_fields_container img.calculator_step {
  padding: 5px;
  float: left;
}

div#calculator_search_fields table.calculator_fields_container select#procedure_id,
div#calculator_search_fields table.calculator_fields_container input#location {
  margin: 8px 10px 2px 0px;
}

div#calculator_search_fields table.calculator_fields_container input#estimate_costs,
div#calculator_search_fields table.calculator_fields_container input#estimate_costs_dull {
  padding: 2px 5px 0px 5px;
}

table#calculator_results
{
  width: 90%;
  margin: 1em;
  background-color: lightgrey;
}
table#calculator_results thead
{
  background-color: darkgrey;
}
table#calculator_results thead th {
  width: 33%;
}
table#calculator_results tbody td:first-child {
  text-align: left;
}
table#calculator_results tbody td {
  text-align: right;
}

/*******************************************************************************

    OFFICES

*******************************************************************************/

div.office_info
{
    min-height:200px;
}

div.office_info div.office_name
{
    font-weight:bold;
    font-size:14px;
}

a.office_web_site
{
    color:#002E9C;
    text-decoration:underline;
}

.office_map
{
    width:200px;
    height:150px;
    border:1px solid black;
    overflow:hidden;
}

.office_logo
{
    max-width:180px;
    max-height:100px;
}

.office_photo
{
    height:150px;
    max-width:200px;
    border:1px solid #a0a0a0;
}

#office_about_us
{
}

/*******************************************************************************

    OFFICE HOURS

*******************************************************************************/

.office_hours_container
{
    border:1px solid #c0c0ff;
    white-space:nowrap;
}

.office_hours_header
{
    width:80px;
    /*display:inline-block;*/
    padding-right:20px;
    text-align:right;
}

.office_hours_container .brightspark-layout-cell
{
    padding-left:8px;
    padding-right:8px;
    padding-top:6px;
    padding-bottom:6px;
    width:90px;
}

.office_hours_container .brightspark-layout-cell select
{
    width:90px;
}

.office_hours_container .brightspark-layout-cell.office_hours_item
{
    background-color: #ffcfcf;
    border-left:2px solid #c0c0ff;
}

.office_hours_container .brightspark-layout-cell.office_lunch_top
{
    border-top:2px solid #c0c0ff;
}

/*
.office_hours_item div, .office_hours_header div
{
    margin-top:2px;
    margin-bottom:2px;
}
*/

.office_hours_container .brightspark-layout-cell.office_hours_item.open
{
    background-color:#cfffcf;
}

.office_hours_container .brightspark-layout-cell.office_hours_item.lunch_closed
{
    background-color:#c0c0c0;
}

/*******************************************************************************

    OFFICE CLOSURES & DOCUMENTS

*******************************************************************************/

table.office_data_list
{
    border-collapse: collapse;
    width:100%;
}

table.office_data_list th,
table.office_data_list td.heading
{
    text-align:left;
    font-weight:bold;
}

table.office_data_list tr
{
    height:30px;
}

table.office_data_list td
{
    border-top:1px solid #e0e0e0;
    border-bottom:1px solid #e0e0e0;
    padding-right:20px !important;
    white-space:nowrap;
    vertical-align:middle !important;
}

table.office_data_list td.right_align
{
    text-align:right;
}

table.office_data_list td.fill
{
    width:100%;
}

table.office_closures_list td.description
{
    width:300px;
}

/*******************************************************************************

    OFFICE CLOSURES

*******************************************************************************/

table.office_closures_list
{
    border-collapse: collapse;
}

.office_closures_list th
{
    text-align:left;
}

.office_closures_list tr
{
    height:30px;
}

.office_closures_list td
{
    border-top:1px solid #f0f0f0;
    border-bottom:1px solid #f0f0f0;
    padding-right:20px;
}

.office_closures_list td.description
{
    width:300px;
}

/*******************************************************************************

    PROVIDERS

*******************************************************************************/

#provider_profile_form input[type='text']
{
    width:150px;
}

#provider_profile_form select
{
    width:80px;
}

#provider_profile_form textarea
{
    width:635px;
    height:100px;
}

#provider_profile_form .form-prompt-wrapper
{
    position:relative;
    width:100%;
}

.checklist
{
    width:100%;
    height:150px;
    overflow:auto;
    border:1px solid #c0c0ff;
}

.checklist > .checklist_item
{
    padding-left:22px;
    text-indent:-20px;
}

.checklist > .checklist_heading
{
    font-weight:bold;
    margin-top:2px;
    margin-bottom:2px;
    padding:2px;
    background-color:#d0d0d0;
    cursor:pointer;

}

#provider_profile_form td
{
    vertical-align:top;
}

img.provider_photo
{
    border:1px solid #c0c0ff;
    width:100px;
    max-height:120px;
}

.ui-subtabs .ui-tabs-nav , .ui-subtabs.ui-tabs
{
    background:none;
    border:none;
}

div.provider_profile
{
    position:relative;
}

div.provider_profile .provider_name
{
    font-weight:bold;
    font-size:12px;
    margin-bottom:6px;
}

table.provider_services th
{
    text-align:left;
    font-size:14px;
    padding-top:4px;
}

table.provider_services td
{
    border-bottom:1px solid #e0e0e0;
    padding:4px;
    padding-right:20px;
}

/*******************************************************************************

    SEARCH

*******************************************************************************/

.search_result
{
    min-height:375px;
    margin-top:20px;
    width:750px;
    position:relative;
}

.search_result .search_item_summary
{
    position:relative;
    width:200px;
    padding-right:10px;
}

.search_result .search_item_actions
{
    height:375px;
    width:550px;
    position:relative;
    padding-left:10px;
}

#search_results div.search_tab
{
    width:520px;
    overflow:auto;
    height:320px;
    min-height:320px;
    margin-top:5px;
    position:relative;
}

#search_details div.search_tab
{
    width:520px;
    overflow:auto;
    margin-top:5px;
}

#search_results .search_office_map
{
    border:1px solid black;
    width:500px;
    height:280px;
}

#search_details .search_office_map
{
    border:1px solid black;
    width:500px;
    height:400px;
}

.search_item_summary .provider_name
{
    font-weight:bold;
    font-size:12px;
}

.search_item_summary .office_name
{
    margin-bottom:6px;
}

.search_item_summary .heading
{
    font-weight:bold;
    margin-top:10px;
}

div.special_offer
{
    border:2px solid #80a0bf;
    background-color:#d8e8ff;
    padding:4px;
    padding-left:6px;
    margin-bottom:5px;
    position:relative;
}

/*******************************************************************************

    BOOKING CALENDAR

*******************************************************************************/

table.booking_calendar_toolbar
{
    height:24px;
    background-color:#e8e8ff;
    border:1px solid #a0a0d0;
    margin-bottom:4px;
}

table.booking_calendar_toolbar td
{
    vertical-align:middle;
    padding:4px;
    text-align:center;
}

table.booking_calendar_toolbar td.booking_calendar_refresh
{
    padding-right:15px;
}

div.booking_calendar_container
{
    height:275px;
    overflow:auto;
}

.brightspark-layout-container.booking_calendar
{
    border-collapse:separate;
}

.booking_calendar .brightspark-layout-cell.booking_calendar_weekday
{
    font-weight:bold;
    text-align:center;
}

.booking_calendar .brightspark-layout-cell.booking_calendar_date
{
    text-align:center;
    font-weight:normal;
    background-color:#ffd080;
    border-color:#c08020;
}

.booking_calendar .brightspark-layout-cell
{
    border:1px solid #e0e0e0;
    padding:0px !important;
    min-width:90px;
    max-width:90px;
    width:90px;
    min-height:16px;
    height:16px;
    text-align:center;
    vertical-align:middle;
    font-weight:bold;
}

.booking_calendar .brightspark-layout-cell a
{
    width:90px;
    display:block;
    padding:2px;
    min-width:90px;
    max-width:90px;
    width:90px;
    min-height:16px;
    height:16px;
    vertical-align:middle;
}

#search_details .booking_calendar .brightspark-layout-cell,
#search_details .booking_calendar .brightspark-layout-cell a
{
    width:65px;
    min-width:65px;
    max-width:65px;
}

.booking_calendar .brightspark-layout-cell.available
{
    border-color:#80c080;
    background-color:#c0ffc0;
}

.booking_calendar .brightspark-layout-cell.available a
{
    color:#208020;
}

.booking_calendar .brightspark-layout-cell.available:hover
{
    background-color:#40a040;
}

.booking_calendar .brightspark-layout-cell.available:hover a
{
    color:#ffffff;
}

.booking_calendar .brightspark-layout-cell.unavailable
{
    border-color:#ff8080;
    background-color:#ffc0c0;
    color:#802020;
    padding:2px !important;
    min-height:40px;
    height:40px;
    vertical-align:middle;
}

.booking_calendar .brightspark-layout-cell.provider_closed
{
    font-weight: normal;
    border-color:#555454;
    background-color:#E9E9E9;
    color:#555454;
    padding:2px !important;
    min-height:100px;
    height:100px;
    vertical-align:middle;
}

.booking_calendar .brightspark-layout-cell.office_lunch
{
    background-color:#f0f0f0;
    color:#606060;
    padding:2px !important;
}

.booking_calendar .brightspark-layout-cell.waiting_list
{
    border-color:#8080ff;
    background-color:#e0e0ff;
}

.booking_calendar .brightspark-layout-cell.waiting_list a
{
    color:#404080;
    min-width:84px;
    max-width:84px;
    min-height:39px;
    padding: 18px 1px;
}

/*******************************************************************************

    BOOKING INFO

*******************************************************************************/

div.booking_info
{
    position:relative;
    height:510px;
}

div.booking_info div.appointment_info_panel
{
    position:absolute;
    left:0px;
    top:0px;
    width:300px;
}

div.booking_info div.user_info_panel
{
    position:absolute;
    right:0px;
    top:0px;
    width:520px;
    padding:20px;
    height:100%;
    background-color:#b8c6e9;
}

div.booking_info div#office_map
{
    width:100%;
    height:350px;
    border:1px solid black;
}

div.booking_info div#login_or_register
{
    /*white-space:nowrap;*/
    padding-top:30px;
}

div.booking_info div#login_panel
{
    display:inline-block;
    vertical-align:top;
    width:160px;
    float: left;
}

div.booking_info .login_form
{
    /*width:100% !important;*/
    width:160px;
    margin-left:5px;
    float: left;
    border-left:1px solid #a0a0c0;
    padding-left:10px;
    display:inline-block;
}

div.booking_info div#register_panel
{    
    vertical-align:top;
    width:340px; !important;
    float:  left;
}

/*******************************************************************************

    FAMILIES

*******************************************************************************/

div#family_info table tbody tr td
{
    vertical-align:top;
}

div#family_info div#appointments
{
    margin-left:10px;
    margin-right:10px;
    min-height:400px;
}

div#family_info td.blue_column
{
    background-color:#e8e8ff;
    padding-left:10px;
    padding-right:10px;
}

div#family_info td.providers
{
    width:220px;
}

div.family_address
{
    margin-top:5px;
}

div.family_address_name
{
    font-weight:bold;
    position:relative;
}

div.family_address_name > .actions
{
    position:absolute;
    top:0;
    right:0;
}

div.family_member
{
    white-space:nowrap;
    position:relative;
    overflow:hidden;
}

div.family_member .you
{
    color:#a0a0a0;
}

div.family_member .actions
{
    position:absolute;
    right:0px;
    top:0px;
}

div.family_member.hover .name
{
    font-weight:bold;
}

div#upcoming_appointments div.appointment
{
    position:relative;
    margin-bottom:10px;
    border-bottom:1px solid #d0d0f0;
    padding:10px;
}

div#upcoming_appointments .appointment_time
{
    color:#008000;
    font-weight:bold;
    margin-bottom:5px;
}

div#upcoming_appointments div.appointment_details
{
    width:45%;
    margin-bottom:10px;
}

div#upcoming_appointments div.heading
{
    border-bottom:1px solid #e0e0e0;
    margin-bottom:4px;
    padding-bottom:2px;
    font-weight:bold;
    color:#606060;
}

div#upcoming_appointments div.appointment_reminders
{
    width:200px;
    height:90px;
    padding:10px;
    background:#d0d0f0;
    border:1px solid #a0a0c0;
    margin-bottom:5px;
}

div#upcoming_appointments table.reminder_list td
{
    padding-right:5px;
    white-space:nowrap;
    height:20px;
}

div#contact_info
{
    width:175px;
}

div#favourite_providers
{
    width:220px;
}

/*******************************************************************************

    OFFICE CALENDAR

*******************************************************************************/

div#office_calendar_toolbar
{
    height:25px;
    line-height:25px;
    vertical-align:middle;
    position:relative;
}

div#office_calendar_toolbar a.toolbar_button
{
    display:inline-block;
    border-right:1px solid #8098C8;
    border-left:1px solid #8F9ACF;
    height:100%;
    color:#0c2c62;
    width:70px;
    font-size:14px;
    font-weight:normal;
    line-height:25px;
    vertical-align:middle;
    text-align:center;
    position:relative;
    z-index:100;
}

div#office_calendar_toolbar a.toolbar_button.pressed
{
    background-color:#FFD080;
}

div#office_calendar_toolbar a.toolbar_button:hover
{
    background-color:#EFb560;
}

div#office_calendar_title
{
    position:absolute;
    text-align:center;
    left:200px;
    width:400px;
    top:0px;
    bottom:0px;
    z-index:50;
}

span#office_calendar_dates
{
    font-size:18px;
    line-height:25px;
    padding-left:5px;
    padding-right:5px;
}

div#office_calendar_goto
{
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    white-space:nowrap;
    width:300px;
    text-align:right;
    z-index:49;
}

div#office_calendar_goto input#office_calendar_goto_date
{
    width:80px;
    margin-right:2px;
}

.office_calendar
{
    border-collapse:collapse;
    margin-left:1px;
}

.office_calendar td.brightspark-layout-cell
{
    height:25px;
    line-height:12px;
    vertical-align:middle;
    text-align:center;
    border:1px solid #c0c0c0;
}

.office_calendar td.brightspark-layout-cell.exclude
{
    background-color:#f0f0f0;
}

.office_calendar td.brightspark-layout-cell.calendar_day_name
{
    font-weight:bold;
    height:25px;
}

.office_calendar td.brightspark-layout-cell.calendar_page
{
    font-weight:bold;
    padding-left:2px;
    padding-right:2px;
    background-color:#FFe0a8;
}

.office_calendar td.brightspark-layout-cell.calendar_page:hover
{
    background-color:#e0e0ff;
    cursor:pointer;
}

.office_calendar td.calendar_day_date
{
    background-color:#ffd080;
    border-top:2px solid #a0a0a0;
    border-bottom:2px solid #a0a0a0;
}

.office_calendar td.calendar_day_date.today
{
    background-color:#FFFFC0;
    font-weight:bold;
}

.office_calendar td.calendar_day_time
{
    width:60px;
    min-width:60px;
    text-align:right;
    padding-right:5px;
    padding-left:10px;
}

.office_calendar td.calendar_day_time.odd
{
    background-color:#e0e0e0;
}

.office_calendar td.calendar_day_detail
{
    background-color:#ffc0c0;
    color:#802020;
}

.office_calendar td.calendar_day_detail a
{
    display:inline-block;
    width:100%;
    line-height:12px;
    vertical-align:middle;
    font-weight:bold;
    min-height:12px;
}

.office_calendar.month_view.inc10 td.calendar_day_detail.colspan1
{
    width:17px;
}

.office_calendar.month_view.inc10 td.calendar_day_detail.colspan2
{
    width:35px;
}

.office_calendar.month_view.inc10 td.calendar_day_detail.colspan3
{
    width:53px;
}

.office_calendar.month_view.inc10 td.calendar_day_detail.colspan4
{
    width:71px;
}

.office_calendar.month_view.inc10 td.calendar_day_detail.colspan5
{
    width:89px;
}

.office_calendar.month_view.inc10 td.calendar_day_detail.colspan6
{
    width:107px;
}


.office_calendar.month_view.inc15 td.calendar_day_detail.colspan1
{
    width:26px;
}

.office_calendar.month_view.inc15 td.calendar_day_detail.colspan2
{
    width:53px;
}

.office_calendar.month_view.inc15 td.calendar_day_detail.colspan3
{
    width:80px;
}

.office_calendar.month_view.inc15 td.calendar_day_detail.colspan4
{
    width:107px;
}

.office_calendar.month_view.inc20 td.calendar_day_detail.colspan1
{
    width:36px;
}

.office_calendar.month_view.inc20 td.calendar_day_detail.colspan2
{
    width:73px;
}

.office_calendar.month_view.inc20 td.calendar_day_detail.colspan3
{
    width:110px;
}

.office_calendar.month_view.inc30 td.calendar_day_detail.colspan1
{
    width:55px;
}

.office_calendar.month_view.inc30 td.calendar_day_detail.colspan2
{
    width:111px;
}

.office_calendar.month_view.inc60 td.calendar_day_detail,
.office_calendar.week_view td.calendar_day_detail,
.office_calendar.day_view td.calendar_day_detail
{
    width:110px;
}

.office_calendar td.day_left,
.office_calendar td.calendar_day_date,
.office_calendar td.calendar_day_name,
.office_calendar td.calendar_day_time
{
    border-left:2px solid #a0a0a0;
}

.office_calendar td.day_right,
.office_calendar td.calendar_day_date,
.office_calendar td.calendar_day_name,
.office_calendar td.calendar_day_time
{
    border-right:2px solid #a0a0a0;
}

.office_calendar td.calendar_day_detail.available
{
    color:#404080 !important;
    background-color:#FFFFFF;
    cursor:pointer;
}

.office_calendar td.calendar_day_detail.booked
{
    color:#606020 !important;
    background-color:#ffffc0;
    cursor:pointer;
}

.office_calendar td.calendar_day_detail.booked.kept
{
    color:#408040 !important;
    background-color:#c0ffc0;
}

.office_calendar td.calendar_day_detail.booked.confirmed
{
    color:#404080 !important;
    background-color:#c0c0ff;
}

.office_calendar td.calendar_day_detail.booked.pending
{
    background-color:#ffd0ff;
    color:#a080a0 !important;
}

.office_calendar td.calendar_day_detail.available a
{
    color:#408040 !important;
    background-color:#c0ffc0;
}

.office_calendar td.calendar_day_detail.booked > a
{
    color:#404080 !important;
    background-color:#c0c0ff;
}

.office_calendar td.calendar_day_detail.office_lunch
{
    background-color:#e0e0e0;
    color:#808080;
}

.office_calendar td.calendar_day_detail.past
{
    background-color:#e0e0e0;
    color:#808080;
}

.office_calendar td.calendar_day_detail.provider_closed
{
    background-color:#e0e0e0;
    color:#555454;
    line-height:16px;
    padding:2px;
}

.office_calendar_popup
{
    width:400px;
}

.office_calendar_popup .office_calendar_popup_details
{
    min-height:200px;
}

.office_calendar_popup .office_calendar_popup_details .brightspark-layout-cell
{
    padding-bottom:0px;
    padding-right:4px;
}

.office_calendar_popup .office_calendar_popup_details .brightspark-layout-label
{
    font-weight:normal;
    color:gray;
}

/*******************************************************************************

    OFFICE DASHBOARD

*******************************************************************************/

.dashboard_appointment
{
    height:30px;
}

tr.dashboard_appointment th
{
    white-space:nowrap;
    vertical-align:middle;
    font-weight:bold;
    font-size:16px;
    text-align:left;
    color:#002E9C !important;
}

tr.dashboard_appointment td
{
    white-space:nowrap;
    padding-right:15px;
    vertical-align:middle;
    border-top:1px solid #e0e0e0;
    border-bottom:1px solid #e0e0e0;
}

tr.dashboard_appointment.odd
{
    background-color:#f0f0f0;
}

.dashboard_statistics
{
    width:170px;
    margin-bottom:10px;
}

/*******************************************************************************

    POPUP

*******************************************************************************/

.popup
{
    margin-top:-15px;
    margin-left:20px;
    position:absolute;
    z-index:100;
    background-color:white;
}

.popup_ie6
{
    border:2px solid black;
    position:absolute;
    z-index:100;
    background-color:white;
    margin-left:5px;
}

.popup-tl
{
    position:absolute;
    top:-10px;
    left:-10px;
    background-image:url(/images/popup_corners.png);
    background-position:0 0;
    width:10px;
    height:10px;
}

.popup-tr
{
    position:absolute;
    top:-10px;
    right:-10px;
    background-image:url(/images/popup_corners.png);
    background-position:-10px 0;
    width:10px;
    height:10px;
}

.popup-bl
{
    position:absolute;
    bottom:-10px;
    left:-10px;
    background-image:url(/images/popup_corners.png);
    background-position:0 -10px;
    width:10px;
    height:10px;
}

.popup-br
{
    position:absolute;
    bottom:-10px;
    right:-10px;
    background-image:url(/images/popup_corners.png);
    background-position:-10px -10px;
    width:10px;
    height:10px;
}

.popup-t
{
    position:absolute;
    left:0px;
    right:0px;
    top:-10px;
    height:10px;
    background-image:url(/images/popup_top.png);
    background-repeat:repeat-x;
}

.popup-l
{
    width:10px;
    position:absolute;
    left:-10px;
    top:0;
    bottom:0;
    background-image:url(/images/popup_left.png);
    background-repeat:repeat-y;
}

.popup-r
{
    width:10px;
    position:absolute;
    right:-10px;
    top:0;
    bottom:0;
    background-image:url(/images/popup_right.png);
    background-repeat:repeat-y;
}

.popup-b
{
    position:absolute;
    left:0;
    right:0;
    bottom:-10px;
    height:10px;
    background-image:url(/images/popup_bottom.png);
    background-repeat:repeat-x;
}

.popup-callout
{
    width:20px;
    height:10px;
    position:absolute;
    left:-27px;
    top:15px;
}

.popup-content
{
    min-width:150px;
    min-height:50px;
    padding:5px;
}

/*******************************************************************************

    ADMIN CONSOLE

*******************************************************************************/

div#providers_and_services .provider_category_name
{
    font-weight:bold;
    font-size:larger;
    margin-top:5px;
    padding-top:5px;
    border-top:1px solid #e0e0e0;
}

div#providers_and_services .provider_category_name .info
{
    color:#a0a0a0;
}

div#providers_and_services .provider_types_container
{
    margin:10px;
    margin-left:25px;
}

div#providers_and_services .provider_type_name
{
    font-size:larger;
    line-height:24px;
}

div#providers_and_services .provider_services
{
    margin:10px;
    margin-left:25px;
}

div#office_directions_container
{
}

div#office_directions_map
{
    width:400px;
    height:500px;
    border:1px solid black;
    margin-left:10px;
}

div#office_directions_details
{
}

/*******************************************************************************

    PROFILES

*******************************************************************************/
div#office_heading h1
{
    /*color:black;*/
   font-weight: normal;
   color: #999;
    margin-top: 20px;
    font-size: 12px;
    margin-bottom: 2px;    
}

div#office_heading h2
{    
	font-size: 22px;
	margin-bottom: 10px;
}

.profile_body
{
    width:600px;
    padding-left:15px;
    border-left:1px solid #e0e0ff;
}

.profile_sidebar
{
    width:200px;
    padding-right:15px !important;
}

.profile_sidebar div.office-map
{
  width:225px;
  height:215px;
  border:1px solid #a0a0a0;
}

.search_tab  td.service-item, .profile_body td.service-item
{
  padding-left:20px;
  padding-right:20px;
  padding-bottom:3px;
}

.search_tab  td.service-item .icon, .profile_body td.service-item .icon
{
  margin-left:-20px;
  margin-right:5px;
}

/*******************************************************************************

    RATINGS

*******************************************************************************/

.rating
{
    display:inline-block;
    width:32px;
    height:32px;
    background-image:url(/images/star.png);
    vertical-align:middle;
    background-position: -32px 0;
}

.rating.edit
{
    cursor:pointer;
}

.rating.edit.on, .rating.on
{
    background-position: 0 0 !important;
}

.provider_rating
{
    border-top:1px solid #f0f0f0;
    border-bottom:1px solid #f0f0f0;
    padding:5px;
}

.provider_rating.disputed
{
    background-color:#e8e8e8;
}

/*******************************************************************************

    LAYOUT HELPER

*******************************************************************************/

.brightspark-layout-container
{
    border-collapse:collapse;
}

.brightspark-layout-container .brightspark-layout-cell
{
    vertical-align:top;
}

.brightspark-layout-container.data-table .brightspark-layout-cell
{
    padding-right:10px;
    padding-bottom:2px;
}

.brightspark-layout-container .brightspark-layout-cell.border-right
{
    border-right:1px solid #e0e0ff;
    padding-right:10px;
}

.brightspark-layout-container .brightspark-layout-cell.border-left
{
    border-left:1px solid #e0e0ff;
    padding-left:10px;
}

.brightspark-layout-container .brightspark-layout-label
{
    font-weight:bold;
    white-space:nowrap;
    padding-bottom:5px;
    padding-right:5px;
}

.brightspark-layout-container .brightspark-layout-label-required
{
    color:red;
}

.brightspark-layout-container .brightspark-layout-value
{
    padding-bottom:5px;
    padding-right:5px;
}

.brightspark-layout-container .brightspark-layout-label-left
{
    padding-right:10px;
}

.brightspark-layout-container .brightspark-layout-header
{
    padding-bottom:10px;
}

.brightspark-layout-container .brightspark-layout-section-divider
{
    height:10px;
}

.brightspark-layout-container .brightspark-layout-value input[type='text'],
.brightspark-layout-container .brightspark-layout-value input[type='password'],
.brightspark-layout-container .brightspark-layout-value textarea,
.brightspark-layout-container .brightspark-layout-value select
{
    width:145px;
}
.brightspark-layout-container .brightspark-layout-value .form-prompt-wrapper input[type='text'],
.brightspark-layout-container .brightspark-layout-value .form-prompt-wrapper input[type='password'],
.brightspark-layout-container .brightspark-layout-value .form-prompt-wrapper textarea
{
    width:145px;
}

.width150
{
  width:150px;
  min-width:150px;
  max-width:150px;
  white-space:wrap;
}

#register_form {padding: 0px 0px;}



.ui-dialog-content select, .ui-dialog-content input[type="select"]{
  width: auto !important;
}

/*******************************************************************************

    SUBSCRIPTION

*******************************************************************************/

div.subscribe-blurb
{
    border:2px solid #FFC090;
    background-color:#FFE0b0;
    padding:10px;
    font-size:16px;
}

.brightspark-layout-container.office-subscription-form tbody tr td.brightspark-layout-cell
{
    padding:0 40px 10px 0;
}

.brightspark-layout-container.admin-console tbody tr td.brightspark-layout-cell
{
    width:50%;
    padding-right:25px;
}

.brightspark-layout-container.admin-console tbody tr td.brightspark-layout-cell div
{
    margin-bottom:10px;
    font-size:14px;
}

.subscription-plan-info .plan-name
{
    font-weight:bold;
    font-size:14px;
    margin-left:8px;
    color:#002E9C;
}

.subscription-plan-info ul li
{
    margin-bottom:2px;
}

/*******************************************************************************

    CHANGE ORDER

*******************************************************************************/

div.ordered_staff_container
{
    border:1px solid #002E9C;
    background-color:#e0e0e0;
    overflow:auto;
    width:400px;
    max-height:200px;
}

div.ordered_staff_container div.ordered_staff
{
    padding:5px;
    clear:both;
    border:1px solid #e0e0ff;
    height:50px;
    background-color:#ffffff;
    cursor:move;
}

div.ordered_staff_container div.ordered_staff:hover
{
    background-color:#ffffd0;
}

div.ordered_staff_container div.ordered_staff img
{
    width:40px;
    height:40px;
}
