/* TrophyWifeImprov.com stylesheet */
/* main.css */
/* v02 */
/* defines Main Page styles */

/* START MAIN CAST STYLES */

#maincast {
  width: 100%;
  margin: 5px 0 0 0;
  padding: 0;
}

#maincast li {
  list-style: none;
  float: left;
  display: inline;
  margin-left: 24px;
}

#maincast li:first-child { margin-left: 12px; }

#maincast li a {
  text-transform: uppercase;
  font-size: 17px;
}

#maincast li a:hover {
  text-decoration: none;
  color: #000;
}

#maincast .last-name {
  display: inline-block;
  margin-left: -4px;
  font-weight: bold;
}
  

/* END MAIN CAST STYLES */


/* START HEADER STYLES */

#header-block {
  background: transparent url('/images/349.jpg') top left no-repeat;
  height: 600px;
}

#main-header {
  margin: 0;
}

#main-header a {
  height: 115px;
}

#main-tagline {
  display: none;
}

#main-about {
  width: 425px;
  float: right;
  font-size: 85%;
  margin: 6em 1em 0 0;
  display: inline;
}

#main-about-video { margin-top: 1em; }

#main-about-video object, #main-about-video embed {
  width: 425px;
  height: 234px;
}

#main-about strong {
  background: transparent url('/images/346.gif') top left no-repeat;
  float: left;
  text-indent: -5000em;
  overflow: hidden;
  width: 133px;
  height: 16px;
  margin: -.4em .3em 0 0;
}

#main-about .more {
  text-align: right;
}

/* END HEADER STYLES */


/* START MAINNAV STYLES */

#mainnav-wrapper {
  width: 100%;
  background: transparent url('/images/350.gif') bottom left no-repeat;
  padding-bottom: 1.1em;
}

#mainnav {
  background: transparent url('/images/351.gif') top left no-repeat;
  padding: 0 1em;
}

#mainnav .yuimenubaritemlabel {
  color: #FFFFFF;
  text-transform: uppercase;
  font-weight: bold;
}

#mainnav .yuimenubaritem {
  padding: .5em .8em .3em .8em;
  margin-top: .5em;
}

#mainnav .yuimenubaritemlabel {
  font-size: 115%;
}

#mainnav .yuimenubaritemlabel:hover {
  text-decoration: none;
}

#mainnav-search {
  margin-top: .3em !important;
  float: right;
}

#mainnav-search-form legend,
#mainnav-search-form label {
  display: none;
}

#mainnav-search, #mainnav-search fieldset {
  display: inline;
  vertical-align: middle;
  margin-bottom: 0;
  margin-top: 2px;
}

#mainnav-search-text {
  width: 8.5em;
}

#mainnav-search-text {
  color: #AAAAAA;
  font-size: 85%;
  vertical-align: top;
}

/* END MAINNAV STYLES */


/* START MAIN BLOG STYLES */

.article-footer {
  background: transparent url('/images/347.jpg') bottom left no-repeat;
}

/* END MAIN BLOG STYLES */

#widget-twitter { margin-bottom: 1em; }

/* end main.css */