* {
  margin: 0;
  padding: 0;
}

body {
  font-family: Arial, Helvetica, Geneva, sans-serif;
  font-size: small;
  position: relative;
}

div#homepage_flash {
  margin-left: auto;
  margin-right: auto;
  width: 785px;
}

div#wrapper {
  width: 780px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 10em;
}

div#masthead {
  padding-top: 70px;
  position: relative;
}

div#masthead a {
  width: 625px;
  text-indent: -5000px;
  display: block;
  background: url(../images/masthead.png) no-repeat left bottom;
  height: 39px;
}

div#logo {
  width: 780px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

div#content {
  position: relative;
  width: 780px;
  padding: 0;
  margin: 0;
}

/* @group Main */

div#main {
  width: 400px;
  margin-left: 380px;
  float: left;
  padding-bottom: 10em;
}

div#main a {
  color: #a12c57;
  text-decoration: none;
}

div#main a:hover {
  text-decoration: underline;
}

div#main p {
  line-height: 1.5em;
  margin-bottom: 1.5em;
  font-size: 100%;
}

body.edit #main, body.new #main, body#users #main {
  margin-left: 0;
  width: 780px;
}

#main h1 {
  margin-bottom: 30px;
  font-size: 190%;
  font-weight: normal;
  font-style: normal;
  text-indent: -5000px;
  height: 40px;
  background-position: left top;
  background-repeat: no-repeat;
}

#main h2 {
  font-size: 100%;
}

body#showrooms #main h2 {
  text-transform: uppercase;
}

#main label {
  display: block;
  float: left;
  width: 100px;
  text-align: right;
  padding-right: 15px;
  font-size: 80%;
  color: #939393;
  font-weight: bold;
  line-height: 2.2em;
}

#main form {
  padding-bottom: 20px;
}

#main form li {
  list-style-type: none;
  border-bottom: 1px dotted #e1e1e1;
  padding-bottom: .6em;
  margin-bottom: .6em;
}

#main form textarea, #main form input {
  /*width: 200px;*/
}

#main form input[type=file] {
  /*width: 100px;*/
}

div#admin {
  margin-top: 20px;
  margin-bottom: 20px;
  background-color: orange;
  padding: 3px 5px;
  float: left;
  width: 100%;
  clear: both;
}

div.flash {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  padding: .5em 1px .5em 1em;
}

div.error {
  background-color: maroon;
  color: white;
  font-size: 110%;
}

div.notice {
  background-color: green;
  color: white;
  font-size: 110%;
}

#main th {
  text-align: left;
  background-color: silver;
}

#main th, #main td {
  padding: 3px;
}

div.edit_list {
  margin-left: 130px;
}

.tiny {
  color: #666;
  font-size: 80%;
}

/* @end */

/* @group Showrooms */

body#showrooms div#masthead,
body#about.directions div#masthead {
  /* background-color: #878443; */
  background-color: #cc9933;
}

body#showrooms #main a {
  /* color: #878443; */
  color: #cc9933;
}

body#showrooms h1 {
  /* color: #878443; */
  color: #cc9933;
  background-image: url(../images/showrooms_subhead.png);
}

body#showrooms #side {
  padding-top: 70px;
}

body#showrooms p {
  font-size: 100%;
}

body#showrooms img#logo {
}

body#showrooms.map #main {
  width: 780px;
  margin-left: 0;
}

body#showrooms.map h1 {
  background: url(../images/map_head.png) no-repeat right top;
  height: 60px;
}

body#showrooms.index #showrooms_img {
  margin-top: -70px;
}

body#showrooms #main ul {
  margin-left: 1.3em;
  font-size: 95%;
  margin-top: .5em;
  margin-bottom: 1em;
}

body#showrooms.search div#masthead {
  background-color: #CC3366;
}

body#showrooms.search #main a {
  color: #CC3366;
}


body#showrooms.search h1 {
  background: url(../images/search_head.png) no-repeat right top;
  height: 60px;
}

ul.results {
  margin-bottom: 2em;
  margin-top: 0;
}

body#showrooms #main h2 {
  margin-top: 1em;
}

div.adr {
  margin-bottom: 1em;
}

body#showrooms.search h2 {
  margin-bottom: 1em;
}

/* @end */



/* @group About */

body#about div#masthead {
  /* background-color: #efb151; */
  background-color: #663399;
}

body#about h1 {
  /* color: #e8bc75; */
  color: #cc3399;
  background: url(../images/about_subhead.png) no-repeat 150px;
}

body#about #main a {
  /* color: #efb151; */
  color: #cc3399;
}

/* @group Welcome */

body#about.welcome div#masthead {
  /* background-color: #423426; */
  background-color: #66cccc;
}

body#about.welcome h1 {
  background: url(../images/welcome_subhead.png) no-repeat 150px;
}

body#about.welcome #main a {
  /* color: #423426; */
  color: #66cccc;
}

body#about.welcome #welcome_img {
  margin-top: 20px;
  margin-left: 25px;
}

/* @end */



/* @group Contact */

body#about.contact div#masthead {
  /* background-color: #243140; */
  background-color: #336699;
}

body#about.contact h1 {
  background: url(../images/contact_head.png) no-repeat 170px;
}

body#about.contact #main a {
  /* color: #243140; */
  color: #336699;
}

/* @end */



/* @group Directions */

body#about.directions div#masthead, body#about.map div#masthead {
  /* background-color: #2d1d29; */
  background-color: #66cc66;
}

body#about.directions h1, body#about.map h1 {
  background: url(../images/directions_subhead.png) no-repeat left top;
  margin-left: 120px;
  width: 245px;
}

body#about.directions #main a {
  /* color: #2d1d29; */
  color: #66CC66;
}

body#about.directions h3 {
  color: #66CC66;
  font-size: 105%;
}

body#about.directions img#location_img {
  margin-left: -20px;
  margin-top: 50px;
}

body#about.directions #main {
  width: 385px;
  margin-left: 415px;
}

body#about.map #main {
  margin-left: 0;
  padding-left: 125px;
}

body#about.map #main h1 {
  margin-left: 410px;
}

body#about.directions #side {
  width: 200px;
  padding-left: 160px;
  padding-top: 70px;
  line-height: 1.6em;
}

body#about.directions #side a {
  text-decoration: none;
  color: #66CC66;
}

body#about.directions #side a:hover {
  text-decoration: underline;
}

body#about.directions div.vcard h2.org {
  font-size: 100%;
}

/* @end */

/* @group Hire A Designer */

body#about.hire div#masthead {
  /* background-color: #5f2324; */
  background-color: #9999cc;
}

body#about.hire h1 {
  background: url(../images/hire_subhead.png) no-repeat 10px;
  height: 50px;
}

body#about.hire #main a {
  /* color: #5f2324; */
  color: #9999cc;
}

body#about.hire #main strong {
  /* color: #5f2324; */
  color: #9999cc;
}

body#about.hire img#hire_img {
  margin-top: 30px;
}

body#about.hire p {
  line-height: 1.4em;
  margin-bottom: 1.5em;
  font-size: 100%;
}

/* @end */

/* @end */

/* @group Events */

body#events div#masthead {
  /* background-color: #8d641d; */
  background-color: #666666;
}

body#events #main {
  margin-left: 0;
  width: 780px;
  padding-left: 0;
  padding-right: 0;
}

body#events h1 {
  background-image: url(../images/events_subhead.png);
  /* color: #8d641d; */
  color: #666666;
  margin-left: 485px;
}

body#events #main a {
  /* color: #8d641d; */
  color: #666666;
}

body#events #side {
  display: none;
}

div.event {
  margin-bottom: 3em;
  width: 100%;
}

div#main_events div.event {
  padding-left: 185px;
  width: 250px;
}

div#main_events div.event_img {
  float: left;
  display: block;
  margin-left: -185px;
}

div.event h2 {
  font-size: 100%;
  margin-bottom: .3em;
}

body#events #main_events div.event h2 a {
  font-size: 130%;
}

body#events #main_events div.event h2 a:hover {
  font-size: 130%;
  text-decoration: underline;
}

div.event h3 {
  font-size: 95%;
  margin-bottom: .3em;
}

div#main div.event p {
  font-size: 100%;
  margin-bottom: 1em;
}

body#events div#main_events {
  width: 440px;
  float: left;
}

body#events div#holidays,
body#events div#newsletters {
  width: 280px;
  margin-left: 490px;
  margin-bottom: 3em;
}

body#events div#newsletters h3 {
  margin-bottom: .3em;
}

body#events div#newsletters a {
  color: #000000;
}

body#events div#newsletters a:hover {
  text-decoration: none;
}

body#events div#newsletters img {
  border: 0;
}

body#events div#holidays div.event,
body#events div#newsletters div.newsletter {
  margin-bottom: 0;
}

div#holidays h2,
div#newsletters h2 {
  font-size: 130%;
  /* color: #8d641d; */
  color: #666666;
  margin-bottom: 1em;
}

div#holidays h3,
div#newsletters h3 {
  font-size: 110%;
}

div#holidays h4,
div#newsletters h4 {
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
}

div#newsletters ul {
  display: block;
  margin: 0;
  padding: 0;
}

div#newsletters li {
  list-style: none;
  margin-bottom: 10px;
  padding: 0;
}

body#events.show #main {
  padding-left: 180px;
  width: 600px;
}

body#events.show #main div.event_img {
  margin-left: -180px;
  float: left;
}

body#events.show #main h1 {
  margin-left: 308px;
}

body#events.show #main h2 {
  font-size: 140%;
  /* color: #8d641d; */
  color: #666666;
  margin-bottom: .2em;
}

body#events.show #main h3 {
  font-size: 110%;
  color: #14171e;
  margin-bottom: 1.5em;
}

body#events.show #main p {
  margin-bottom: 1em;
}

body#events form.signup_form h4 {
  color: #666;
  margin-bottom: 1em;
  padding-bottom: .5em;
  border-bottom: 2px solid #ccc;
  padding-left: 5px;
  padding-top: 20px;
}

/* @end */

/* @group Articles */

body#articles div#masthead {
  background: #417998;
}

body#articles #main {
  margin-left: 0;
  width: 780px;
  padding-left: 0;
  padding-right: 0;
}

body#articles #main a {
  color: #417998;
}

body#articles h1 {
  background: url(../images/news_subhead.png) no-repeat;
  margin-left: 485px;
  width: 300px;
}

body#articles h2 {
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  margin-top: 1em;
}

body#articles h2 strong {
  font-size: 130%;
  margin-right: .5em;
  padding-top: 1px;
}

body#articles h3 {
  font-size: 90%;
  color: #585858;
}

body#articles p {
  font-size: 100%;
  margin-top: .5em;
  line-height: 1.5em;
  margin-bottom: .5em;
}

div.article {
  margin-bottom: 3em;
  float: left;
  padding-left: 345px;
  width: 435px;
}

div.article img.article_img {
  float: left;
  margin-left: -345px;
}

/* @end */

div#side {
  position: absolute;
  top: 0;
  left: 0;
}

/* @group Contact */

body.contact #main h2 {
  font-size: 140%;
  margin-top: 2em;
  margin-bottom: .6em;
  /* color: #243140; */
  color: #336699;
}

body.contact #main label {
  width: 60px;
  font-size: 95%;
}

body.contact #main a {
  
}

body.contact div.vcard {
  line-height: 1.6em;
}

body.contact #main h3 {
  font-size: 105%;
  margin-top: 1.8em;
  margin-bottom: 1em;
}

body.contact #main input {
  width: 280px;
}

body.contact #side {
  padding-top: 40px;
}

body.contact #main form input.submit {
}

/* @end */

#submit {
  padding-left: 115px;
}

body#users div#masthead,
body#sessions div#masthead {
  background: #417998;
}

/* @group Users */

table#users {
  width: 100%;
}

/* @end */

/* @group Footer */

div#footer {
  border-top: 2px solid #d4d4d0;
  color: #a3a39b;
  position: fixed;
  width: 100%;
  bottom: 0;
}

#footer div div {
  position: relative;
  width: 780px;
  margin-right: auto;
  margin-left: auto;
}

div#footer ul {
  list-style-type: none;
  float: right;
  clear: both;
  font-size: 115%;
  position: relative;
}

div#nav_one_div {
  background-color: white;
  float: left;
  width: 100%;
  opacity: 0.96;
}

ul#nav_one {
  color: #a3a39b;
}

div#nav_two_div {
  background-color: #a3a39b;
  width: 100%;
  float: left;
  clear: both;
}

ul#nav_two {
  color: #fff;
}

div#footer ul li {
  float: left;
  margin-left: 2em;
}

div#footer li a {
  display: block;
  text-decoration: none;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  color: #a3a39b;
}

ul#nav_two li a {
  color: white;
}

div#footer p {
  clear: both;
  width: 782px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  text-align: justify;
}

div #footer_wide {
  width: 100%;
}

p#footer_info {
  text-indent: -5000px;
  background: url(../images/footer.png) no-repeat 0 top;
  height: 30px;
}

/* @end */

div#side img#showroom_logo {
  display: block;
  margin-top: 40px;
  margin-bottom: 20px;
}

/* @group Errors */

div.fieldWithErrors {
  display: inline;
}

div.fieldWithErrors input {
  background-color: #ffd377;
}

#errorExplanation {
  width: 98%;
  border: 1px solid red;
  padding: 7px;
  padding-bottom: 12px;
  margin-bottom: 20px;
  background-color: #f0f0f0;
  margin-top: 1em;
}

#errorExplanation h2, body#events.show #main #errorExplanation h2 {
  text-align: left;
  font-weight: bold;
  padding: 5px 5px 5px 15px;
  background-color: #992821;
  color: #fff;
  font-size: 110%;
  margin: -7px -7px .5em;
}

#errorExplanation p {
  color: #333;
  margin-bottom: 0;
  padding: 5px;
}

#errorExplanation ul li {
  list-style: square;
}

#errorExplanation ul {
  margin-left: 3em;
}

/* @end */