 /* ----- Global properties declaration ----- */
html, body, ul, ol, li, p, h1, h2, h3, h4, h5, h6, form, fieldset, map, object, embed {  
	margin:0px; 
	padding:0px; 
	border:0px;
	line-height: 1.2em;
}

body {
	font-size: 75.01%;
	font-family: Verdana, Tahoma, Helvetica, Arial;
	color:#000;
	background:#fff none top left no-repeat;
	line-height: 1.2em;
	text-align:center;
}

/* ----- Heading Properties ----- */
h1,h2,h3,h4,h5,h6 {
	font-weight:bold;
	margin-bottom:0.4em;
}

h1 { margin-bottom:1em; }
h2 { margin-bottom:0.5em; }
h3, h4 { margin-bottom:0.3em; }
h5, h6  { margin:0px 0px 2px 0px; }

h1 { font-size:1.6em; }
h2 { font-size:1.5em; }
h3 { font-size:1.4em; }
h4 { font-size:1.3em; }
h5 { font-size:1.2em; }
h6 { font-size:1.1em; }

/* ----- Table Properties ----- */
table .spacer { padding: 10px; background-color: transparent; }

td {
	font-size:1em;
	line-height:1.2em;
}

th {
	font-weight: bold;
	padding: 3px 10px;
	background-color: #666;
	color: #fff;
}

* html td { font-size:12px; }
* html th { font-size:12px; }

table.qq { 
	width: 100%;
	margin-top: 10px;
}
table.qq label { display: block; }
table.qq th {
	color: #fff;
	background-color: #4c723f;
	padding: 9px 8px;
}
table.qq td {
	background-color: #c6e290;
	border-top: 1px solid #d7e9bc;
	border-right: 1px solid #d7e9bc;
	padding: 4px 8px 3px 8px;
	text-align:center;
}
table.qq td.last {
	border-right: 0;
}

table#family { width: 100%; }
table#family th.first { background-color: transparent; }
table#family th, table#family td { text-align: center; }
table#family td { width: 25%; }
table#family td.first {
	text-align: right;
	padding-right: 10px;
	background-color: #fff;
	border: 1px solid #fff;
}

table#step2 { width: 100%; }
table#step2 th, table#step2 td { text-align: left; }
table#step2 .text-center { text-align: center; } /* to override the above declaration when using the .text-center class */

table#products th.first { text-align: right; }
table#products th { text-align: center; }
table#products td.first {
	text-align: right;
	width: 200px;
	padding-right: 10px;
	font-weight: bold;
}
table#products tr.hover { background-color: #b3d66e; }

table.forum h5 { margin: 3px 7px; }
table.forum h6 { color: #4c723f; }
table.forum h6 a { color: #4c723f; text-decoration: none; }
table.forum .reply-footer {
	background-color: #d7e8b4;
	padding: 2px;
	margin-top: 8px;
}

table.forum th {
	padding: 3px;
	font-weight: bold;
	text-align: left;
	background: #4c723f url(../images/forum/table-th-background.gif) top left repeat-x;
}

table.forum td, table.products td {
	padding: 3px;
	vertical-align: top;
}

table.forum td { 
	padding: 8px 10px;
	text-align: left;
}

table.forum-hover td {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #c6e290;
	border-left: 1px solid #c6e290;
}

table.forum-hover tr:hover td {
	background-color: #d7e8b4;
	border-right: 0;
	border-bottom: 1px solid #769c69;
	border-left: 0;
	padding-right: 11px;
	padding-left: 11px;
}

table.forum, table.products, table.compare { cursor: default; }
table {
	padding: 0;
	margin: 0;
	border: 0;
}

table.forum {
	padding: 0;
	margin: 5px 0;
	border: 0;
	width: 100%;
	background-color: #fff;
}

table.forum .info {
	font-size: 0.75em;
}

table.forum th { background-color: #4b713e; }
table.forum tr { background-color: #c6e290; }

/* ----- Generic Links ----- */
a:link, a:visited {
	color: #6C8544;
	text-decoration: underline;
}

a:hover, a:visited:hover { background-color:#DCECC3; }
a.no-bak, a.no-bak:hover { background-color: transparent; }

a.image:link, a.image:visited { background-color:transparent; }

/* ----- Text Elements ----- */
p {
	padding: 0px 0px 0.5em 0px;
	line-height: 1.2em;
}

blockquote.quote {
	margin: 10px;
	margin-top: 0;
	padding: 0 0 5px 8px;
	border-left: 3px solid #769c69;
	color: #58595b;
}

.larger { font-size: 1.2em; }
.large { font-size: 1.1em; }
.small { font-size: 0.9em; }
.smaller { font-size: 0.8em; }

/* ----- Image ----- */
img {
	border: 0px;
	vertical-align: middle;
}

.no_border { border: 0px; }

.bordered { border: 1px solid #ccc; }

map { display: inline; }


/* ----- Page Breakers ----- */
hr {
	height:1px;
	color:#ccc;
	background-color:#ccc;
	border:0px;
}


/* ----- Lists ----- */
ul, ol {
	margin:10px 0px 5px 17px;
	padding:0px;
	list-style-position:outside;
}

.question ul, .question ol {
	margin: 0;
	padding: 0;
}

ul { list-style-type:disc; }
ol { list-style-type:decimal; }
ol.lower-alpha { 
	list-style-type: lower-alpha;
	list-style-position: inside; 
}

ul li, ol li { margin:0px 0px 3px 0px; }

ul.inline {
	margin:0px;
	padding:0px;
}

ul.inline li {
	display:inline;
	margin:0px 5px 0px 0px;
}


/* ----- User Interactivity Elements ----- */
input, select, textarea {
	font: 1em Arial, Helvetica, Tahoma, sans-serif;
	vertical-align: middle;
	padding:1px;
	margin:0px;
	color:#000;
}

form { display:inline; }

.checkbox, .radio {
	border:0px;
	padding:0px;
}

.full { width:95%; }


/* ----- Positioning ----- */
.clear_both { clear:both;height:0px;line-height:0px;font-size:0; }
.float_left { float:left; }
.float_right { float:right; }
.align_left { text-align:left; }
.align_right { text-align:right; }
.align_center { text-align:center; }
.valign_top, tr.valign_top td { vertical-align:top; }
.valign_middle, tr.valign_middle td { vertical-align:middle; }
.valign_bottom, tr.valign_bottom td { vertical-align:bottom; }


/* ----- Contextual IDs / Selectors ----- */
#wrapper {
	background:url(../images/body_bottom.gif) bottom left no-repeat;
	margin:15px auto 0px;
	padding:0px 0px 18px 0px;
	position:relative;
	text-align:left;
	width:855px;
}

#inner-wrapper {
	background:url(../images/body_top.gif) top left no-repeat;
	padding:24px 0px 0px 0px;
}

#frame {
	border-left:3px solid #000;
	border-right:3px solid #000;
}

#masthead {
	position:relative;
}

#masthead #logo {
	background:url(../images/logo.jpg) top left no-repeat;
	height:73px;
	position:relative;
	width:855px;
}

#masthead #logo a:link, #masthead #logo a:visited {
	background:transparent;
	display:block;
	height:73px;
	width:300px;
}

#masthead #logo span, #masthead #byline { display:none; }

#nav {
	background:url(../images/bg_menu.gif) top left no-repeat;
	clear:both;
	height:41px;
	overflow:hidden;
	padding:4px 0px 4px 20px;
	voice-family:"\"}\"";
	voice-family:inherit;
	height: 26px;
	border-bottom: 3px solid #000;
}

#nav ul, #sub-nav ul {
	list-style-type:none;
	margin:0px;
	padding:0px;
}

#nav li, #sub-nav li {
	display:inline;
	margin:0px;
	padding:0px;
}

#nav a:link, #nav a:visited, #sub-nav li a:link, #sub-nav li a:visited {
	background-color: transparent;
	color:#000;
	float:left;
	font-size:.95em;
	margin: 0 0 0 0;
	padding:8px 6px;
	text-decoration:none;
	text-transform:none;
}

#nav a:hover, #sub-nav li a:hover, #nav a.on:link, #sub-nav li a.on:visited,  #nav a.on:visited {
	background-color:#94B25D;
	color:#fff;
}

#sub-nav {
	background: #b4d46f url(../images/sub-nav-bg.gif) top left repeat-x;
	border-bottom: 1px solid #4c713b;
	border-right: 3px solid #000;
	border-left: 3px solid #000;
	height:30px;
	overflow:hidden;
	padding: 0 15px 0 17px;
}

#welcome {
	text-align: left;
	font-size: 1.1em;
	margin: 8px 20px 0 125px;
	float: left;
}

#content {
	background:#f9fcf3 url(../images/bg_body.gif) top left repeat-x;
	border-left:3px solid #000;
	border-right:3px solid #000;
	clear:both;
	min-height:403px;
	padding-top: 10px;
	position:relative;
}

* html #content {
	height:423px;
	voice-family:"\"}\"";
	voice-family:inherit;
	height:403px;
}

#content #banner, #content #banner-home {
	margin:0px 0px 10px 0px;
}

#content #banner-home {
	border:3px solid #6C8544;
	border-left:0px;
	width:543px;
}

#content #bottom-content {
	background:url(../images/panel_bottom.gif) top left no-repeat;
	height:206px;
	overflow:hidden;
	padding:0px;
	width:546px;
}

#content #video {
	background-color:#f2f2f2;
	float:left;
	height:200px;
	margin:3px 0px 3px 0px;
	width:267px;
}

#content #login {
	float:right;
	padding:15px 20px;
	width:270px;
	voice-family:"\"}\"";
	voice-family:inherit;
	width:230px;
}

#content #login input.submit {
	height:30px !important;
	width:auto;
}

h1 span { display:none; }

h1#ready-reckoner {
	background:url(../images/title_ready-reckoner.gif) top left no-repeat;
	height:29px;
	margin:0px;
	width:182px;
}

#content #left-col {
	float:left;
	width:547px;
}

#content #right-col {
	float:right;
	padding-right:15px;
	width:292px;
	voice-family:"\"}\"";
	voice-family:inherit;
	width:277px;
}

#content #right-col #right-col1 {
	background: url(../images/bg_right_column.gif) no-repeat top left;
	height: 173px;
	padding: 10px;
}

#content #right-col #right-col2 {
	padding: 10px;
}

#content #slogan {
	color:#6C8544;
	font-size:1.5em;
	font-weight:bold;
	line-height:1.2em;
	padding:20px;
	text-align:center;
	width:277px;
	voice-family:"\"}\"";
	voice-family:inherit;
	width:237px;
}

#content #right-col div.alert-panel {
	background:url(../images/panel_right_divider.gif) bottom right no-repeat;
	padding:0px 0px 22px 0px;
}

#content #right-col div.last-panel {
	background-image:url(../images/panel_right_bottom.gif);
	padding-bottom:21px;
}

#content #right-col div.alert-panel div.body, #content #right-col div.alert-panel div.body-first {
	background-color:#F3F7EB;
	border:3px solid #6C8544;
	border-bottom:0px;
	border-top:0px;
	padding:10px 25px 0px;	
}

#content #right-col div.alert-panel div.body-first { border-top:3px solid #6C8544; }

#content #mainframe, #content #homepage_content {
	padding: 10px 25px;
	width: 500px;
}

div.homepage-rebate {
	background:url(../images/homepage_panel_rebate.gif) top left no-repeat;
	line-height:1.2em;
	padding:30px 0px 0px 70px;
}

div.homepage-compare-funds {
	background:url(../images/homepage_panel_compare_fund.gif) top left no-repeat;
	line-height:1.2em;
	padding:60px 0px 0px 20px;
}

div.homepage-poll {
	background:url(../images/homepage_panel_poll.gif) top left no-repeat;
	line-height:1.2em;
	padding:30px 0px 0px 50px;
}

div.empty-health {
	font-size:1.2em;
	font-weight:bold;
	padding:20px;
	text-align:center;
}

#footer {
	clear:both;
	color:#777;
	position:relative;
	margin:0px auto;
	padding:5px 10px;
	width:835px;
	voice-family:"\"}\"";
	voice-family:inherit;
	width:815px;
}

#footer a:link, #footer a:visited {
	color:#777;
	text-decoration:none;
}

#footer #copyright {
	float:left;
	text-align:left;
	width:30%;
}

#footer #links {
	float:left;
	text-align:center;
	width:40%;
}

#footer #links a:link, #footer #links a:visited {
	padding:0px 5px;
}


/* ---- CUSTOM ALERT BOX ---- */
.custom-alert {
	width: 413px;
}

.custom-alert #custom-alert-buttons input {
	padding: 2px;
	width: 100px;
	margin: 0 3px;
	text-align: center;
}

.custom-alert .custom-alert-top, .custom-alert .custom-alert-bottom {
	height: 20px;
}

.custom-alert .custom-alert-content {
	padding: 20px;
	background-color: #fff;
	border-left: 3px solid #000;
	border-right: 3px solid #000;
	background: #e8f0d8 url(../images/custom-alert-bak.png) bottom left repeat-x;
}
/* ---- [END] CUSTOM ALERT BOX ---- */


/* Messages */
div.msg_error, div.msg_warning, div.msg_info {
	padding:10px;
	font-weight:bold;
}
	
div.msg_error { color: #C20000; }
div.msg_warning { color: #D07A00; }
div.msg_info { color: #A66022; }

.form_error, .required {
	vertical-align:top;
	color: #C20000;
}

.required {
	color: #ff0000;
	font-weight: bold;
}

/* ---- Flash Messages in Quick Quote ---- */
.flash {
	border: 1px solid #4a713e;
	background-color: #a7ce5b;
	padding: 8px 10px;
	margin: 5px;
}

.flash-error {
	color: #ff0000;
	border: 1px solid #8c0404;
	background-color: #fcd8d8;
	padding: 8px 10px;
	margin: 5px;
}

.flash ul, .flash-error ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Developed By */
#developer {
	margin:0px;
	float:right;
	color:#777;
}

#developer a:link, #developer a:visited { color:#777; }
#developer a:hover { color:#666; }

#content-main {
	padding: 5px 15px;
}

blockquote {
	margin: 0;
	padding: 5px 10px;
}


/* ---- ( layout elements ) ---- */
h2.quick-quote {
	background: url(../images/title_quick-quote.gif) no-repeat top left;
	width: 151px;
	height: 27px;
	margin: 0 0 10px 0;
	text-indent: -2000px;
}

h2.search-results {
	background: url(../images/title_search-results.gif) no-repeat top left;
	width: 186px;
	height: 27px;
	margin: 0 0 10px 0;
	text-indent: -2000px;
}

h2.products {
	background: url(../images/title_products.gif) no-repeat top left;
	width: 412px;
	height: 27px;
	margin: 0 0 10px 0;
	text-indent: -2000px;
}
h2.continue_products {
	background: url(../images/title_product-continue.gif) no-repeat top left;
	width: 458px;
	height: 27px;
	margin: 0 0 10px 0;
	text-indent: -2000px;
}

h2.application-details {
	background: url(../images/title_application-details.gif) no-repeat top left;
	width: 217px;
	height: 27px;
	margin: 0 0 10px 0;
	text-indent: -2000px;
}

h2.forum {
	background: url(../images/title_forum.gif) no-repeat top left;
	width: 74px;
	height: 27px;
	margin: 0 0 10px 0;
}

div.h3-left-box {
	width: 31px;
	height: 31px;
	float: left;
	background-color: #d7e8b4;
	margin: 5px 1px 0 0;
	padding: 0;
	text-align: center;
}
div.h3-left-box * { position: relative; top: 6px; }

.section-title {
	position: relative;
	background-color: #d7e8b4;
	margin: 5px 0 0 0;
	padding: 8px 10px;
	color: #000;
	text-align: left;
	font-size: 1em;
}
* html .section-title { height:1px; } /* give it layout or IE will freak */

.section-title img { 
	position: absolute;
	top: 7px;
	right: 10px;
}

.section {
	background-color: #fff;
	margin: 1px 0;
	padding: 20px;
}

div.question {
	margin: 0 0 10px 20px;
	position: relative;
}

div.question-marker {
	position: absolute;
	left: -45px;
	top: 0;
	width: 40px;
	padding: 0;
	margin: 0;
	text-align: right;
	vertical-align: top;
	font-weight: bold;
}

div.question ul {
	list-style-type: none;
	margin: 5px 0 10px 25px;
}

div.tooltip {
	position: absolute;
	left: 0;
	top: 0;
	visibility: hidden;
	width: 200px;
	padding: 10px;
	border: 1px solid #263900;
	background-color: #f0f8e2;
	text-align: left;
	z-index: 1000;
}

div.cheapest, div.discounted { float: left; }
div.cheapest div { background-color: #77b7d2; }
div.discounted div {	background-color: #7eb63b; }
div.cheapest div, div.discounted div {
	float: left;
	margin: 5px;
	width: 25px;
	height: 25px;
	border: 1px solid #546937;
}
div.cheapest span, div.discounted span {
	display: block;
	float: left;
	margin: 8px 5px 0 0;
}


/* ---- ( input & label ) ---- */
textarea.reply {
	width: 99%;
	height: 100px;
	background-color: #e0e8cf;
	border: 1px solid #a2b77b;
}

textarea.reply:focus {
	border: 1px solid #4c723f;
}

label.error, p.error, div.error {
	color: #ff0000;
	border: 1px solid #8c0404;
	background-color: #fcd8d8;
	padding: 1px 3px;
	margin: 2px 6px;	
	display:block;	
	width:auto;
}

input.error {
	border: 1px solid #8c0404;
	color: #ff0000;
	background-color: #fcd8d8;
}

label.error2 { color: #ff0000; }

input.error2 {
	color: #ff0000;
	background-color: #fcd8d8;
	border: 1px solid #8c0404;
}

input, select {
	margin-bottom: 1px;
	padding: 1px;
}

/* ---- (  utility classes ) ---- */
/* element aligning */
.top { vertical-align: top; }
.bottom { vertical-align: bottom; }
.middle { vertical-align: middle; }
.left { float: left; }
.right { float: right; }
/* text aligning */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
/* width */
.shortest { width: 50px; }
.shorter { width: 100px; }
.short { width: 150px; }
.short-med { width: 200px; }
.med { width: 300px; }
.med-long { width: 400px; }
.long { width: 450px; }
.longer { width: 600px; }
.quarter { width: 25%; }
.half { width: 50%; }
.full { width: 100%; }
/* misc */
.clear { 
	clear: both; 
	line-height: 0; 
	font-size: 0; 
	height: 0; 
}
.note {
	background-color: #e7e7e7;
	padding: 8px;
	margin-top: 5px;
}