/*

  # ------------------------------------------------------------------
  # Beauport Financial Services
  # Architects for Wealth Strategies
  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  # Description:  Global stylesheet, base styles
  # Filename:     base.css
  # Version:      1.0
  # Date:         March, 2007
  # ------------------------------------------------------------------
  
*/

/* - - BODY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

html, body {
  height: auto;
  background-color: #036;
  }
body {
  position: static;
  top: 0;
  left: 0;

  margin: 0;
  padding: 1em 0;

  color: #000;
  font-weight: normal;
  font-family: Cambria, Georgia, "Times New Roman", serif;
  font-size: 80%;
  line-height: 1.4;
  text-align: center;
  vertical-align: top;
  }
body.head, body.foot {
  padding: 0;
  }  

/* - - LINKS - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */

a:link,
a:visited,
a:active,
a:hover {
  text-decoration: none;
  cursor: pointer;
  }

a:link,
a:visited { color: #800000; padding-bottom: 2px; }
a:active,
a:hover   { color: #800000; padding-bottom: 1px; border-bottom: 1px dotted #800000; }

.whitelinks a:link,
.whitelinks a:visited { color: #d6e2f0; }
.whitelinks a:active,
.whitelinks a:hover { color: #d6e2f0; border-bottom-color: #d6e2f0; }

a.plain { border: 0; padding: 0; margin: 0; }
a.plain:active, a.plain:hover { border: 0; }

/* - - CHARACTER FORMATTING - - - - - - - - - - - - - - - - - - - - - */

b, strong { font-weight: bold; }
i, em { font-style: italic; }
sup, sub { font-size: .8em; }

.uc { text-transform: uppercase; font-size: .9em; }
.lc { text-transform: lowercase; }
.caps { font-variant: small-caps; }

.left { text-align: left; }
.center { text-align: center; }
.right { text-align: right; }

/* - - GENERAL LAYOUT - - - - - - - - - - - - - - - - - - - - - - - - */

div, table, th, td, form, object, embed, ul, ol, dl, blockquote, code {
  border: none;
  margin: 0;
  padding: 0;
  text-align: left;
  vertical-align: top;
  }
  
hr {
  background-color: #fff;
  height: 1px;
  border: 0;
  }

code, pre {
  font-family: Monaco, Consolas, "Courier New", monospace;
  font-size: 1em;
  }

ul, ol {
  padding: 0;
  margin: .5em 0 1.5em 0;
  }
li {
  padding: 4px 0 4px 10px;
  margin: 0;
  list-style: none;
  list-style-type: none;
  background: url("../images/arrow.gif") no-repeat 0 .75em;
  }

ul.nb { margin-top: 0; }
ul.nb li { background-image: none; padding-left: 0; }
  
p, blockquote { margin: .5em 0; }

blockquote { padding: 0 1em; }

.note { color: #aaa; }
.callout {
  font-size: 1.5em;
  font-style: italic;
  }

/* - - HEADINGS - - - - - - - - - - - - - - - - - - - - - - - - - - - */

h1, h2, h3, h4, h5, legend {
  color: #000;
  text-decoration: none;
  font-family: Calibri, Verdana, Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-size: 1em;
  border: 0;
  margin: 0;
  padding: 0;
  }
h1 {
  font-size: 1.5em;
  text-transform: uppercase;
  }
h2 {
  margin-top: 1.5em;
  font-size: 1.3em;
  line-height: 1.3em;
  }
h1, h2 {
  padding-bottom: 8px;
  border-bottom: 1px solid #c4ccd8;
  margin-bottom: 8px;
  clear: both;
  }
h3 {
  font-size: 1.1em;
  line-height: 1.1em;
  text-transform: uppercase;
  letter-spacing: .2em;
  margin-bottom: 8px;
  }

/* - - IMAGES - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

img {
  display: block;
  border: 0;
  }
.inline { display: inline; }
.aligned  {
  display: inline;
  position: relative;
  top: 12px;
  }
.hicon {
  display: inline;
  position: relative;
  top: .2em;
  }
.boxed, .framed, .framed_left, .framed_right {
  padding: 3px;
  background-color: #fff;
  border: 1px solid #d6e2f0;
  }
.boxed {
  padding: 10px;
  margin-bottom: 1em;
  }
.box_left, .box_right {
  width: 170px;
  padding: 0;
  }
.float_left,  .framed_left,  .box_left  { float: left; }
.float_right, .framed_right, .box_right { float: right; }
.framed_left,  .box_left  { margin: 0 8px 8px 0; }
.framed_right, .box_right { margin: 0 0 8px 8px; }

.box_right h3 {
  color: #fff;
  background-color: #8a9ab1;
  padding: 6px 10px;
  margin-bottom: 0;
  }
.box_right_text {
  background-color: #f2f8ff;
  padding: 1px 10px;
  border: 1px solid #d6e2f0;
  border-bottom-color: #c4ccd8;
  }

/* - - TABLES - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

table {
  width: 100%;
  margin: 0 0 1.5em 0;
  }
th, td { padding: .25em; }
th { font-weight: bold; }
td.label {
  width: 20%;
  text-align: right;
  }

table.dual td ul { margin: 0; }
table.dual td.left {
  width: 289px;
  padding: 0 12px 0 0;
  border-right: 1px solid #c4ccd8;
  }
table.dual td.right {
  width: 290px;
  padding: 0 0 0 12px;
  text-align: left;
  }

table.triple td.left {
  padding: 0 12px 0 0;
  border-right: 1px solid #c4ccd8;
  }
table.triple td.center {
  padding: 0 12px;
  text-align: left;
  }
table.triple td.right {
  padding: 0 0 0 12px;
  border-left: 1px solid #c4ccd8;
  text-align: left;
  }

/* - - FORMS - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */

form { }

fieldset {
  width: auto;
  padding: 0;
  margin: 0 0 1em 0;
  border: none;
  border-top: 1px solid #c4ccd8;
  border-bottom: 1px solid #c4ccd8;
  }
fieldset table {
  width: 100%;
  margin: 0;
  padding: 1em 0;
  }
fieldset table td { padding: .25em; }
fieldset table.common td { padding: .5em; }
fieldset table.common td.leftside { padding: .25em 1em .25em 0; }
fieldset table.common td.rightside { padding: .25em 1em .25em 0; }
legend {
  padding: 5px 7px;
  border: 1px solid #e3f0ff;
  border-bottom-color: #c4ccd8;
  margin-left: 1em;
  color: #036;
  background-color: #f2f8ff;
  font-family: Calibri, Verdana, Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  font-size: .8em;
  font-weight: bold;
  }

input[type=text],
input[type=password],
input[type=search],
textarea {
  cursor: text;
  }
input,
textarea,
select {
  display: inline;
  width: auto;
  border: 1px solid #c4ccd8;
  margin: 0;
  color: #000;
  background-color: #fff;
  font-family: Calibri, Verdana, Helvetica, Arial, sans-serif;
  font-size: 1em;
  line-height: 1em;
  }
option { width: 100%; }

textarea      { height: 7em; }
textarea.tall { height: 10em; width: 100%; }

input[type=submit],
input[type=button] {
  color: #fff;
  background-color: #036;
  padding: 5px;
  }
input[type=hidden] { display: none; }
input[disabled=disabled] { cursor: default; }

form span {
  display: block;
  width: 100%;
  margin: 0;
  padding: 1px;
  border: 1px solid #d6e2f0;
  background-color: #fff;
  }

form#login span,
form#forgot span { width: 175px; }

form span input,
form span textarea,
form span select {
  width: 100%;
  display: inline-block;
  display: -moz-inline-box;
  }

#response {
  display: inline;
  width: auto;
  padding: 0;
  border: none;
  background-color: transparent;
  }

.one   { width: 1em; }
.two   { width: 2em; }
.three { width: 3em; }
.four  { width: 4em; }
.five  { width: 5em; }
.six   { width: 6em; }

input[type=text]:hover,
input[type=search]:hover,
input[type=password]:hover,
textarea:hover,
select:hover,
input[type=text]:focus,
input[type=search]:focus,
input[type=password]:focus,
textarea:focus,
select:focus { border-color: #800000; }

/* - - ALERTS - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.alerts {
  width: auto;
  padding: 1px;
  border: 1px solid #c4ccd8;
  margin: 0 0 1em 0;
  background-color: #d6e2f0;
  }

#errors {
  padding: 2px 5px 0px 24px;
  color: #fff;
  border: 1px solid #800000;
  background: #800000 url("../images/error.png") no-repeat 6px 10px;
  }
#notices {
  padding: 2px 5px 0px 26px;
  color: #000;
  border: 1px solid #e9c501;
  background: #e8da8b url("../images/notice.png") no-repeat 5px 8px;
  }
#arrays {
  padding: 2px 5px 0 5px;
  color: #000;
  border: 1px solid #c4ccd8;
  background-color: #d6e2f0;
  }

/* - - COMING SOON - - - - - - - - - - - - - - - - - - - - - - - - -  */

#sign {
  position: relative;
  width: 442px;
  height: 310px;
  margin: 4em auto 1em auto;
  }

#legal {
  position: relative;
  width: 412px;
  height: auto;
  padding: 0 5px;
  margin: 1em auto 4em auto;
  color: #fff;
  font-size: .9em;
  text-align: left;
  }
#legal h2 { color: #fff; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */

#nav, #main, #main_foot, #legal_2 {
  position: relative;
  margin: 0 auto;
  }
  
#nav {
  width: 775px;
  height: 35px;
  margin: 0 auto;
  }
#nav li, #nav li img {
  list-style: none;
  float: left;
  height: 35px;
  padding: 0;
  margin: 0;
  }
#nav li a, #nav li a:hover {
  padding: 0;
  border: none;
  }
#nav li a span {
  display: none;
  }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */

#nav_about     { background: transparent url("../images/nav/about.gif")     no-repeat top left; }
#nav_services  { background: transparent url("../images/nav/services.gif")  no-repeat top left; }
#nav_process   { background: transparent url("../images/nav/process.gif")   no-repeat top left; }
#nav_bftimes   { background: transparent url("../images/nav/bftimes.gif")   no-repeat top left; }
#nav_news      { background: transparent url("../images/nav/news.gif")      no-repeat top left; }
#nav_contact   { background: transparent url("../images/nav/contact.gif")   no-repeat top left; }

#nav_about:hover,     #nav_about.here     { background-image: url("../images/nav/about_on.gif"); }
#nav_services:hover,  #nav_services.here  { background-image: url("../images/nav/services_on.gif"); }
#nav_process:hover,   #nav_process.here   { background-image: url("../images/nav/process_on.gif"); }
#nav_bftimes:hover,   #nav_bftimes.here   { background-image: url("../images/nav/bftimes_on.gif"); }
#nav_news:hover,      #nav_news.here      { background-image: url("../images/nav/news_on.gif"); }
#nav_contact:hover,   #nav_contact.here   { background-image: url("../images/nav/contact_on.gif"); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */

#nav_about.home     { background-image: url("../images/nav/about_home.gif"); }
#nav_services.home  { background-image: url("../images/nav/services_home.gif"); }
#nav_process.home   { background-image: url("../images/nav/process_home.gif"); }
#nav_bftimes.home   { background-image: url("../images/nav/bftimes_home.gif"); }
#nav_news.home      { background-image: url("../images/nav/news_home.gif"); }
#nav_contact.home   { background-image: url("../images/nav/contact_home.gif"); }

#nav_about.home:hover     { background-image: url("../images/nav/about_on_home.gif"); }
#nav_services.home:hover  { background-image: url("../images/nav/services_on_home.gif"); }
#nav_process.home:hover   { background-image: url("../images/nav/process_on_home.gif"); }
#nav_bftimes.home:hover   { background-image: url("../images/nav/bftimes_on_home.gif"); }
#nav_news.home:hover      { background-image: url("../images/nav/news_on_home.gif"); }
#nav_contact.home:hover   { background-image: url("../images/nav/contact_on_home.gif"); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */

#main {
  width: 755px;
  padding: 0 10px;
  background: #fff url("../images/body_bg.gif") repeat-y top left;
  }
body.head #main {
  width: 96%;
  padding: 0 2%;
  background: transparent;
  }
#main_table { margin-bottom: 5px; }
#leftside_home, #leftside {
  width: 102px;
  padding: 0 19px 0 10px;
  }
#leftside { background: #fff url("../images/leftside_bg.gif") no-repeat top left; }
#affiliations { margin: 1em 0 0 0; }
#affiliations li {
  font-size: .9em;
  padding-top: 8px;
  padding-bottom: 8px;
  border-top: 1px solid #c4ccd8;
  }
#content {
  width: 609px;
  padding: 1em 15px 1em 0;
  background: #fff url("../images/content_bg.gif") no-repeat top left;
  }
#content.home {
  padding: 0 5px 0 0;
  background-image: none;
  }
#content.home,
#content.home object,
#content.home embed {
  width: 619px;
  height: 336px;
  margin-top: 0;
  }
#main hr {
  margin: 1em 0;
  background-color: #c4ccd8;
  }
.dropcap, .byline {
  color: #800000;
  font-size: 1.5em;
  }
#blueinfo {
  width: 735px;
  padding: 10px;
  color: #fff;
  background-color: #8a9ab1;
  font-size: .9em;
  font-family: Calibri, Verdana, Helvetica, Arial, sans-serif;
  text-align: left;
  }
body.foot #blueinfo {
  width: 96%;
  padding: 10px 2%;
  }

#main_foot {
  width: 775px;
  height: 10px;
  background: #036 url("../images/body_foot.gif") no-repeat top left;
  font-size: 0;
  line-height: 0;
  }
body.foot #main_foot {
  width: 100%;
  }

#legal_2 {
  width: 745px;
  padding: 0 20px;
  color: #fff;
  font-size: .9em;
  text-align: center;
  margin-bottom: 2em;
  }
body.foot #legal_2 {
  width: 96%;
  padding: 0 2%;
  }