/**
 * wedding-event-directory.com site style sheet.
 *
 * @package    WeddingEventDirectory
 * @subpackage UI
 * @copyright  Copyright 2009 Spenlen Media, Inc. (http://spenlen.com)
 * @license    This source code file is licensed for the exclusive internal use of
 *             Rashell Choo and may not be used for any other purpose.
 * @version    $Id$
 */


/**** Global Rules ****/

/* Page Structure */

HTML, BODY, H1, H2, H3, H4, H5, H6, HR, DIV, P, PRE, UL, OL, LI, BLOCKQUOTE, FORM, FIELDSET, LEGEND, TABLE, TR, TH, TD, DL, DT, DD {
  margin: 0;
  padding: 0;
}

HTML, BODY {
  height: 100%;
}

BODY {
  padding: 0 15px;
  background: #000000 url('../images/page_background.jpg') center top repeat;
  font: normal normal normal 0.9em/1.3em Arial, Helvetica, sans-serif;
  color: #333;
}

/* Headings */

H1, H2, H3, H4, H5, H6 {
  margin: 0 0 0.7em 0;
  font-family: Garamond, Georgia, "Times New Roman", serif;
  font-variant: small-caps;
  font-size: 1em;
  font-weight: normal;
  color: #6e953e;
}

H2 {
  font-size: 2em;
  line-height: 1em;
}

H3 {
  margin-bottom: 0.5em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #abca70;
  font-size: 1.5em;
  line-height: 1em;
}

H4 {
  font-size: 1.5em;
}

/* Tables */

TABLE {
  border-collapse: collapse;
  border-spacing: 0;
  background: none;
}

TH, TD {
  font-style: normal;
  font-weight: normal;
  text-align: left;
}

TR.odd {
  background: #e6f5d7;
}
TR.even {
  background: #d6e9c4;
}

/* Paragraphs and Other Block-Level Elements */

P {
  margin-bottom: 1em;
  line-height: 1.4em;
}

OL, UL {
  margin: 2em 1em 1em 2em;
  list-style: none;
}

LI {
  margin-bottom: 1em;
}

BLOCKQUOTE {
  margin: 1.5em 4em;
}

BR.clear {
  clear: both;
}

HR {
  margin: 1em 0 1em 0;
  border: none;
  border-top: 1px solid #d0e3a9;
}

HR.sectionBreak {
  margin: 2em 0 2em 0;
}

HR.separator {
  border-right: none;
  border-bottom: none;
  border-left: none;
}

/* Anchors (Hyperlinks) */

A, A:link, A:visited {
  color: #6e953e;
  text-decoration: underline;
}
A:hover {
  color: #333;
}

A.readMore, A.detailLink, A.addLink {
  font-size: 0.85em;
}

A.deleteLink {
  font-size: 0.8em;
}

/* Form Elements */

INPUT, TEXTAREA, SELECT, BUTTON {
  font: normal normal normal 1em Arial, Helvetica, sans-serif;
}

INPUT.fullWidth, TEXTAREA.fullWidth, SELECT.fullWidth {
  width: 99%;
  max-width: 50em;
}

INPUT.cancelButton, BUTTON.cancelButton {
  margin-left: 2em;
}

BUTTON {
  margin: 0 0 0 0.5em;
  padding: 0.3em 1em;
  border: none;
  background: #cae694;
  font-family: Garamond, Georgia, "Times New Roman", serif;
  font-size: 0.9em;
  text-transform: uppercase;
  color: #557330;
  cursor: pointer;
}
BUTTON:active {
  position: relative;
  top: 1px;
  left: 1px;
}

BUTTON.deleteButton {
  margin-left: 2em;
  background: #e5e5e5;
}


/* Images and Other Inline Elements */

IMG {
  border: none;
}

ACRONYM, ABBR {
  text-decoration: none;
}

EM {
  font-style: italic;
}

STRONG {
  font-weight: bold;
}


/**** Site Layout ****/

/* Page Frame */

#topBannerAd {
  margin: 5px auto;
  text-align: center;
}

#page {
  margin: 0 auto;
/*  padding: 0 0 2em 0;*/
  background: #e6f5d7;
  min-height: 100%;
  width: 920px;
  position: relative;
}
#page .contentShadowLeft, #page .contentShadowRight {
  display: block;
  width: 12px;
  position: absolute;
  bottom: 0;
  top: 0;
}
#page .contentShadowLeft {
  background: url('../images/content_shadow_left.png') top repeat-y;
  left: -12px;
}
#page .contentShadowRight {
  background: url('../images/content_shadow_right.png') top repeat-y;
  right: -12px;
}


/* Page Header */

#pageHeader {
  padding: 5px 12px 1px 12px;
  background: #d0e3a9;
}

#pageHeader H1 {
  margin: 0 20px 10px 20px;
  width: 172px;
  float: left;
}
#pageHeader H1 A {
  background: url('../images/wed_logo.gif') center center no-repeat;
  text-indent: -1000em;
  display: block;
  height: 108px;
}

UL.navLinks {
  margin: 5px 0 1em 0;
  font-family: Garamond, Georgia, "Times New Roman", serif;
  font-size: 1.3em;
  line-height: 1.2em;
}
#accountLinks {
  float: right;
}
#pageSubNavigation {
  margin: 1.5em 0;
  font-family: inherit;
  font-size: 1em;
}
UL.navLinks LI {
  margin: 0 0 0 0.7em;
  padding: 0 0 0 0.7em;
  border-left: 1px solid #abca70;
  display: inline;
}
UL.navLinks LI.first {
  margin-left: 0;
  padding-left: 0;
  border-left: none;
}
UL.navLinks A, UL.navLinks A:link, UL.navLinks A:visited {
  color: #6e953e;
  text-decoration: none;
}
#pageSubNavigation A, #pageSubNavigation A:link, #pageSubNavigation A:visited {
  color: #666;
  text-decoration: underline;
}
UL.navLinks A:hover {
  color: #333;
}
#pageSubNavigation A:hover {
  color: #6e953e;
}


#directoryNavigation {
  margin: -1.5em 0 2em 0;
  font-size: 0.85em;
}
#directoryNavigation LI {
  margin: 0;
  padding: 0;
  display: inline;
}
#directoryNavigation A, #directoryNavigation A:link, #directoryNavigation A:visited {
  color: #666;
}
#directoryNavigation A:hover {
  color: #6e953e;
}


#SiteSearchForm P {
  margin: 1.5em 0 0 0;
  text-align: right;
}
#SiteSearchForm BUTTON {
  background: #abca70;
  font-size: 1em;
  color: #557330;
}
#SiteSearchForm .advancedSearchLink {
  margin: 0.2em 0 0.5em 0;
  font-size: 0.8em;
}


/* Page Content Area */

#sideBannerAd {
  margin: 40px 0 0 0;
  width: 120px;
  float: right;
}

#pageContent {
  margin: 0 120px 0 0;
  padding: 0 30px 3em 30px;
  clear: left;
}
BODY.noads #pageContent {
  margin-right: 0;
}


H2.home {
  margin: 0.5em 0;
}

#homeVendorSearch { /* 860px width */
  margin: 0 0 15px 0;
  padding: 0 0 5px 0;
  background: #abca70;
  font-family: Garamond, Georgia, "Times New Roman", serif;
  color: #fff;
}

#homeVendorSearch .homeVendorAd {
  margin: 10px 0 0 10px;
  font-size: 0.85em;
  color: #fff;
  width: 260px;
  float: left;
}
#homeVendorSearch .homeVendorAd P {
  margin: 0;
}
#homeVendorSearch .homeVendorAd A {
  padding: 205px 0 0 0;
  background-position: left top;
  background-repeat: no-repeat;
  text-decoration: none;
  color: #fff;
  display: block;
}
#homeVendorSearch .homeVendorAd A:hover {
  color: #6e953e;
}

#HomeVendorSearchForm {
  margin: 10px 0 0 10px;
  width: 300px;
  float: left;
}
#HomeVendorSearchForm P {
  margin: 0 0 1em 0;
  padding: 0;
  text-align: right;
}
#homeVendorSearch P.blurb {
  margin-bottom: 1.5em;
  font-size: 1.3em;
  line-height: 1.3em;
  text-align: left;
}
#HomeVendorSearchForm SELECT {
  margin: 0;
  width: 298px;
}
#HomeVendorSearchForm INPUT {
  margin: 0;
  width: 292px;
}
#HomeVendorSearchForm BUTTON {
  background: #cae694;
  color: #557330;
}


#homeMarketplace, #homeVendorLogin {
  margin: 0;
  background: #d0e3a9;
  color: #6e953e;
  width: 49%;
  height: 21em;
  float: left;
}
#homeMarketplace {
  margin-right: 2%;
}

#homeMarketplace H2, #homeVendorLogin H2 {
  margin: 0;
  padding: 0;
  font-size: 1em;
  text-indent: -1000em;
}
#homeMarketplace H2 {
  background: url('../images/home_marketplace_background.jpg') left top no-repeat;
  height: 140px;
}
#homeVendorLogin H2 {
  background: url('../images/home_vendor_login_background.jpg') left top no-repeat;
  width: 195px;
  height: 100%;
  float: left;
}

#homeMarketplace .content, #homeVendorLogin .content {
  font-family: Garamond, Georgia, "Times New Roman", serif;
  position: relative;
}

#homeMarketplace .content {
  padding: 10px 10px 10px 140px;
}
#homeMarketplace P {
  margin-bottom: 0.5em;
}
#homeMarketplace STRONG {
  font-weight: normal;
  font-size: 1.3em;
  text-transform: uppercase;
}
#homeMarketplace SPAN.recycleImage {
  background: url('../images/paisley_recycle.png') center center no-repeat;
  display: block;
  width: 159px;
  height: 154px;
  position: absolute;
  top: 10px;
  left: -25px;
}

#homeVendorLogin .content {
  padding: 20px 10px 10px 205px;
}
#homeVendorLogin P.register {
  margin-left: 7px;
  font-size: 1.6em;
}
#homeVendorLogin P.register A {
  text-decoration: none;
}
#homeVendorLogin IMG.free {
  margin: 0 0 0 -7px;
  vertical-align: bottom;
}
#VendorLoginForm P.formButtons {
  padding: 0;
  text-align: right;
}
#VendorLoginForm BUTTON {
  background: #6e953e;
  color: #fff;
}


DIV.categoryListing {
  margin: 0 0 10px 0;
  padding: 0 0 10px 60px;
  background-position: left top;
  background-repeat: no-repeat;
  border-bottom: 1px solid #d0e3a9;
  min-height: 50px;
}
DIV.categoryListing P.categoryName {
  margin: 0;
  font-family: Garamond, Georgia, "Times New Roman", serif;
  font-size: 1.2em;
}
DIV.categoryListing DIV.categoryDescription {
  margin: 0.5em 0 0 0;
}


TABLE.vendorList TH, TABLE.vendorList TD {
  vertical-align: top;
}

TABLE.vendorList TR.titles TH {
  padding: 5px 0.5em 5px 10px;
  border-bottom: 1px solid #abca70;
  font-family: Garamond, Georgia, "Times New Roman", serif;
  font-variant: small-caps;
  font-size: 1.5em;
  color: #758842;
}

TABLE.vendorList TD {
  padding: 10px 0.5em;
  vertical-align: top;
}
TABLE.vendorList TD.photoColumn {
  padding-left: 10px;
  width: 97px;
}
TABLE.vendorList TD.photoColumn .vendorPhotoThumb {
  margin: 0 auto;
}
TABLE.vendorList TD.contactColumn {
  font-size: 0.95em;
}
TABLE.vendorList TD.descriptionColumn {
  font-size: 0.85em;
}
TABLE.vendorList TD.descriptionColumn P {
  max-width: 30em;
  overflow: hidden;
}
TABLE.vendorList TD.ratingColumn {
  padding-right: 0;
}


.vendorAlert {
  margin: 2em 0;
  padding: 2em;
  border: 2px solid #7fb03f;
  background: #d0e3a9;
}

.vendorPhoto {
  margin: 0;
  border: 1px solid #7fb03f;
  background: url('../images/no_photo_large.jpg') center center no-repeat;
  text-indent: -1000em;
  display: block;
  width: 220px;
  height: 200px;
}
.vendorPhotoThumb {
  margin: 0;
  border: 1px solid #7fb03f;
  background: url('../images/no_photo_small.jpg') center center no-repeat;
  text-indent: -1000em;
  display: block;
  width: 95px;
  height: 95px;
}

P.vendorName {
  margin-bottom: 0.4em;
  font-family: Garamond, Georgia, "Times New Roman", serif;
  font-size: 1.2em;
  font-weight: bold;
}
P.vendorPhone {
  margin-bottom: 0.4em;
  font-weight: bold;
  white-space: nowrap;
}
P.vendorCategories {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid #7d8f4c;
  color: #7d8f4c;
}

A.vendorRatingLink {
  margin: 2px auto;
  padding: 2px 10px;
  border: 1px solid #7fb03f;
  background: #7fb03f;
  font-family: Garamond, Georgia, "Times New Roman", serif;
  text-align: center;
  font-size: 1.2em;
  line-height: 1em;
  color: #e6f5d7;
  text-decoration: none;
  display: block;
  width: 75px;
}
A.vendorRatingLink:hover {
  color: #fff;
}


TABLE.ratingForm TH, TABLE.ratingForm TD {
  padding-top: 0 !important;
  padding-bottom: 1em !important;
}
TABLE.ratingTable TH, TABLE.ratingTable TD {
  padding: 0.3em 0.5em 0.3em 0;
  font-size: 0.8em;
  line-height: 1em;
  vertical-align: middle;
}
TABLE.ratingTable THEAD TH, TABLE.ratingTable THEAD TD {
  font-size: 0.9em;
}
TABLE.ratingTable TFOOT TD {
  padding-top: 0.5em;
  text-align: right;
  font-style: italic;
  line-height: 1.2em;
  color: #abca70;
}
TABLE.ratingTable TH {
  text-align: right;
  color: #333;
}
TABLE.ratingTable TH.overall {
  font-weight: bold;
}
TABLE.ratingTable TBODY TR:first-child TH, TABLE.ratingTable TBODY TR:first-child TD {
  border-top: 1px solid #dbecc0;
}

.ratingStars {
  margin: 0 auto;
  background: url('../images/ratings_stars.png') 0 -75px no-repeat;
  text-indent: -1000em;
  display: block;
  width: 96px;
  height: 15px;
}
.ratingStars-1 {
  background-position: 0 -60px;
}
.ratingStars-2 {
  background-position: 0 -45px;
}
.ratingStars-3 {
  background-position: 0 -30px;
}
.ratingStars-4 {
  background-position: 0 -15px;
}
.ratingStars-5 {
  background-position: 0 0;
}
.ratingStarsButton {
  cursor: pointer;
}

P.ecoFriendlyBadge {
  margin: 0 10px 10px 0;
  background: url('../images/eco_friendly_badge.png') center center no-repeat;
  text-indent: -1000em;
  width: 62px;
  height: 62px;
}
DIV.ecoFriendlyDescription {
  margin: 1em 0;
  padding: 0 0 0 72px;
  background: url('../images/eco_friendly_badge.png') left top no-repeat;
  min-height: 62px;
}


TABLE.customerRatingTable {
  width: 100%;
}
TABLE.customerRatingTable TD {
  vertical-align: top;
}
TABLE.customerRatingTable TD P {
  margin-bottom: 0.2em;
}
TABLE.customerRatingTable TD.eventColumn {
  padding: 15px 1em 0 10px;
}
TABLE.customerRatingTable .eventInfo {
  font-family: Garamond, Georgia, "Times New Roman", serif;
  font-size: 1.1em;
  color: #758842;
}
TABLE.customerRatingTable .eventInfo STRONG {
  font-size: 1.3em;
  font-weight: normal;
}
TABLE.customerRatingTable .customerName {
  color: #758842;
}
TABLE.customerRatingTable TD.ratingColumn {
  padding: 10px;
  font-size: 0.9em;
  width: 30%;
}
TABLE.customerRatingTable TD.commentColumn {
  padding: 1em 3em 10px 10px;
  font-size: 0.9em;
}
TABLE.customerRatingTable UL.actionLinks {
  margin: 10px 0 0 0;
  font-size: 0.9em;
}
TABLE.customerRatingTable UL.actionLinks LI {
  margin: 0 0 0 0.7em;
  padding: 0 0 0 0.7em;
  border-left: 1px solid #abca70;
  display: inline;
}
TABLE.customerRatingTable UL.actionLinks LI.first {
  margin-left: 0;
  padding-left: 0;
  border-left: none;
}

.alignLeft {
  text-align: left !important;
}

.alignCenter {
  text-align: center !important;
}

.alignRight {
  text-align: right !important;
}

.alignTop {
  vertical-align: top !important;
}

.alignMiddle {
  vertical-align: middle !important;
}

.alignBaseline {
  vertical-align: baseline !important;
}

.alignBottom {
  vertical-align: bottom !important;
}

.floatLeft {
  padding-right: 1em;
  padding-bottom: 1em;
  float: left;
}

.floatRight {
  padding-left: 1em;
  padding-bottom: 1em;
  float: right;
}

.noWrap {
  white-space: nowrap;
}

.hidden {
  visibility: hidden;
}
.removed {
  display: none;
}

.promptText {
  color: #b3b3b3;
}

.requiredField:after {
  margin-right: -0.6em;
  content: '*';
  color: #6e953e;
}

.fieldHint {
  margin-top: 0.7em;
  font-size: 0.8em;
  font-style: italic;
  color: #999;
}

.validationError {
  padding: 0.5em;
  border-left: 3px double #c3102d;
}
.validationError INPUT, .validationError TEXTAREA {
  outline-color: #d45555;
}
.validationErrorText {
  font-size: 0.9em;
  font-weight: bold;
  color: #c3102d;
}

#flashMessageContainer {
  margin-left: -0.7em;
  max-width: 30em;
  overflow: hidden;
}
#flashMessage {
  padding: 0.7em;
  margin-bottom: 1.5em;
  background-color: #ffffda;
  border-top: 1px solid #f2f2f2;
  border-right: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  border-left: 1px solid #f2f2f2;
  cursor: pointer;
}

P.documentation {
  font-size: 0.8em;
  color: #333;
}

DIV.recaptcha {
  margin: 1em 0;
}
DIV.recaptcha P.documentation {
  margin-bottom: 0.5em;
}
#recaptcha_table {
  background: #d6e9c4;
  border: 5px solid #d6e9c4 !important;
}


DIV.recordSet {
  margin: 0 0 1.5em 0;
  border: 1px solid #abca70;
  overflow: auto;
}

DIV.recordSet TABLE {
  margin-left: -0.026em; /* To prevent unnecessary horizontal scroll bars in Firefox. */
  width: 100%;
}

DIV.recordSet TH {
  padding: 0.3em 20px 0.3em 0.7em;
  background: #abca70;
  color: #fff;
}

DIV.recordSet TH .sortLabel {
  margin-right: -18px;
  padding-right: 18px;
  background-position: right center;
  background-repeat: no-repeat;
  min-height: 16px;
  display: block;
}
DIV.recordSet TH.sortable {
  cursor: pointer;
}
DIV.recordSet TH.sortable .sortLabel {
  background-image: url('../images/table_sortable.gif');
}
DIV.recordSet TH.sortable.forwardSort.sorted .sortLabel {
  background-image: url('../images/table_sort_ascending.gif');
}
DIV.recordSet TH.sortable.reverseSort.sorted .sortLabel {
  background-image: url('../images/table_sort_descending.gif');
}

DIV.recordSet TBODY {
  vertical-align: baseline;
}

DIV.recordSet TD {
  padding: 0.4em 20px 0.4em 0.7em;
  border-left: 1px solid #d0e3a9;
}
DIV.recordSet TD:first-child {
  border-left: none;
}

DIV.recordSet TFOOT TD {
  border-top: 1px solid #abca70;
  background: #d0e3a9;
}


TABLE.form TH, TABLE.form TD {
}

TABLE.form TH {
  padding-top: 0.3em;
  padding-right: 1em;
  padding-bottom: 0.3em;
  /* padding-left intentionally omitted */
  text-align: right;
  vertical-align: middle;
  color: #666;
}
TABLE.verticalForm TH {
  text-align: left;
}

TABLE.form TD {
  padding-top: 0.3em;
  padding-right: 0.2em;
  padding-bottom: 0.3em;
  /* padding-left intentionally omitted */
  vertical-align: middle;
}
TABLE.form TD TD {
  padding: 0 0.05em 0 0;
}
TABLE.verticalForm TD {
  padding-right: 1em;
}

.formButtons {
  padding: 1em;
}

OL.terms {
  list-style: decimal;
  font-size: 0.9em;
}
OL.terms LI {
  margin: 3em 0;
}
OL.terms OL.letters {
  margin: 1.5em 2em;
  list-style: lower-alpha;
}
OL.terms OL.letters LI {
  margin: 1.5em 0;
}


/* Page Footer */

#pageFooter {
  text-align: center;
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 0.5em;
}

#pageFooter UL {
  margin: 0 0 0.5em 0;
}
#pageFooter LI {
  margin: 0;
  padding: 0 0.7em;
  border-left: 1px solid #999;
  font-size: 0.85em;
  display: inline;
}
#pageFooter LI.first {
  padding-left: 0;
  border-left: none;
}

#pageFooter P {
  margin-bottom: 0;
  font-size: 0.7em;
}

#pageFooter SPAN.credit A {
  text-decoration: none;
  color: #333;
}
#pageFooter SPAN.credit A:hover {
  text-decoration: underline;
  color: #6e953e;
}
