/* Main Element Layout */
body {
  /* Allow centering of block-level elements on the page */
  text-align: center;
}

div.outer {
  /* Reset the text position */
  text-align: left;
  /* The auto works with the text-align above */
  margin: 0 auto 10px;
  padding: 10px;
  width: 958px;
}

div.outer div.wrapper {
  width: 960px;
}

div.header {
  width: 960px;
  height: 146px;
}

div.header div.logo {
  width: 399px;
  height: 76px;
  margin: 20px 25px 10px;
  float: left;
}

div.header div.right {
  width: 130px;
  height: 35px;
  margin: 40px 30px 0;
  float: right;
}

div.header p.sign-our-guestbook a {
  display: block;
  height: 9px;
  width: 131px;
}

div.header p.sign-our-guestbook a span {
  display: none;
}

div.header p.phone {
  margin: 8px 0 0 0;
  display: block;
  height: 16px;
  width: 131px;
}

div.header p.phone span {
  display: none;
}

div.header div.nav {
  clear: both;
}

div.header ul.top-nav {
  height: 39px;
  margin: 0;
  padding: 0;
}

div.header ul.top-nav li {
  height: 39px;
  float: left;
}

div.header ul.top-nav li a {
  display: block;
  padding: 12px 22px 13px;
}

div.header ul.top-nav li a.button {
  padding: 0;
  display: inline;
}

div.header ul.top-nav li span.search-box a.button {
  display: block;
  float: right;
  margin: 4px 6px 0 0;
  width: 15px;
  height: 15px;
}

div.header ul.top-nav li span.search-box a.button span {
  display: none;
}

div.header ul.top-nav li span.search-box {
  display: block;
  margin: 8px 0 0 30px;
  width: 175px;
  height: 22px;
}

div.header ul.top-nav li span.search-box input {
  margin: 2px 0 0 5px;
  padding: 3px;
  width: 140px;
}

div.breadcrumbs {
  padding: 0 0 10px 0;
  margin: 0 0 10px 0;
}

div.breadcrumbs ul {
  margin: 0;
  overflow: hidden;
}

div.breadcrumbs ul li a {
  display: block;
  padding: 5px 4px 6px 24px;
}

div.breadcrumbs ul li.start a {
  padding: 5px 4px 6px 12px;
}

div.breadcrumbs ul li.current a {
  padding: 5px 4px 6px 18px;
}

div.page-boxes {
  margin: 15px 0;
}

div.page-boxes div.page-box h2 {
  margin: 10px 0;
}

div.page-boxes div.page-box-wrapper-first,
div.page-boxes div.page-box-wrapper-middle,
div.page-boxes div.page-box-wrapper-last {
  width: 195px;
  float: left;
}

div.page-boxes div.page-box-wrapper-first {
  margin: 15px 15px 15px 0;
  clear: left;
}

div.page-boxes div.page-box-wrapper-middle {
  margin: 15px;
}

div.page-boxes div.page-box-wrapper-last {
  margin: 15px 0 15px 15px;
}

div.page-boxes div.page-box p.page-box-link a {
  margin: 10px auto 0;
  display: block;
  width: 173px;
  height: 27px;
}

div.body {
  width: 645px;
  float: left;
  padding: 17px 30px 34px;
}

div.body-full-width {
  width: 900px;
}

div.sidebar {
  width: 255px;
  margin-left: 705px;
}

div.sidebar-top {
  padding: 34px 0;
}

div.sidebar-box {
  padding: 15px 31px;
}

div.sidebar-box h2 {
  margin: 0 0 10px 0;
  padding: 0;
}

div.sidebar-box p.page-box-link a {
  margin: 10px auto 0;
  display: block;
  width: 136px;
  height: 21px;
}

div.footer {
  clear: both;
  padding: 35px 30px;
}

div.footer a.message-button {
  padding: 7px 24px;
}

div.footer p.happy-to-help {
  margin-bottom: 24px;
}

div.footer h2.title {
  margin-bottom: 10px;
  padding-bottom: 10px;
}

div.footer div.left {
  width: 225px;
  float: left;
  margin-right: 115px;
}

div.footer div.center {
  width: 250px;
  float: left;
  margin-right: 60px;
}

div.footer div.right {
  width: 250px;
  float: left;
}

div.footer ul.two-column {
  margin: 0;
  padding: 0;
  width: 250px;
}

div.footer ul.two-column li {
  display: block;
  float: left;
  width: 110px;
  padding: 0 0 10px 15px;
}

div.footer div.baseline {
  clear: both;
  padding: 20px 0 0 0;
}

/* Main Page Styles */
div.page-content h1 {
  margin: 10px 0;
}

/* Captions */
div.caption {
  padding: 5px;
  margin: 0 5px 5px 0;

  /* this should be the same width as your images, as it limits the width of the caption */
  width: 200px;

  /* this text align center is used in conjunction with the margin: 0 auto; on the img element to center the img element */
  text-align: center;
}

div#recaptcha_area div.caption {
  padding: 0;
  margin: 0;
  width: auto;
  text-align: inherit;
}

div.caption img {
  /* we don't want it inline any more... */
  display: block;
  /* used in conjunction with the text-align: center; to center the img in the container */
  margin: 0 auto;
}

div.caption p {
  /* we don't want too much space around our caption */
  margin: 0;
  padding: 5px 0;
}

/* Search results */
div.result {
  margin: 5px;
  padding: 5px 0;
}

div.result p,
div.result h3 {
  margin: 0;
  padding: 0;
}

/* Banners */
div.page-banners {
  position: relative;
  width: 645px;
  height: 250px;
  margin: 17px 0 0 0;
}

div.page-banners div.page-banner {
  position: relative;
  width: 645px;
  height: 250px;
  float: left;
}

div.page-banners div.page-banner div.page-banner-image {
  width: 645px;
  height: 250px;
}

div.page-banners div.page-banner div.page-banner-content {
  position: absolute;
  right: 0px;
  top: 0px;
  width: 225px;
  height: 250px;
}

div.page-banners div.page-banner div.page-banner-content h2 {
  padding: 40px 16px 10px;
}

div.page-banners div.page-banner div.page-banner-content p {
  margin: 8px 16px;
  padding: 0;
}

div.page-banners div.page-banner div.page-banner-content p.page-box-link {
  padding-top: 24px;
}

div.page-banners span.carousel-control {
  position: absolute;
  top: 110px;
  z-index: 2;
  display: block;
  width: 25px;
  height: 24px;
}

div.page-banners span.carousel-previous {
  left: -10px;
}

div.page-banners span.carousel-next {
  right: -10px;
}

/* Visitors page */
div.map_directions {
  float: right;
  width: 200px;
}

