/* General layout styles
************************************************/
* {
	margin: 0px;
	padding: 0px;
}

body div#overDiv {
	width: 250px;
	padding: 0px;
	margin: 0px;
}

body div#overDiv table, body div#overDiv table tr, body div#overDiv table tr td table tr, body div#overDiv table tr td, body div#overDiv table tr td table tr td {
	margin: 0px;
	padding: 0px;
	border: 0px;
	background: none;
}

body div#overDiv table tr td table {
	padding: 0px;
	margin: 0px;
	border: 1px solid #000080;
	background: #ffffff;
}

body div#overDiv table tr td table tr td {
	font: 11px Arial;
	margin: 0px;
	padding: 8px;
	border: 0px;
}

body {
	text-align: center;
	margin: 0px;
}

body table {
	margin: auto;
	text-align: left;
}

img {
	border: 0px;
}

label.clickable:hover {
	cursor: pointer;
}

h1 {
	text-align: left;
	clear:left;
	margin:0px 1px 1px 1px;
	padding:6px 3px 6px 8px;
	border:1px solid;
}

h2 {
	text-align: left;
	padding: 10px;
}

p {
	text-align: left;
}

#page_container {
	margin: auto;
	width: 773px;
	text-align: left;
}

.c {
	text-align: center;
}

.r {
	text-align: right;
}

.top_bar {
	height: 75px;
	width: 773px;
}

.menu_bar {
	height: 35px;
	width: 773px;
}

.bottom_bar {
	clear: both;
	width: 773px;
	padding: 0px;
}

.bottom_bar img {
	padding: 5px 10px;
	vertical-align: middle;
}

.links_bottom {
	vertical-align: middle;
}

.copyright {
	text-align: center;
}

.calendar {
	z-index: 7;
}

.top_bar {
	background-position: top left;
	background-repeat: no-repeat;
}
.menu_bar {
	background-position: top left;
	background-repeat: no-repeat;
}
.bottom_bar {
	background-position: bottom right;
	background-repeat: no-repeat;
}

h1 {
	background-color: #ffffff;
	background-position: top left;
	background-repeat: repeat-x;	
}

.mark_doc {
	background-position: top right;
	background-repeat: no-repeat;	
}

.mark_edit {
	background-position: top right;
	background-repeat: no-repeat;	
}

.mark_error {
	background-position: top right;
	background-repeat: no-repeat;	
}

.mark_ok {
	background-position: top right;
	background-repeat: no-repeat;	
}

.saving {
	background-color: #fff;
	background-position: 5px 7px;
	background-repeat: no-repeat;
}

.bad {
	background-color: #888;
	background-position: 5px 5px;
	background-repeat: no-repeat;
}

#page_right_column {
	float: right;
	width: 183px;
	padding: 10px;
}

#page_left_column {
	float: left;
	width: 550px;
}

#quote_number_reference {
	position: absolute;
	top: 0px;
	right: 0px;
	padding: 5px;
}

#purchase #quote_number_reference {
	position: relative;
	float: right;
}

#view_product #quote_number_reference, #compare_product #quote_number_reference {
	position: relative;
	width: 95%;
	text-align: right;
}


/* Flash messages (used with ajax)
************************************************/
#flash {
	position:absolute;
	top: 0px;
	left: 0px;
	z-index:5;
	padding: 0px;
	border: 1px solid;
}

#flash_message {
	width: 250px;
	text-align: left;
	border: 0px solid;
	margin: 0px;
	z-index: 6;
}

.good {
	padding: 8px;
}

.saving {
	padding: 8px 8px 8px 25px;
}

.bad {
	padding: 8px;
	padding-left: 30px;
}

#flash_message #close_button {
	text-align: right;
}

/* =module QUOTE =action NEW - specific styles
************************************************/
#quote_form #page_container {
	position: relative;
	background-repeat: repeat-y;
}

#quote_form .section, #quote_form .section_header {
	float: left;
	width: 550px;
}

#quote_form #main_section_header {
	margin-top: 10px;
}

#quote_form .section {
	margin-bottom: 10px;
}

#quote_form #help {
	float: right;
	width: 183px;
	padding: 10px;
}

#quote_form label, #quote_form input, #quote_form select, #quote_form span.tiptext, #narrow label, #narrow input, #narrow select, #narrow span.tiptext {
	display: block; 
	float: left;
}

#quote_form input.age {
	width: 18px;
	margin-right: 8px;
}

#quote_form span.tiptext {
	margin: 7px 0px 5px 5px;
}

#quote_form input, #quote_form select, #narrow input, #narrow select {
	margin:5px 0px;
}

#quote_form div.section div.button, #narrow div.section div.button {
	clear: left;
	padding-left: 220px;
}

#quote_form label, #narrow label {
	width: 200px;
	margin:5px 20px 5px 0px;
	padding-top: 2px;
	text-align:right;
}

#quote_form label.second, #narrow label.second {
	width: 90px;
}

#quote_form br, #quote_form div.section div, #narrow br, #narrow div.section div {
	clear: left;
}

#quote_form div.section div {
	padding: 5px 0px;
}

#quote_form h2.section_header, #quote_form #help h2, #compare_product #pageheader, #view_product h1, #view_product #pageheader
 {
	clear:left;
	margin:0px 1px 1px 1px;
	padding:6px 6px 4px 6px;
	border:1px solid;
	background-color: #ffffff;
	background-position: top left;
	background-repeat: repeat-x;	
}

#quote_form #help h2 {
	padding-bottom: 6px;
}

#quote_form #help p, #narrow p {
	padding: 5px;
}

#quote_form #options_section span#selected_sports.tiptext {
	position: relative;
	display: block;
	float: left;
	width: 200px;
	height: 88px;
	padding: 3px;
	margin-top: 5px; 
	border: 1px solid;
	overflow-y: scroll;
}

#quote_form #options_section #selected_sports div.spacer {
	display: none;
	float: left; 
	width: 1px; 
	height: 88px;
}

#quote_form #options_section #selected_sports #sports_list {
	float: left; 
	clear: none;	
}

#quote_form #options_section #selected_sports div {
	padding: 0px;
	margin: 0px;
}

#quote_form #options_section_header a {
	border: 0px;
}

#quote_form h2.section_header:hover {
	cursor: pointer;
}

#quote_form .mark_doc, #quote_form .mark_edit, #quote_form .mark_error, #quote_form .mark_ok {
	display: block;
	float: right;
	width: 20px;
	height: 20px;
	margin: -4px 0px 0px 0px;
	padding: 0px;
}

#quote_form div.section p {
	clear: left;
	padding: 5px;
}

#quote_form #options_section a.help, #narrow #options_section a.help {
	display: block;
	float: left;
	margin: 5px 10px 0px 0px;
	padding: 0px;
	font-weight: bold;
	font-size: 12px;
}

* html #quote_form #options_section a.help, * html #narrow #options_section a.help { margin: 5px 10px 0px 0px; }

a.sortby, a.sortby_desc, a.sortby_asc {
	display: block;
	height: 30px;
	width: 85px;
}

a.sortby {
	background-position: top left;
}

a.sortby:hover {
	background-position: bottom right;
}

a.sortby_desc {
	background-position: bottom right;
}

a.sortby_desc:hover {
	background-position: top right;
}

a.sortby_asc {
	background-position: top right;
}

a.sortby_asc:hover {
	background-position: bottom right;
}


/* =module CARRIER =action VIEW - specifc styles
************************************************/
#view_carrier, #view_product, #view_product_benefit, #compare_product {
	background-color: #ffffff;
	background-position: top left;
	background-repeat: repeat-x;
}

#view_carrier h1, #view_carrier h2, #view_carrier p {
	width: 400px;
	margin: 0px auto;
}

#view_carrier h1 {
	width: 450px;
}

#view_carrier h2 img {
	float: right;
}

/* =module PRODUCT =action VIEW - specifc styles
************************************************/

#view_product h1, #view_product h2, #view_product table, #view_product p, #view_product div {
	width: 95%;
	margin: 0px auto;
}

#view_product #overDiv table {
	width: 150px;
}

#view_product p {
	padding-bottom: 5px;
}

#view_product table {
	border-bottom: 1px solid;
	border-left: 1px solid;
	border-right: 1px solid;
}

#view_product th, #view_product td {
	padding: 5px 5px;
	vertical-align: top;
}

#view_product tr.benefits th, #view_product tr.benefits td {
	padding: 10px 5px;
}

#view_product #pageheader.noborder_left {
	border-left: 0px;
	text-align: right;
}

#view_product #pageheader.noborder_right {
	border-right: 0px;
}

#view_product th {
	width: 150px;
}

#view_product td img {
	vertical-align: middle;
	margin-right: 5px;
}

#view_product td.excess {
	width: 50px;
}

#view_product td.premium {
	text-align: left;
}

#view_product th {
	border-right: 1px solid;
}

#view_product tr.border_top td, #view_product tr.border_top th {
	border-top: 1px solid;
}

#view_product tr.border_bottom td, #view_product tr.border_bottom th {
	border-bottom: 1px solid;
}

/* =module PRODUCT =action COMPARE - specifc styles
************************************************/
#compare_product th {
	width: 150px;
}

#compare_product table {
	border-bottom: 1px solid;
	border-left: 1px solid;
}

#compare_product th, #compare_product td {
	padding: 5px 5px;
	vertical-align: top;
}

#compare_product tr.benefits th, #compare_product tr.benefits td {
	padding: 10px 5px;
}

#compare_product tr.border_top td, #compare_product tr.border_top th {
	border-top: 1px solid;
}

#compare_product tr.border_bottom td, #compare_product tr.border_bottom th {
	border-bottom: 1px solid;
}

#compare_product #pageheader.noborder_left {
	border-left: 0px;
	text-align: right;
}

#compare_product #pageheader.noborder_right {
	border-right: 0px;
}

#compare_product td img {
	vertical-align: middle;
}

#compare_product td.description {
	width: 150px;
}

#compare_product td.premium {
	text-align: left;
}

#compare_product td.excess {
	width: 50px;
}

#compare_product td.product_name {
	width: 200px;
}

#compare_product th, #compare_product td.product_edge {
	border-right: 1px solid;
}

/* =module ORDER =action PURCHASE - specifc styles
************************************************/
#purchase #quote_information br, #purchase #product_information br {
	clear: left;
}

#purchase #quote_information h3, #purchase #quote_information div, #purchase #product_information h3, #purchase #product_information div {
	float: left;
	padding: 5px 2px;
}

#purchase #quote_information h3, #purchase #product_information h3 {
	width: 22%;
}

#purchase #quote_information div, #purchase #product_information div {
	width: 25%;
}

#purchase #product_information div#benefits {
	float: none;
	width: 99%;
}

#purchase #product_information #benefits h3, #purchase #product_information #benefits div {
	float: left;
	padding: 5px 3px;
	height: auto;
}

#purchase #product_information #benefits h3 {
	width: 30%;
}

#purchase #product_information #benefits div {
	width: 49%;
}

#purchase #product_information #benefits div.excess {
	width: 10%;
}

#purchase #quote_information h3, #purchase #product_information h3, #purchase #product_information #benefits h3 {
	padding-right: 8px;
}

#purchase #help {
	float: right;
	width: 180px;
	padding: 10px;
}

#purchase #help h2 {
	padding-bottom: 6px;
}

#purchase #help p {
	padding: 5px;
}

#purchase #help h2 {
	clear:left;
	margin:0px 1px 1px 1px;
	padding:6px 6px 6px 6px;
	border:1px solid;
	background-color: #ffffff;
	background-position: top left;
	background-repeat: repeat-x;
}

#purchase .mark_doc, #purchase .mark_edit, #purchase .mark_error, #purchase .mark_ok {
	display: block;
	float: right;
	width: 20px;
	height: 20px;
	margin: -4px 0px 0px 0px;
	padding: 0px;
}

#purchase #product_information h3.wide {
	width: 560px;
	padding: 0px;
}

/* =module RESEARCH - specifc styles
************************************************/
#research #page_left_column h1 {
	border: 0px;
	background: none;
}

#research #page_left_column h2 {
	padding: 5px;
}

#research #page_left_column h2 img {
	vertical-align: bottom;
	margin-right: 10px;
}

#research p {
	padding: 3px;
}

#research br {
	clear: left;
}

#research div.label, #research div.value {
	padding: 3px;
}

#research div.label {
	float: left;
	width: 100px;
	padding-right: 10px;
}

#research div.value {
	float: left;
}

#research #benefits div.value {
	width: 320px;
}

#research #benefits div.excess {
	float: left;
	width: 45px;
}

/* =module CONFIRMATION - specific styles
************************************************/
#confirmation div.label, #confirmation div.value {
	float: left;
}
#confirmation div.label {
	clear: left;
	width: 200px;
	font-weight: bold;
	text-align: right;
	padding: 3px 10px 3px 3px;
}
#confirmation table {
	width: 100%;
}
#confirmation th.first_label {
	width: 200px;
	padding: 3px;
}
#confirmation th.th_label, #confirmation td {
	padding: 3px;
}
#confirmation div.value {
	width: 450px;
	padding: 3px;
}
#confirmation div.value img {
	vertical-align: top;
}
#confirmation br {
	clear: left;
}
#confirmation h1 {
	clear: left;
	margin-top: 10px;
}
#confirmation h2 {
	padding: 3px;
}
#confirmation #header {
	border: 0px;
}