/************/
/* ELEMENTS */
/************/

a:link {
  color: #002bb8;
}


a:visited {
  color: #5a3696;
}


abbr {
  border-bottom: 1px #000 dotted;
  cursor: help;
}


caption {
  margin: 0 auto;
  text-align: center;
  color: #900;
  padding: .4em;
  font-size: 125%;
  font-family: 'Trebuchet MS', 'Bitstream Vera Sans', verdana, arial, sans-serif;
  line-height: 1.3;
}


em {
  font-style: italic;
  background-color: #ffd;
}


fieldset {
  padding: 1em;
  margin: 1em 0;
  border: 1px #bbb77d solid;
}


fieldset fieldset {
  border: none;
  margin-bottom: 2em;
  border-top: 1px #bbb dashed;
}


fieldset fieldset legend{
  padding: 0 1em;
}


h2 {
  color: #072a5e;
  letter-spacing: .10em;
  font-weight: normal;
  font-variant: small-caps;
  font-size: 250%;
  padding: 0;
  margin-top: .5em;
}


.commercial h2, .residential h2 {
  clear: both;
  padding: .25em 0 .25em 56px;
  color: #fff;
  font-size: 200%;
  line-height: 1.4;
  background-position: 4px 4px;
  background-repeat: no-repeat;
  margin-top: .5em;
  margin-bottom: .5em;
}


h3 {
  font-size: 150%;
  font-weight: normal;
  line-height: 1.1;
  margin-top: .93334em;
  margin-bottom: .93334em;
  color: #aba76d;
}


h4 {
  font-weight: bold;
  font-size: 100%;
  line-height: 1.4;
  margin-top: 1.4em;
  margin-bottom: 1.4em;
}


html {
  height: 100%;
  font-size: 10px;
  font-family: verdana, arial, sans-serif;
  color: #000;
  background-color: #072a5e;
  background-image: url('/images/background_seal.png');
  background-position: center 3.2em;
  background-repeat: no-repeat;
}


img {
  display: block;
  border: none;
}


form {
  margin-top: 2em;
}


label {
  display: block;
  margin-bottom: .2em;
}


legend {
  font-family: arial, verdana, sans-serif;
  font-size: 125%;
  letter-spacing: .1em;
  font-weight: bold;
}


li, li a {
  line-height: 1.4;
}


ol {
  list-style-type: lower-roman;
  margin: 1em 0 1em 2em;
}


p {
  margin-top: 1.4em;
  margin-bottom: 1.4em;
  line-height: 1.4;
}


select {
  margin: .5em 0;
}


select.three_characters {
  width: 4.5em;
}


select.year {
  width: 5em;
}


strong {
  font-weight: bold;
}


td, th {
  padding: .75em 1em;
  text-align: center;
  vertical-align: middle;
}



th {
  font-size: 108.33%;
  font-family: arial, verdana, sans-serif;
  font-variant: small-caps;
  color: #004288;
  text-align: right;
  border-right: 1px #900 solid;
}


ul {
  margin: 1em 0 1em 2em;
  list-style-type: square;
  list-style-image: url('/images/bullet.gif');
}


/***********/
/* CLASSES */
/***********/

.alert {
  border-top: 2px solid #ffd324;
  border-bottom: 2px solid #ffd324;
  background-color: #fff6bf;
  padding: 1em 0;
  margin: 1.5em 0;
}


.alert h3 {
  background-position: 16px center;
  background-repeat: no-repeat;
  padding-left: 48px;
  margin: 0 0 .5em 0;
}


.alert ul {
  padding-left: 64px;
  margin-left: 0;
}


.centered {
  display: block;
  margin: 0 auto;
}


.centered_text {
  text-align: center;
}


.cleared {
  clear: both;
}


.clearfix {
  display: block;
}


.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}


.commercial h2 {
  background-color: #c9011f;
  background-image: url('/images/heading_wrench_red.png');
}


.commercial h4, #space-pak h4 {
  color:#c9011f;
}


.coupon {
  float: right;
  clear: right;
  margin: .5em 0 1em .5em;
}


.date_fields {
  float: left;
  margin-right: 3em;
  margin-bottom: 1em;
}


.dot {
  font-size: 2em;
  line-height: 0;
}


/* Used in the Javascript to determine which images to fade */
.fade-in {
  border: 1px #888 solid;
  background: #f5f5f5 url('/images/loading.gif') 50% 50% no-repeat;
}


.fade-in.right_aligned, .transparent_png.right_aligned {
  margin: 0 0 1em 1em;
}


.fade-in.left_aligned {
  margin: 0 1em 1em 0;
}


.footnote_anchor {
  line-height: 0;
  vertical-align: text-top;
  font-size: 50%;
  position: relative;
  top: .5em;
}


.footnote {
  font-style: italic;
  font-size: 80%;
}


.form_errors h3 {
  color: #c9011f;
  background-image: url('/images/exclamation.png');
}


.form_errors ul {
  list-style-image: url('/images/error_bullet.gif');
}


.form_successes h3 {
  color: #01c91f;
  background-image: url('/images/check.png');
}


.form_successes ul {
  list-style-image: url('/images/success_bullet.gif');
}


.invisible {
  position: absolute;
  left: -10000px;
}


.left_aligned {
  float: left;
}


input.long {
  width: 40em;
}


.phone_number {
  white-space: nowrap;
}


.preformatted {
  white-space: pre;
  font-family: 'bitstream vera sans mono', 'courier new', courier;
  font-size: 90%;
  padding: 1em;
  margin: 1em 0;
  border: 1px #2f6fab dashed;
  background-color: #f9f9f9;
}


.right_aligned {
  float: right;
}


.residential h2 {
  background-color: #072a5e;
  background-image: url('/images/heading_wrench_blue.png');
}


.residential h4 {
  color: #072a5e;
}


h2 .subheading {
  color: #cbc78d;
  font-size: 60%;
  font-weight: normal;
  letter-spacing: normal;
  font-variant: normal
}


.radio_buttons {
  margin: 1em 0;
}


.radio_buttons input {
  display: inline;
  clear: both;
  margin: 1em 1em 0 0;
  padding: 1em 0;
}


.required {
  color: #f00;
  font-size: 80%;
  position: relative;
  top: -.1em;
}


.spacer {
  padding: 6em 0;
}


.sub_nav {
  margin: 1em 0;
  text-align: center;
}


.sub_nav li {
  display: inline;
  margin: 0 2em;;
}


.sub_nav li a {
  color: #700;
  padding-left: 20px;
  background-image: url('/images/jump.gif');
  background-repeat: no-repeat;
  text-decoration: none;
  font-family: 'Trebuchet MS', verdana, sans-serif;
  font-style: italic;
}


.sub_nav li a:hover {
  text-decoration: underline;
}


.submit_button {
  display: block;
  font-size: 100%;
  padding: .25em 2em;
  font-weight: bold;
}


.text {
  display: block;
  border: 1px #000 solid;
  padding: .25em;
  margin: .25em 0 1.5em 0;
}


/*
   The ie_focus class is used in an IE-only javascript that
   adds the classname to elements that are of class 'text'.
   Otherwise, :focus is not supported in IE6 or IE7.
*/    
.text:focus, .ie_focus {
  background-color: #ffd;
}


/* hCard classes */

.vcard * {
  line-height: 1.4;
}


.vcard .adr {
  margin-bottom: 1.4em;
}


.vcard .type {
  display: none;
}


.vcard .tel .value {
  font-family: monospace;
}


/*******/
/* IDS */
/*******/

/* The "Complete Address" form field */
input#address {
  width: 50em;
}


#art-cool {
  padding-bottom: 1em;
}


input#best_time_to_call {
  width: 25em;
}


#breadcrumbs {
  margin: .5em 0;
  padding: 0;
  font-size: 75%;
}


#breadcrumbs a {
  color: #59759b;
}


#breadcrumbs li {
  display: inline;
}


#center_column {
  width: 57.5em;
  background-color: #fff;
  background-image: url('/images/content_seal.png');
  background-position: center 2em;
  font-size: 160%;
  background-repeat: no-repeat;
  margin: 0 auto;
  padding-bottom: 1em;
}


textarea#comments {
  width: 25em;
  height: 10em;
}


#company_name {
  clear: both;
  height: 1em;
  font-size: 325%;
}


#company_name a {
  text-decoration: none;
  color: #072a5e;
  font-family: 'arial black', arial, verdana, sans-serif;
  letter-spacing: .2em;
}


#compliance_icons a {
  text-decoration: none;
}


#content_area, #logo_area {
  padding: 0 2em;
}


#footer {
  border-top: 1px #c9011f dashed;
  clear: both;
  margin-top: 4em;
  padding: .5em 0;
  text-align: center;
  font-size: 70%;
}


#footer img {
  display: inline;
  margin: 0 2.5%;
}


#footer p {
  margin: 1em 0;
  color: #aba76d;
}


#logo {
  float: left;
  position: relative;
  color: #072a5e;
   /* Float bug in IE, hits FF 2.0 too */
  width: 33em;
}


#logo p {
  margin: .3em 0;
  text-align: left;
}


#logo #wrench {
  float: right;
  width: 350px;
  height: 93px;
  text-decoration: none;
  margin-right: 2em;
  background-image: url('/images/wrench.png');
  background-position: right top;
  background-repeat: no-repeat;
}


#logo_area, #logo_area h2 {
  text-align: center;
  color: #c9011f;
  font-family: georgia, serif;
}


#logo_area p {
  margin: .25em 0;
  font-size: 1.1em;
}


#logo_area .phone_number {
  line-height: 1.5em;
  font-size: 1.1em;
  color: #072a5e;
  font-family: monospace;
}


#meet_the_team {
  width: 700px;
  padding-top: 1em;
  margin: 1.5em auto;
}


#meet_the_team a {
  display: block;
  width: 200px;
  float: left;
  margin: 16px;
  font-size: 90%;
  font-style: italic;
  font-family: Georgia, serif;
  text-align: center;
  line-height: 1.5;
}


#meet_the_team #giangrandi a {
  width: 400px;
  clear: both;
  margin: 16px auto;
  float: none;
}


#meet_the_team img {
  padding: 2px;
  border: 1px #ececec solid;
}


#meet_the_team span {
  display: block;
}


#nav_menu {
  margin: 0;
  padding-top: .5em;
  list-style: none;
  height: 4em;
  background-color: #594939;
  background-image: url('/images/nav_menu_bg.jpg');
  background-repeat: repeat-x;
  border-bottom: 1px #ccc solid;
  border-top: 1px #ccc solid;
  text-align: center;
}


#nav_menu li {
  display: inline;
  font-family: 'Trebuchet MS', verdana, sans-serif;
}


#nav_menu li a {
  line-height: 1.7;
  margin: 0 1.75em;
  text-decoration: none;
  color: #fff;
  white-space: nowrap;
}


#nav_menu li a:hover {
  color: #a59e94;
  border-bottom: 2px #a7011d solid;
}


#nav_menu li.active a {
  color: #59759b;
}


#position {
  margin-bottom: 1.5em;
}


h2#slogan {
  margin: 0;
  padding: .5em .5em 0 .5em;
  font-size: 225%;
  text-align: center;
  font-family: Georgia, Tahoma, serif;
  font-variant: normal;
}


#staff {
  list-style-image: none;
  list-style-type: upper-roman;
}

#staff ul {
  margin-top: .5em;
  margin-bottom: .5em;
  list-style-image: none;
  list-style-type: lower-roman;
}


#unit_names td {
  font-style: italic;
  font-family: georgia;
}


#unit_powers td {
  text-align: left;
  vertical-align: top;
}


#unit_powers td ul {
  margin-left: 1em;
}


/* Spring Special */

#spring_special_notice {
  text-align: center;
  clear: both;
}


#spring_special_notice img {
  position: relative;
  top: .5em;
  display: inline;
}
