html, body {
	height: 100%;
	margin: 0;
}

body {
	background: #E9E9E9;
}

body, table {
	font-family: "Trebuchet MS", sans-serif;
	font-size: 12px;
}

#header {
	background: #3671B6 url("../images/header_bar.png") repeat-x;

	height: 127px;
}

#body, #header_contents, #footer_contents {
	width: 856px;
	margin: 0 auto;
}


#frame {
    position: relative;
    min-height: 100%;
    height: 100%;
    height: auto;
}


/*
Header
*/
#logo {
	background: url("../images/logo.png") no-repeat;

	width: 240px;
	height: 96px;
	margin: 15px 0 0 -3px;
	
	position: absolute;
}

#tagline {
	color: white;
	font-size: 16px;
	font-style: italic;
	
	margin: 40px 0 0 280px;
	padding: 0;
	
	position: absolute;
}

#onc_tag {
	float: right;
	margin-top: 20px;
}

#main_navigation {
	margin: 94px 0 0 250px;
	padding: 0;

	position: absolute;
	list-style-type: none;
	z-index: 5;
}

#main_navigation li.tab {
	background: url("../images/main_tabs.png") no-repeat -5px 0;

	height: 27px;
	margin-right: 1px;
	float: left;
}

#main_navigation li.tab a.main {
	color: white;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;

	width: 111px;
	height: 27px;
	padding-top: 6px;
	display: block;
}

#main_navigation li.tab.current {
	background: url("../images/main_tabs.png") no-repeat 0px -27px;

	height: 33px;
	margin: 0 -4px 0 -5px;
}

#main_navigation li.tab.current a.main {
	color: #1B4491;

	width: 121px;
}

ul.tab_dropdown {
	background: white;
	border: 1px solid #345086;
	border-radius: 5px;
	-moz-border-radius: 5px;
	
	position: absolute;
	width: auto;
	margin: 33px 0 0 -20px;
	padding: 0;
	
	list-style-type: none;
	z-index: 5;
	display: none;
}

li.tab.current ul.tab_dropdown {
	margin-left: -15px;
}

ul.tab_dropdown a {
	background: #F0F0F0;
	
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	
	width: 137px;
	padding: 4px;
	margin: 2px;
	display: block;
}

ul.tab_dropdown a:hover {
	background: #E0E0E0;
}

li.tab:hover ul.tab_dropdown {
	display: block;
	z-index: 6;
}


/*
Body
*/
#body {
	margin: 16px auto;
}
#body_wrapper {
	background: white url("../images/body_block_bottom.png") no-repeat bottom left;
}
#body_cap {
	background: white url("../images/body_block_top.png") no-repeat top left;
	height: 10px;
}
#body_contents {
	background: white;

	margin: 0 10px;
	padding: 0 10px 20px;
}
.left_column {
	border-right: 1px solid #E9E9E9;
	
	width: 312px;
	margin: -20px 0 0 0;
	padding: 20px 20px 20px 0;
	float: left;
}
.right_column {
	border-left: 1px solid #E9E9E9;
	
	width: 173px;
	margin: -20px 0;
	padding: 20px 0 20px 20px;
	float: right;
}

#body_contents .left_block {
	width: 48%;
	float: left;
}

#body_contents .right_block {
	width: 48%;
	float: right;
}


#body_contents.base_columns {
	padding-bottom: 0;
}

#body_contents.base_columns .left_column {
	width: 602px;
	margin-right: 0;
}

#body_contents.base_columns .right_column {
	border: 0;
}


/*
Footer
*/
#footer_push {
    height: 70px;
}

#footer {
	background: url("../images/footer_bar.png") repeat-x;
	border-top: 3px solid #345086;
	
	color: white;
	font-size: 11px;

	width: 100%;
	height: 64px;
	padding: 3px 0 0;
    position: absolute;
    margin-top: -70px;
}

#footer a {
	color: white;
}

#footer div.left, #footer div.right {
	width: 350px;
	padding: 8px 0 0;
	margin: 0 12px;
	
	float: left;
}

#footer div.right {
	width: 100px;
	padding-top: 12px;
	float: right;
}

#footer div p {
	margin: 0 0 1em;
}

#bbb-bot {
	text-align: center;
	
	width: 140px;
	margin: 11px 0 0 0;
	float: right;
}

#bbb-bot img {
	width:106px;
	height:40px;
}

#copyright {
	text-align: center;
	
	width: 108px;
	margin: 8px 0 0 0;
	float: right;
}

#copyright img {
	width: 96px;
	height: 27px;
}



.button, button {
	background: #bacee4 url("../images/button.png") no-repeat;
	
	color: #333333;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	
	width: 66px;
	height: 18px;
	padding: 4px 12px 3px;
	float: left;
	cursor: pointer;
}

.button.cancel, button.cancel {
    background: #ff4d4d url("../images/button_red.png") no-repeat;	
}

.button:hover, button:hover {
}

button {
	border: 0;
	
	width: 90px;
	height: 25px;
	padding: 0;
	
	cursor: pointer;
}


.clear { clear: both; }

ul {
	margin: 0 0 1em;
	padding: 0 0 0 16px;
	list-style-type: circle;
}

a {
	color: #24539d;
}

a img {
	border: 0;
}

h2 {
	color: #24539D;
	font-size: 1.2em;
	margin: 0;
}

hr {
	border: 1px solid #CFCFCF;
}

.right_column h2 {
	margin-top: 2em;
}

#main_sidebar img {
	border: 1px solid #CFCFCF;
}


/*
Forms
*/
form div.row, form div.buttons {
	clear: left;
	margin-bottom: 8px;
}

form div.buttons {
	padding-left: 160px;
}

form div.row.required span.required {
	color: red;
	font-size: 0.8em;
	font-weight: bold;
}

form div.row div.label {
	width: 160px;
	float: left;
}

form div.row div.field {
	float: left;
}

form div.row.has_errors label {
	color: red;
}

form div.row div.error {
	color: red;
	
	float: right;
}

/*
Tables
*/
table.pricing {
	border: 1px solid #345086;
	border-bottom: 0;
	border-collapse: collapse;
	
	width: 100%;
	margin-bottom: 3em;
}

table.pricing th {
	background: #183E8D;
	
	color: white;
	text-align: left;
	
	padding: 4px;
}

table.pricing td:last-child {
	border-right: 0;
}

table.pricing td {
	border-bottom: 1px solid #345086;
	border-right: 1px solid #9aa8c3;
	
	padding: 6px;
}



table.pretty_pricing {
	border: 0;
	
	font-weight: bold;
	margin: 0 0 2em;
}

table.pretty_pricing td {
	padding: 0 8px;
}

table.pretty_pricing .cost {
	color: #183E8D;
	font-size: 1.3em;
	font-style: italic;
	font-weight: bold;
	text-align: center;
}

table.pretty_pricing td.cost {
	width: 130px;
}

table.pretty_pricing tr.total td.cost {
	border-top: 2px solid black;
}

table.pretty_pricing td.plus {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}



/*
Overlay
*/
#modal_bg {
	background: transparent url("../images/transblack.png");
	
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 100;
	
	display: none;
}

#modal_window {
	background: white;
	
	top: 0; left: 50%;
	width: 548px;
	height: 484px;
	margin-top: 100px;
	margin-left: -274px;
	position: fixed;
	
	z-index: 101;
	
	display: none;
}

#modal_close {
	margin: -5px 10px 0 0;
	float: right;
}

#modal_contents {
	padding: 10px;
}