body {
background:url("images/header-bg.jpg") repeat-x #154882;
padding:0;
margin:0;
font-family: verdana, arial, sans-serif;
font-size:0.9em;
}




/* ------------------------------- layout ----------------------------------- */

#wrapper {
width:800px;
padding:0;
margin:0;
margin:auto;
}

#header {
height:175px;
background:url("images/header.jpg") top left no-repeat;
position:relative;
}

#main {
display:table;
background:#fff;
padding-right:10px;
}

#content {
display:table-cell;
width:480px; /* leave 10px gap between content and extras */
background:#fff;
padding:0 10px;
}

#extras {
display:table-cell;
width:290px; 
padding:0;
background:url("images/extras-main.jpg") repeat-x #0a2544 center 42px;
}

#footer {
background:url("images/footer-bg.jpg") repeat-x #154882;
border-top:3px solid #fff;
}

#footer_inner {
margin:auto;
width:800px;
}

#footer_left {
display:table-cell;
width:480px;
padding:10px;
}

#footer_right {
display:table-cell;
width:280px;
padding:10px;
}





/* --------------------------- general formatting --------------------------- */

h1, h2 {
font-size:1.1em;
}

h3 {
font-size:1.1em;
font-weight:normal;
border-bottom:1px dashed #154882;
}

h4 {
font-size:1em;
font-weight:normal;
text-decoration:underline;
}

p {
font-size:0.9em;
padding:0;
margin:0.3em 0;
line-height:1.4;
}

ul {
list-style-type:none;
padding:0;
margin:0;
font-size:0.9em;
}

a:link {
color:#154882;
}

a:visited {
color:#154882;
}

a:hover {
color:#0a2645;
}

a img {
border:none;
}

.clear {
clear:both;
}


/* --------------------- header login formatting ---------------------------- */

#header form {
position:absolute;
top:20px;
right:10px
}

#header form label {
float:left;
width:7em;
color:#000;
font-size:0.8em;
}

#header ul {
font-size:1em;
}

#header li.login {
font-size:0.8em;
padding:0 0 0 200px;
}

#header li.login input {
padding:3px;
}

#header li.input {
background:url("images/text-input-bg.gif") no-repeat;
padding:5px 15px 7px 8px;
}

#header input.textInput {
border:0;
background:transparent;
top:-2px;
position:relative;
}

#header .errMsg {
}

#header a.logout {
position:absolute;
top:10px;
right:10px;
color:#fff;
}





/* ---------------------- content col formatting ---------------------------- */

#content ul li {
margin-bottom:0.5em;
}

#content ul li {
background-image:url("/images/icons/bullet.gif");
background-position:0 7px;
background-repeat:no-repeat;
padding:0 0 0 20px;
}

#content p img {
padding:0.4em 0.4em 1em 0.4em;
border:1px solid #ccc;
border-top-color:#eee;
border-right-color:#ddd;
border-top-color:#bbb;
background-color:#fff;
}

#content h1, #content h2 {
font-weight:normal;
border-bottom:1px solid #bbb;
}

#content p {
text-align:justify;
}




/* ----------------------- extras col formatting ---------------------------- */

#extras p, #extras h2, #extras h3 {
color:#fff;
border:none;
}

#extras h2#extras_header {
background:url("images/extras-corners.jpg") no-repeat #14467e;
padding:15px 10px 10px 10px;
margin:0;
}

#extras p {
padding:0 10px 10px 10px;
}

#extras h2, #extras h3 {
padding:15px 10px 10px 10px;
margin:0;
}

form {
margin-left:13px;
}




/* ------------------------- footer formatting ------------------------------ */

#footer p, #footer h2 {
color:#fff;
}

#footer h2 {
padding:0;
margin:0;
font-weight:normal;
font-size:1.1em;
}

#footer legend, #footer label {
color:#fff;
}



/* footer left col */

#footer_left label {
width:10em;
float:left;
}

#footer_left fieldset {
border:none;
margin:0;
padding:0;
}

#footer_left fieldset.submit {
padding-left:11em;
}

#footer_left ul {
margin:1em 0 0 1em;
}

#footer_left li {
padding:0 0 0.5em 0;
}


/* footer right col */

#footer_right p {
padding:0 0 0 3em;
}

#footer_right p span {
float:left;
width:5em;
font-weight:bold;
}

#footer_right ul {
padding:0 0 0 3em;
}

#footer_right li {
padding:0 0 0.2em 0;
}

#footer_right li a {
color:#fff;
}

#footer_right li a:hover {
color:#bbb;
}




/* ---------------------------- other formatting --------------------------- */

a.more {
background-image:url("/images/icons/more.gif");
background-position:0 3px;
background-repeat:no-repeat;
padding:0 0 0 20px;
}

#extras a.more {
color:#fff;
}

p img {
float:left;
margin-right:0.5em;
}




/* ----------------------- extras col formatting -------------------------- */

ul#customers, ul#blog-latest {
float:left;
margin-left:13px;
}

ul#customers li {
color:#fff;
margin-top:15px;
}


ul#customers li blockquote {
/* padding:20px 23px 5px 10px; */
padding:0;
background-image:none;
}


ul#customers li p {
padding:10px 0 0 10px;
}

#newsletter_form li.input {
background:url("images/text-input-bg.gif") no-repeat;
padding:5px 15px 7px 8px;
}

#newsletter_form input.textInput {
border:0;
background:transparent;
}



/* Sidebar (i.e. not the happy customers) */

ul#sidebar img {
padding:10px;
background:#fff;
}

ul#sidebar li {
margin-bottom:10px;
padding:0 10px 0 10px;
color:#fff;
}

ul#sidebar li h2 {
padding:0 0 5px 0;
}

ul#sidebar li a {
color:#fff;
}

ul#sidebar li a:hover {
color:#5da8fe;
}







/* ------------------- Solutions page formatting -------------------------- */

#content ul.manufacturers {
float:left;
}

#content ul.manufacturers li {
background-image:none;
float:left;
width:150px;
padding:0;
}





/* --------------------- product page formatting -------------------------- */

img.product {
padding:5px 5px 15px 5px;
border:1px solid #bbb;
}






/* ------------------------ blog page formatting -------------------------- */

#blog h2 {
position:relative;
}

img.blog {
float:right;
margin-left:0.5em;
}

span.date {
font-size:0.7em;
text-align:right;
position:absolute;
right:0;
}


#blog p.pagenav {
border-top:1px solid #bbb;
padding-top:5px;
}

#blog p.pagenav a {
border:1px solid #bbb;
padding:2px 5px;
text-decoration:none;
}

#blog p.pagenav a:visited {
color:#154882;
}

#blog p.pagenav a:hover {
background:#bbb;
border:1px solid #154882;
}

#blog p.pagenav span.current {
background:#154882;
padding:2px 5px;
color:#fff;
}

#blog ul#sidebar li {
list-style-position:inside;
background-image:url("images/bullet-white.gif");
background-position:left center;
background-repeat:no-repeat;
margin-left:20px;
margin-bottom:3px;
}





/* ------------------------ form formatting ------------------------------ */

#content form ul {
padding:1em 1em 0 1em;
}

#content form label {
float:left;
width:10em;
}

#content form ul li {
background-image:none;
padding-bottom:0.5em;
}

#content form ul li span.error {
display:block;
color:red;
}

#content form ul li span.req {
background-image:url("images/required.gif");
background-position:0 0.3em;
background-repeat:no-repeat;
border:none;
}

#content form ul li.req {
background-image:url("images/required.gif");
background-position:0 0.3em;
background-repeat:no-repeat;
border:none;
}

textarea, input {
font-family:verdana, arial, sans-serif;
color:#111;
font-size:0.9em;
}

ul.error li {
color:red;
background-image:none !important;
}






/* -------------------- customer page formatting -------------------------- */

blockquote {
background:url("images/quote-customer.gif") top left no-repeat;
padding:15px 0 0 15px;
margin:0;
}

blockquote span {
display:block;
background:url("images/quote-customer-reverse.gif") bottom right no-repeat;
clear:both;
font-size:0.8em;
text-align:right;
padding:0 25px 15px 0;
}

blockquote img {
float:left;
}








/* --------- form validation error message formatting --------------------- */

.errFld {
border:1px solid #f00;
}

.errMsg {
color:#f00;
}

div#email-E {
position:relative;
top:5px;
}





/* ------------------------ tooltip formatting ---------------------------- */

a:link, a:visited {
  position: relative;
}


a:hover, a:focus, a:active {
  z-index: 1;
}

.section {
  background-color: #3E3E55;
  margin: 0.5em;
  padding: 0.01em 1em;
}

/* Tooltips (dynamic styles) */

.tooltip {
  display: block;
  font-size: smaller;
  left: 0;
  padding: 5px 5px 0 20px;
  position: absolute;
  text-decoration: none;
  top: 130px;
  width: 15em;
  background:url("images/quote.gif") #154882 no-repeat;
  border:1px solid #0a2646;
  color:#fff;
}

.tooltip span {
background:url("images/quote.gif")bottom right no-repeat;
display:block;
height:20px;
}

.federation .tooltip {
  background: #C0C0FF url(starfleet.png) top left no-repeat;
  color: #2E2E33;
  min-height: 54px;
  padding-left: 64px;
}

.klingon .tooltip {
  background: #BF0000 url(klingonempire.png) top left no-repeat;
  color: #FFF;
  min-height: 54px;
  padding-left: 64px;
}




/* ------------------- Callout page formatting --------------------------- */

div.addresses {
width:200px;
margin-left:130px;
}

table.calloutlist {
border-collapse:collapse;
font-size:0.9em;
text-align:left;
width:100%;
}

table.calloutlist th {
color:#0a2544;
padding-right:10px;
border-bottom:1px solid #bbb;
}

table.calloutlist td {
border-bottom:1px solid #bbb;
}

/* ------------------- Address page formatting --------------------------- */

table.address {
border-collapse:collapse;
border:1px solid #0a2544;
width:100%;
font-size:0.9em;
}

table.address th {
color:#fff;
background:#0a2544;
}

table.address td {
border:1px solid #0a2544;
}

table.address td.options {
text-align:center;
}
table.address td.last {
border:none;
}