/* Mixins */
/* Constants */
body {
  background: #eae3ca url(/images/bg.jpg);
  font: 87.5%/1.5 Georgia, Times New Roman, times, serif;
  margin: 0;
  text-align: center; }

/* === Layout */
.rotating_container {
  height: 19px;
  float: left;
  margin: 0 4px 0 0;
  position: relative;
  width: 120px;
  text-align: center;
  border: 1px solid #666666;
  background: #cfcfcf; }

.shadow {
  top: 0;
  color: black;
  position: absolute;
  z-index: 1; }

.old_school {
  height: 1.2em;
  float: left;
  margin: 0 4px 0 0; }

.rotating {
  z-index: 100;
  width: 100px; }

.wrapper {
  clear: both;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  text-align: left;
  width: 920px; }

#header {
  position: relative;
  background: url(/images/bg_header.jpg) repeat-x;
  margin: 0; }
  #header .wrapper {
    padding: 0;
    width: 960px; }
  #header ul.navigation {
    font: 0.95em Lucida Grande, Helvetica Neue, Helvetica, Bitstream Vera Sans, Arial, Sans-serif;
    list-style: none;
    line-height: 1.5em;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 40px;
    width: 647px; }
    #header ul.navigation a {
      color: #e5a843; }
      #header ul.navigation a:hover {
        color: #e6c96a; }
    #header ul.navigation li {
      float: left;
      padding: 0; }
      #header ul.navigation li ul {
        list-style: none;
        margin: 0;
        padding: .75em 0 0; }
        #header ul.navigation li ul li {
          float: none; }
      #header ul.navigation li.category {
        width: 156px; }
        #header ul.navigation li.category a {
          font-size: 1.5em;
          display: block;
          height: 17px;
          text-transform: uppercase;
          overflow: hidden; }
        #header ul.navigation li.category li a {
          text-transform: none;
          background: none;
          display: inline;
          height: auto;
          font-size: 1em;
          text-indent: 0; }
      #header ul.navigation li.nav_about {
        width: 156px; }
        #header ul.navigation li.nav_about a {
          text-indent: -9999px;
          background: url(/images/nav.png) no-repeat;
          background-position: -0px 0; }
          #header ul.navigation li.nav_about a:hover {
            background-position: 0 -17px; }
      #header ul.navigation li.nav_services {
        width: 153px; }
        #header ul.navigation li.nav_services a {
          text-indent: -9999px;
          background: url(/images/nav.png) no-repeat;
          background-position: -156px 0; }
          #header ul.navigation li.nav_services a:hover {
            background-position: -156px -17px; }
      #header ul.navigation li.nav_portfolio {
        width: 174px; }
        #header ul.navigation li.nav_portfolio a {
          text-indent: -9999px;
          background: url(/images/nav.png) no-repeat;
          background-position: -309px 0; }
          #header ul.navigation li.nav_portfolio a:hover {
            background-position: -309px -17px; }
      #header ul.navigation li.nav_contact {
        width: 164px; }
        #header ul.navigation li.nav_contact a {
          text-indent: -9999px;
          background: url(/images/nav.png) no-repeat;
          background-position: -483px 0; }
          #header ul.navigation li.nav_contact a:hover {
            background-position: -483px -17px; }

#content {
  background: url(/images/site_open.png) no-repeat center bottom;
  clear: both;
  padding-bottom: 40px;
  margin-top: 40px; }

#footer {
  padding: 20px 0 0 0;
  margin: 0;
  background: url(/images/bg_footer.jpg) repeat-x;
  clear: both;
  height: 160px;
  font-size: .9em;
  color: #fff; }
  #footer .wrapper {
    text-align: center; }
  #footer a {
    color: #fff; }
  #footer ul.navigation {
    font: 0.95em Lucida Grande, Helvetica Neue, Helvetica, Bitstream Vera Sans, Arial, Sans-serif;
    list-style: none;
    line-height: 1.5em;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 40px;
    width: 647px; }
    #footer ul.navigation a {
      color: #ffffff; }
      #footer ul.navigation a:hover {
        color: #dfdfdf; }
    #footer ul.navigation li {
      float: left;
      padding: 0; }
      #footer ul.navigation li ul {
        list-style: none;
        margin: 0;
        padding: .75em 0 0; }
        #footer ul.navigation li ul li {
          float: none; }

/* === Logo === */
h1#logo {
  line-height: 1;
  margin: 0;
  width: 292px; }
  h1#logo a {
    background: url(/images/logo.jpg) no-repeat;
    display: block;
    height: 200px;
    overflow: hidden;
    text-indent: -9999px;
    width: 292px; }

/* === Special Case ==== */
#not_found {
  width: 960px;
  margin: 0 auto;
  text-align: center;
  font-size: 2em;
  color: #660000;
  height: 400px;
  overflow: none;
  background: transparent url(/images/droids.gif) center no-repeat;
  text-indent: -9000px; }

/* === HTML === */
img {
  border: 0; }

a {
  color: #660000; }
  a:link {
    text-decoration: none; }
  a:visited {
    text-decoration: none; }
  a:hover {
    text-decoration: underline; }
  a:active {
    text-decoration: underline; }

h2 {
  color: #660000;
  font-weight: normal;
  font-size: 2em; }

hr {
  clear: both;
  height: 1px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  visibility: hidden; }

ul {
  list-style: none; }

/* === Home Page === */
body.pages.home #header {
  position: relative;
  background: url(/images/bg_header_home.jpg) repeat-x;
  margin: 0; }
  body.pages.home #header .wrapper {
    background: url(/images/bg_header_wrapper.jpg) no-repeat left bottom;
    padding: 0;
    width: 960px; }
    body.pages.home #header .wrapper h3#logo {
      line-height: 1;
      margin: 0;
      width: 292px; }
      body.pages.home #header .wrapper h3#logo a {
        background: url(/images/logo_home.jpg) no-repeat;
        display: block;
        height: 200px;
        overflow: hidden;
        text-indent: -9999px;
        width: 292px; }

#welcome {
  background: url(/images/bg_dark.jpg);
  border-bottom: 1px solid #e5b744;
  font: 1.3em Lucida Grande, Helvetica Neue, Helvetica, Bitstream Vera Sans, Arial, Sans-serif;
  margin: 0; }
  #welcome .wrapper {
    background: url(/images/bg_welcome.jpg) no-repeat -20px 0;
    min-height: 240px;
    margin: 0 auto;
    padding: 1em 270px 0 20px;
    width: 630px; }
    #welcome .wrapper h1 {
      color: #660000;
      font-size: 1.8em;
      font-weight: normal;
      margin: 0; }
    #welcome .wrapper h3 {
      font-weight: normal;
      font-size: 1.2em;
      margin: .5em 0; }
    #welcome .wrapper p {
      line-height: 1.5em;
      margin: 0;
      padding: .75em .75em 2em 0; }

#home_portfolio .project {
  margin: 0 0 1em 0;
  padding: 0 0 2em 315px; }
  #home_portfolio .project h4 {
    color: #660000;
    font-size: 1.2em;
    margin: 0; }

#cornyn_study {
  background: url(/images/sjc_home_screen.jpg) no-repeat; }

#strauss_study {
  background: url(/images/strauss_home_screen.jpg) no-repeat; }

/* === Sub Pages === */
#technical_infrastructure ul {
  list-style: none;
  margin: 0 1em 0 0;
  padding: 0; }
  #technical_infrastructure ul li {
    width: auto;
    padding: 0;
    margin: 1em auto; }
    #technical_infrastructure ul li a {
      display: block;
      text-align: center; }

#address {
  text-align: center;
  margin: 2em 0; }


/* Team page */
.bio {
  margin: 2em 0; }
  .bio .p_info {
    float: left;
    width: 180px; }
    .bio .p_info h4 {
      margin: 0; }
    .bio .p_info img {
      padding: 0 1em 1em 0;
      margin: 0; }
  .bio .details {
    float: left;
    width: 726px; }
    .bio .details .top, .bio .details .bottom {
      height: 8px; }
    .bio .details .entry {
      position: relative;
      padding: 10px 20px;
      min-height: 150px;
      /* for IE 6 */
      height: auto !important;
      height: 150px; }
      .bio .details .entry p {
        margin: .5em 0; }
      .bio .details .entry h2, .bio .details .entry h3, .bio .details .entry h4 {
        margin: 0; }
      .bio .details .entry .text {
        width: 600px; }
      .bio .details .entry ul.stalk_bar {
        position: absolute;
        top: 0;
        right: 0;
        list-style: none;
        width: 120px; }
        .bio .details .entry ul.stalk_bar li {
          text-align: center;
          width: 120px; }
    .bio .details h4 {
      padding: 0;
      margin: .5em .5em .5em 0; }
    .bio .details p {
      margin: 0; }
  .bio.grey .p_info {
    background: url('/images/arrow_grey.gif') no-repeat right 130px; }
  .bio.grey .top {
    background: url('/images/balloon_top_grey.gif') no-repeat; }
  .bio.grey .entry {
    background: #dbd3b5; }
  .bio.grey .bottom {
    background: url('/images/balloon_bottom_grey.gif') no-repeat; }
  .bio.beige .p_info {
    background: url('/images/arrow_beige.gif') no-repeat right 130px; }
  .bio.beige .top {
    background: url('/images/balloon_top_beige.gif') no-repeat; }
  .bio.beige .entry {
    background: #e9dbb3; }
  .bio.beige .bottom {
    background: url('/images/balloon_bottom_beige.gif') no-repeat; }

.with_image_left {
  margin-left: 185px;
  padding: 0; }

.left {
  float: left; }

.right {
  float: right; }

.clear {
  clear: both; }

.rockwell a {
  text-decoration: none;
  text-color: #660000; }

.service {
  float: left;
  padding-right: 15px;
  width: 290px; }
  .service img {
    display: block;
    float: right;
    margin: 0 0 1em 1em; }

.learn_more {
  background: url(/images/learn_more.png) no-repeat;
  font-size: 1.1em;
  padding-left: 38px;
  text-transform: uppercase; }
  .learn_more a {
    color: #660000; }

/* === FLASH MESSAGES === */



/* === ERROR MESSAGES === */





/* === FORMS === */

.website {
  height: 175px;
  width: 45%;
  float: left; }
  .website.left_column {
    margin-right: 15px; }
  .website ul {
    margin: 0;
    padding: 0; }
  .website .with_image_left {
    margin-left: 220px;
    padding: 0; }
  .website img {
    margin: 0 auto;
    width: 200px;
    border: 4px solid #c2bb9e;
    opacity: 0.7;
    filter: alpha(opacity=70); }
    .website img:hover {
      padding: 0;
      border: 4px solid #c2bb9e;
      opacity: 1.0;
      filter: alpha(opacity=100); }
  .website h3 {
    padding: 0;
    margin: 0; }

h3 {
  color: #660000; }

.author_info {
  float: left;
  width: 160px;
  padding: 0;
  margin: 0; }
  .author_info img {
    border: 1px solid #5f634c; }
  .author_info .info {
    color: #660000;
    font-size: 1.2em;
    text-align: right; }
  .author_info .detail {
    text-transform: italics;
    text-align: right; }

#posts {
  margin: 0 0 0 191px; }
  #posts .subtitle {
    color: #afafaf;
    font-size: .8em; }

#entry .post {
  padding: 0;
  margin: 0 0 0 191px; }
  #entry .post h2 {
    border-bottom: 1px solid #c2bb9e; }

.post h3 {
  margin-bottom: 0; }
.post .meta {
  font-style: italic; }

#comments h3 {
  margin: 0 0 18px 191px;
  border-bottom: 1px solid #c2bb9e; }
#comments .comment-container {
  position: relative; }
  #comments .comment-container .commentor {
    width: 191px;
    position: absolute;
    bottom: 0; }
    #comments .comment-container .commentor .text {
      text-align: right;
      margin-right: 35px;
      padding-top: 8px; }
    #comments .comment-container .commentor span {
      color: #41542a;
      font-weight: bold; }
  #comments .comment-container .comment {
    margin: 0 0 18px 191px;
    width: 726px; }
    #comments .comment-container .comment .top {
      height: 8px; }
    #comments .comment-container .comment .text {
      padding: 12px 25px;
      margin: 0; }
    #comments .comment-container .comment .bottom {
      height: 8px; }
  #comments .comment-container.grey .commentor {
    background: url('/images/arrow_grey.gif') no-repeat top right; }
  #comments .comment-container.grey .comment .top {
    background: url('/images/balloon_top_grey.gif') no-repeat; }
  #comments .comment-container.grey .comment .text {
    background: #dbd3b5; }
  #comments .comment-container.grey .comment .bottom {
    background: url('/images/balloon_bottom_grey.gif') no-repeat; }
  #comments .comment-container.beige .commentor {
    background: url('/images/arrow_beige.gif') no-repeat top right; }
  #comments .comment-container.beige .comment .top {
    background: url('/images/balloon_top_beige.gif') no-repeat; }
  #comments .comment-container.beige .comment .text {
    background: #e9dbb3; }
  #comments .comment-container.beige .comment .bottom {
    background: url('/images/balloon_bottom_beige.gif') no-repeat; }

#response {
  position: relative; }
  #response .comment_text_fields {
    width: 191px;
    float: left; }
    #response .comment_text_fields input {
      width: 100px; }
  #response .comment_entry {
    disply: inline;
    margin: 0 0 18px 191px;
    width: 726px; }
    #response .comment_entry textarea#comment_body {
      width: 716px;
      height: 120px; }
  #response h3 {
    border-bottom: 1px solid #c2bb9e; }

#post_form .text_entry {
  float: left;
  width: 650px; }
  #post_form .text_entry label {
    display: block; }
  #post_form .text_entry textarea, #post_form .text_entry input {
    width: 100%; }
  #post_form .text_entry .submit input {
    width: auto; }
#post_form .options {
  background: #e9dbb3;
  padding: 20px;
  width: 210px;
  float: right; }

.vcard .org {
  font-size: 1.2em; }
.vcard .tel {
  display: block;
  margin: 0; }

div.field {
  margin: .8em 0; }

div.tiny {
  font-size: .7em; }

form input {
  border: 1px solid #999070;
  padding: .5em; }
form textarea {
  border: 1px solid #999070;
  padding: .5em;
  width: 280px; }
form table tr.field input, form table tr.field textarea {
  width: 280px; }
form table th {
  vertical-align: top; }
form table#options {
  width: 100%; }

#flash-notice {
  color: #660000;
  background: #afafaf;
  border: 1px solid #660000;
  padding: .5em;
  font-size: 1.2em; }

#websites_and_apps {
  height: 140px;
  background: url("/images/icon_sites.png") no-repeat center left;
  margin-bottom: 2em;
  padding: 0; }

#email_marketing {
  height: 96px;
  background: url("/images/icon_email.png") no-repeat center left;
  margin-bottom: 2em;
  padding: 0; }

#fundraising {
  height: 186px;
  background: url("/images/icon_fundraising.png") no-repeat center left;
  margin-bottom: 2em;
  padding: 0; }

#fundraising_page {
  background: url("/images/icon_fundraising.png") no-repeat top left; }

#admin_panel {
  -moz-border-radius: 8px;
  -webkit-border-radious: 8px;
  opacity: 0.8;
  padding: 10px;
  background: #000;
  color: #fff;
  position: absolute;
  top: 5px;
  right: 10px; }
  #admin_panel a {
    color: #fff;
    text-decoration: none; }
  #admin_panel ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    #admin_panel ul li {
      padding: 0 3px;
      display: inline; }

table.admin {
  width: 100%;
  border-collapse: collapse; }
  table.admin tr th {
    text-align: left;
    border-bottom: 2px solid #afafaf; }
  table.admin tr td {
    padding: 5px;
    border-bottom: 1px dotted #afafaf; }
