/**** global elements */
.asterisk {
  color: #ac0004;
}

input, textarea {
  font-family: Arial;
}

/*
 * STANDARD INPUT STYLING
 */

.text-input-container {  }

input.text-input, textarea.text-input{
  padding:3px;
  font: 14px Arial;
}

input.text-reg-state, textarea.text-reg-state{
  border: 1px solid #999999;
}

body input.text-error-state, body textarea.text-error-state {
  border:1px solid #FF0000;
}

.text-input-error-field,
.checkbox-input-error-field {
  font:10px Arial;
  color: #FF0000;
  height:10px;
}

form.common_form {
  clear:both;
	position:relative;
	width:314px;
	padding-right:18px;
	margin:0;
}

form.common_form label{
	display:block;
	clear:both;
	float:left;
	cursor:pointer;
	padding:8px 0 0 ;
	width:318px;
}

form.common_form label span.input_label{
	display:block;
	float:left;
	width:126px;
	text-align:right;
	padding-top:5px;
	padding-right:5px;
	font-weight:bold;
}

form.common_form label span.text-input-container,
form.common_form label span.text-input-error-field,
form.common_form label span.text-input-container input {
	float:left;
}

form.common_form label span.text-input-error-field{
	clear:both;
	width:182px;
	height:100%;
}

form.common_form label input{
	width:176px;
}

form.common_form p.search_button_container{
  margin:0;
  padding:30px 0 0 0;
  text-align:right;
}


/* WP forms */
.standard_form .search_box {
  background: none;
}
.standard_form .search_box div.form_divider {
  display: none;
}
.standard_form #ReverseZip ol,
.standard_form #ReverseAreacode ol { 
  margin-left: 40px;
}
.standard_form .search_box {
  width: 100%; /* IE 7 */
}
.standard_form .page_detail .search_box {
  float: left;
  width: 320px;
}
.standard_form #area_code_search #FindAreacode .title {
  *background-position-y: -585px;
}
.standard_form #area_code_search #ReverseAreacode .title {
  *background-position-y: -619px;
}

/* all form elements have a search class.
 * the form should be wrapped in a .search_box or .persistent div
 * this div class determines if it's a page form or persistent form
 */

.search p {
  clear: both;
  margin: 0;
  padding: 22px 0 0 10px;
  font-size: 11px;
}

.search .end {
  clear: both;
  background: none !important;
  height: 12px;
  border-bottom: 1px solid #e6e6e6;
  margin-left: -23px;
}

.search .end a {
  font-size:11px !important;
  margin:0 0 0 23px;
  position:relative;
  top:-6px;
}

/* currently the following style is only for Mobile Carrier Lookup on the More Search page */
.search .add_more {
  clear: both;
  background: none !important;
  height: 12px;
  margin-left: -23px;
}
.search .add_more a {
  margin: 0 0 0 23px;
  position: relative;
  top: -6px;
  font-size: 11px !important;
}
#mobile_lookup_long_form.search p#disclaimer {
  font-size: 11px;
  color: #999999;
}

/*
 * Search boxes should typically only contain an ordered list for the
 * form's fields. The next two rules are for this case.
 */

.search ol {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

.search ol li {
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
  position: relative;
  /* IE 6/7 inline-block hack :( */
  zoom: 1;
  *display: inline;
}

.search ol li.title,
#neighbor_search .title {
  background-color: transparent;
  background-image: url(../images/sprite_subpages_2.png);
  margin-bottom: 4px;
  font-size: 13px;
  float: none;
  display: block;
  height: 17px;
  text-indent: -9000em;
}

.search ol li.last {
  margin-top: 0px;
  *margin-top: 1px;
  margin-right: 0px; /* this overrides the 9px margin for list items so the find button can have 6px of left space */
}

.search li.last input.submit {
  cursor: pointer;
  width: 66px;
  height: 33px;
  border: 0;
  outline: 0;
  padding: 0;
  text-indent: -9000em;
  background-image: url(../images/sprite_common_2.png);
  background-color: transparent;
  background-position: -46px -84px;
  background-repeat: no-repeat;
  vertical-align: middle;
  line-height: 0;
  display: block;
  text-indent: -9000em;
}

.search ol li label.infield {
  position: absolute;
  bottom: 8px;
  left: 8px;
  font-size: 14px;
  line-height: 1.25em;
  color: #999999;
  font-style: italic;
  cursor: text;
  opacity: 0;
}

.search ol li .asterisk {
  position: absolute;
  top: 5px;
  left: 5px;
  font-size: 16px;
  font-weight: bold;
}

.search#intl_calling_codes ol li label,
.search#intl_directories ol li label {
  margin-bottom: 5px;
}

.search ol li input {
  border: 1px solid #999999;
  width: 250px;
  font-size: 14px;
  vertical-align: middle;
  padding: 6px;
}

.search ol li select {
  border: 1px solid #999999;
  width: 195px;
  padding: 2px;
  margin: 0;
  vertical-align: middle;
  height: 21px;
  *height: 26px;
}

.search#mobile_lookup ol li select {
  width: 258px;
}

.search_box .search ol li input {
  padding: 10px 6px;
}

.search_box .search ol li label.infield {
  bottom: 11px;
}

.search_box .search ol li.last input.submit {
  padding: 0;
  width: 83px;
  height: 40px;
  background-position: -120px -84px;
}

/**** search form headers */
.search_box h1,
.search h3 {
  float: none;
  display:block;
  height: 20px;
  margin: 0 0 9px 0;
  text-indent: -9000em;
  font-size: 1px !important;
}

#reverse_phone_search h3 {
  background: url(../images/sprite_titles.gif) 0 -20px no-repeat;
  width: 126px;
}
#reverse_phone_search input#full_phone {
  width: 490px;
}
#findperson_search h3 {
  background: url(../images/sprite_titles.gif) 0 0 no-repeat;
  width: 100px;
}
#persistent_area_code_search_wrapper ol li label.infield,
#persistent_area_code_search_by_location ol li label.infield,
#persistent_zip_code_search_wrapper ol li label.infield,
#persistent_zip_code_search_by_location ol li label.infield {
  bottom: 5px;
}
#person_search h3 {
  background: url(../images/sprite_titles.gif) 0 0 no-repeat;
  width: 100px;
}

#business_search h1,
#business_search h3 {
  background: url(../images/sprite_titles.gif) 0 -40px no-repeat;
  width: 135px;
}

#area_code_search_by_location h3 {
  background: url(../images/sprite_titles.gif) -174px -100px no-repeat;
  width: 186px;
}

#area_code_search h1.nounderline,
#area_code_search h3{
  background: url(../images/sprite_titles.gif) -207px -60px no-repeat;
  width: 95px;
}

#zip_code_search_by_location h3 {
  background: url(../images/sprite_titles.gif) 0 -100px no-repeat;
  width: 174px;
}

#zip_code_search h3 {
  background: url(../images/sprite_titles.gif) -229px -80px no-repeat;
  width: 82px;
}
#zip_code_search #FindZip .title,
#persistent_zip_code_search_wrapper .title {
  background-position: -7px -602px;
  width: 89px;
}
#zip_code_search #ReverseZip .title,
#persistent_zip_code_search_by_location .title {
  background-position: -7px -636px;
  width: 168px;
}

#intl_calling_codes h3 {
  background: url(../images/sprite_titles.gif) 0 -80px no-repeat;
  width: 229px;
}

#intl_directories h3 {
  background: url(../images/sprite_titles.gif) 0 -60px no-repeat;
  width: 207px;
}

#neighbor_search h3 {
  background: url(../images/sprite_titles.gif) -135px -40px no-repeat;
  width: 140px;
}
#neighbor_search .title {
  background-position: -7px -653px;
  width: 98px;
}
#persistent_neighbor_search {
  background: none;
}
#persistent_neighbor_search #neighbor_address {
  width: 258px;
}
.more_searches #neighbor_search #neighbor_address {
  width: 299px;
}
#bottom_horiz #persistent_neighbor_search {
  margin-top: 0;
}
#bottom_horiz #neighbor_search #neighbor_address {
  width: 288px;
}
#bottom_horiz label {
  line-height: 1em;
}
#bottom_horiz #neighbor_location {
  width: 211px;
}

#reverse_address_search h3 {
  background: url(../images/sprite_titles.gif) -126px -20px no-repeat;
  width: 137px;
}
#reverse_address_search input#rev_address {
  width: 312px;
}
#reverse_address_search input#location {
  width: 155px;
}
#person_search_persistent h3 {
  background: url(../images/sprite_titles.gif) 0px 0px no-repeat;
  width: 100px;
}
#person_search_persistent input#location {
  width: 149px;
}
#mobile_lookup h3,
#mobile_lookup_long_form h3 {
  background: url(../images/forms/form_header_mobile_lookup.gif) no-repeat;
}

/* Forms with the search_box class have a background that connects to
 * the tabs above, and are used as 'persistent' forms */
.search_box {
  width: 604px;
  height: 42px;
  background: url("../images/sprite_subpages_2.png") no-repeat scroll -3px -49px transparent;
  padding-top: 21px;
  padding-bottom: 21px;
  position: relative;
}
.search_box form {
  margin-left: 21px;
}
.search_box ol li input {
  width: 144px;
}

/* persistent search forms */
.persistent {
  margin: 0 0 10px 0; /* this is where the space at the bottom of the persistent form would be changed */
  padding: 0;
  border: 1px solid #dbd0c7;
  position: relative;
  zoom:1;
}

.persistent .search {
  border: 2px solid #fff;
  background-color: #F5F4F0;
  overflow: visible;
}

.persistent .search .end {
  background-color: #f5f4f0;
  border: none;
}
.persistent .search ol li input {
  width: 152px;
}
.persistent #person_search.search li.last input {
  width: 179px;
}
.persistent .search select {
  width: 160px;
}

/* Following two rules are for the persistent search form that's only as wide as the left column. */
.persistent_left {
  width: 638px !important;
}
.persistent_left .search ol {
  width: 610px !important;
}

/* Persistent Find Person Advanced Input Fields */
.persistent .person_search_advanced ol li input,
.persistent #person_search.person_search_advanced li.last input {
  width: 117px;
}

/* Persistent Find Person Advanced Bottom Padding
 *
 * To accomplish eight pixels of padding, we have to shrink the .end div and
 * the ol bottom margin (which are both 12px by default)
 */
.persistent .person_search_advanced .end {
  height: 1px;
}
.persistent .person_search_advanced ol {
  margin-bottom: 7px;
}

/**** page specific overrides */
/* the select inputs on the international pages and the double form layout on the area/zip pages
 * mean we have to customize some css so they pages look right.
 */
#intl_resources {
  overflow: hidden;
}
#intl_calling_codes,
#intl_directories {
  float: left;
}
#intl_resources #intl_calling_codes {
  margin-right: 30px;
}
#intl_calling_codes select,
#intl_directories select {
  margin-bottom: 3px; 
}
#intl_calling_codes label,
#intl_directories label {
  display: block;
  font-size: 13px;
  font-weight: bold;
}
#intl_calling_codes li.last,
#intl_directories li.last {
  vertical-align: bottom;
}

#area_code_search, #zip_code_search {
  overflow: hidden;
}
#area_code_search form, #zip_code_search form {
  float: left;
}
#left_column #area_code_search form,
#right_column #zip_code_search form {
  float: none;
  margin-bottom: 10px;
}
#area_code_search ol.vertical p {
  text-indent: 0;
  padding-top: 11px;
}
#FindAreacode .title,
#persistent_area_code_search .title {
  background-position: -7px -584px;
  width: 98px;
}
#ReverseAreacode .title,
#persistent_area_code_search_by_location .title {
  background-position: -7px -619px;
  width: 177px;
}
#persistent_area_code_search_wrapper #area_code_location,
#persistent_area_code_search_by_location #area_code,
#persistent_zip_code_search_wrapper #zip_code_location,
#persistent_zip_code_search_by_location #zip_code,
#area_code_search_by_location #area_code,
#persistent_zip_code_search #zip_code_location,
#zip_code_search_by_location #zip_code {
  width: 524px;
}
.persistent .search input.submit {
  background-position: -120px -83px;
  width: 83px;
  height: 41px;
}
#findperson_search.search ol#findperson_list_advanced li input {
  width: 116px;
}

#findperson_search.search ol#findperson_list_advanced li input#advanced_firstname, 
#findperson_search.search ol#findperson_list_advanced li.last input#advanced_location {
  width: 117px;
}

#findperson_search.search ol#findperson_list_advanced{
  margin: 0;
  *margin: 0 0 -8px 0;
}

#area_code_search p.vertical {
  left: 160px;
}

#area_code_search p,
#persistent_area_code_search_wrapper p {
  position: absolute;
  left: 495px;
  top: -8px;
  width: auto; /* for IE6 */
  padding-top: 11px;
}

#area_code_search a,
#persistent_area_code_search_wrapper a {
  white-space:nowrap;
}

#area_code_search.search .end.vertical,
#zip_code_search.search .end.vertical {
  height: 6px;
}

#findperson_search.search .end {
  height: 6px;
}

input.checkbox {
  width: 14px !important;
  height: 14px !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 3px 0 0 0 !important;
}

label.checkbox {
  display: inline !important;
  margin: 0 !important;
  padding: 0 0 0 4px !important;
  width: auto !important;
  font-weight: normal !important;
  font-size: 11px !important;
  color: #999999 !important;
  vertical-align: bottom !important;
}

/* Mobile Carrier Lookup */
#mobile_lookup_long_form h4 {
  font: bold 12px Arial;
  color: #54b948;
  margin: 0;
  padding: 0;
  float: left;
  margin-bottom: 1px;
}

#mobile_lookup_long_form p {
  margin: 0 23px 10px 0;
  padding: 0;
  font: normal 12px Arial;
  float: left;
  width: 95%;
  line-height: 1.5;
  color: #999999;
}

#mobile_lookup_long_form label span {
  font-weight: normal;
  color: #ccc;
}

#mobile_lookup_long_form #carrier {
  margin-bottom: 4px;
  width: 256px;
}

#mobile_lookup_long_form li#carrier_select {
  float: none;
}
#mobile_lookup_long_form li#carrier_select .select_carrier_highlight
{
  color: #f00;
}

#mobile_lookup_long_form.search ol {
  margin: 0 0 3px;
}

#mobile_lookup_long_form.search ol li {
  float: left;
  clear: both;
}

#mobile_lookup_long_form.search ol li fieldset {
  float: left;
  display: inline;
  border: none;
  margin: 9px 10px 0 0;
  padding: 0;
}

#mobile_lookup_long_form.search li.last {
  padding-bottom: 2px;
}

#mobile_lookup_long_form.search li.last input.submit {
  margin: 6px 0 0 223px;
}

#mobile_lookup_long_form.search .add_more a {
  top: -27px;
}
fieldset.carrier_lookup_name label {
  width: 142px !important;
}
fieldset.carrier_lookup_name input {
  width: 142px !important;
}
fieldset.carrier_lookup_number label {
  width: 112px !important;
}
fieldset.carrier_lookup_number input {
  width: 112px !important;
}

.carrier_result {
  padding: 6px 0 0 0;
  height: 15px;
  font-size: 12px;
  color: #333333;
}
.carrier_result a {
  font-size: 11px;
  color: #54b948;
}
.carrier_result_in_network {
  background: url(../images/round_tick.png) 0 1px no-repeat;
  padding-left: 24px;
}


/* If you have multiple inputs in a vertical sort of form, use a ol with class
 * vertical.
 */
.search ol.vertical li {
  margin: 4px 6px 4px 0;
}

.search ol.vertical li input {
  margin-bottom: 0;
  width: 182px;
}

.search ol.vertical li label.infield {
  line-height: 1em;
}

.search div.form_divider {
  background: url(../images/forms/area-zip_vert_divider_line.gif) 0 0 no-repeat;
  width: 2px;
  height: 83px;
  float: left;
  margin: -10px 35px 0;
}

.search div.form_divider.vertical {
  background: url(../images/forms/area-zip_hor_divider_line.gif) 0 0 no-repeat;
  height: 2px !important;
  line-height: 2px !important;
  font-size: 2px !important;
  width: 257px;
  float: left;
  clear: both;
  margin: 0 0 7px 0;
}

ol#mobile div.form_divider {
  background: url(../images/forms/area-zip_hor_divider_line.gif) 0 0 repeat;
  height: 2px !important;
  line-height: 2px !important;
  font-size: 2px !important;
  width: 588px;
  float: left;
  clear: both;
  margin: 1px 0 0;
}

/* search suggestions */

.persistent .search .ss {
  float: right;
  padding: 0;
  width: 259px;
  *width: 261px;
  padding-right: 23px;
  position: relative;
}

.persistent h1#ss_header {
  font-size: 15px;
  float: left;
  margin: 0 0 4px 0;
}

.persistent h1#ss_header span {
  display: block;
  width: 100%;
  height: 100%;
  padding: 2px 0 4px 0;
  /* for IE6 */
  _display: inline;
  _position: relative;
  _bottom: 4px;
}

.persistent .search .ss p {
  padding: 0;
  font-size: 12px;
}

.persistent .search .ss p.first {
  margin-bottom: 5px;
}

.persistent .search .ss p a {
  display: inline;
  clear: none;
  float: none;
}

.persistent .search .ss a {
  margin-bottom: 5px;
  display: block;
  float: left;
  clear: both;
  width: 100%;
}

/* specific rules for business search page */

#bus_type {
  width:262px; 
}
#key {
	width: 262px;
}
ol.business_page #key {
  width: 234px;
}

ol.horizontal #key {
  width:240px;
}
ol.vertical #key {
  width:250px;
}

#bus_location {
  width: 233px;
}

ol.horizontal #bus_location {
  width:240px;
}

.bus_form_page ol li select {
  width: 160px;
  margin-right: 9px;
  /* for IE6 and IE7 */
  *position: relative;
  *top: 2px;
}

.bus_form_page ol li.bus_or {
  font-weight: bold;
  width: 36px;
  text-align: center;
  margin-top: 5px;
  font-size: 13px;
  color: #333333;
}

#findperson_search form {
  padding: 0;
}