/*
----------------------------------------
Tantek Celik's Whitepsace Reset
     Author:  	Tantek Celik
    Version:  	(CC) 2004 Some Rights Reserved - http://creativecommons.org/licenses/by/2.0
Description:	Resets default styling of common browsers to a common base
----------------------------------------
*/

:link,:visited {text-decoration:none;}
ul, ol {list-style:none;}
h1,h2,h3,h4,h5,h6,pre,code {font-size:1em;}
ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,body,html,p,blockquote,fieldset,input {
	margin:0;
	padding:0; }
a img,:link img,:visited img {border:none;}
address {font-style:normal;}

body {
	background: #fff;
	font: 12px/18px 'Helvetica', Arial, sans-serif;
	color: #666;
}

p { margin-bottom: 12px; }
small { font-size: 90%; }

.clear {clear:both;}

/* links
---------------------------------------- */
a:link { color: #556b96; outline: none; }
a:visited { color: #556b96; outline: none; }
a:hover { color: #323e58; outline: none; }
a:active { color: #556b96; outline: none; }

/* headers
---------------------------------------- */
h1, h2, h3, h4, h5 {
  letter-spacing: -1px;
  font-weight: bold;
  color: #333;
}
.pagetitle {  /* h1 at the top of subpages */
  font-size: 36px;
  line-height: 40px; 
}
h1 { 
  font-size: 20px;
  line-height: 28px;
}
h2 {
	margin-bottom: 8px;
	font-size: 18px;
	line-height: 24px;
	text-transform: uppercase;
}
h3 {
  font-size: 14px;
  line-height: 18px;
}
h3, h4, h5 { letter-spacing: 0; } 

/* universal
---------------------------------------- */
.container {
  margin: 0 auto;
  width: 940px;
}

#header {
  float: left;
  width: 100%;
}
#header .container { position: relative; }
  #nav {
    padding: 12px 0;
    float: left;
    width: 220px;
    position: relative;
  }
  #logo a:link, #logo a:visited, #logo a:hover, #logo a:active {
    display: block;
    padding-bottom: 12px;
    text-indent: -9999px;
    width: 220px; height: 88px;
    background: url(images/logo_small.gif) no-repeat;
    /*border-bottom: 1px solid #aaa;*/
  }
  #logo.index a:link, #logo.index a:visited, #logo.index a:hover, #logo.index a:active {
    width: 220px; height: 120px;
    background: url(images/logo_large.gif) no-repeat;
  }

  #contact {
	position: absolute;
	left: 0;
	top: 130px;
	width: 200px;
	background: #aaa;
	color: #fff;
	font-size: 13px;
	line-height: 13px;
	padding: 5px 5px 5px 5px;
	margin: 0;
  }
	
  #section_picture {
    float: right;
    width: 700px;
  }
  #section_picture img { display: block; }
  #phone {
    padding: 8px;
    position: absolute;
    top: 0; right: 0;
    background: #ae1f23;
    color: #fff;
    font-size: 16px;
  }
    #phone span {
      padding: 2px 0 2px 26px;
      background: url(images/icon_phone.png) 0 50% no-repeat;
    }
#title {
  padding: 12px 0;
  float: left;
  width: 100%;
  background: #ae1f23;
}
  #title_index {
    padding: 24px 0;
    float: left;
    width: 100%;
    background: #ae1f23;
  }
  #title h1, #title_index h1 { color: #fff; }

  #title h3 { color: #eee; }
  #title a:link, #title a:visited, #title a:hover, #title a:active { color: #fff; }
    #title a:hover { color: #eee; }
  #title_index a:link, #title_index a:visited, #title_index a:hover, #title_index a:active { color: #fff; }
    #title_index a:hover { color: #eee; }

#content {
  padding-top: 36px;
  float: left;
  width: 100%;
}

.tags { margin: 8px 0; }
.tags li { display: inline; }
.tags a:link, .tags a:visited, .tags a:hover, .tags a:active {
  margin: 0 4px 4px 0; padding: 4px 8px;
  background: #666;
  color: #fff;
  float: left;
  font-weight: bold;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  font-size: 11px;
}
  .tags a:hover { background: #333; }

.contact_list a:link, .contact_list a:visited, .contact_list a:hover, .contact_list a:active { 
  padding: 4px;
  display: block;
}
  
.filters {
  float: left;
  width: 220px;
}
  .filter_group {
    margin-bottom: 24px;
    float: left;
    width: 220px;
  }
  .filters a:link, .filters a:visited, .filters a:hover, .filters a:active { 
    margin: 2px 0; padding: 4px 8px;
    display: block;
  }
    .filters a.selected {
      background: #666;
      color: #fff;
      -moz-border-radius: 4px;
      -webkit-border-radius: 4px;
      border-radius: 4px;
    }

/* forms */
form dl, form dd { margin: 0; padding: 0; }
form fieldset { border: none; }
form label { font-weight: bold; }
form dl { margin-bottom: 8px; }
.input_text {
  padding: 4px;
  background: #fff;
  border: 1px solid #ccc;
  font-size: 12px;
}
.textarea_text {
  padding: 4px;
  background: #fff;
  border: 1px solid #ccc;
  font-size: 12px;
}
form p.error {
  padding: 10px;
  color: #b00b00;
  border: 2px solid #b00b00; }
form .error {
  border-color: #b00b00;
  background: #ffecec; }
  
.blank_slate {
  padding: 12px;
  background: #ffffcc;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}
  .blank_slate h2 { margin-bottom: 4px; }
  .blank_slate p { margin: 0; }
#lost_container {
  margin-top: 300px;
}
#lost {
  margin: 0 auto; padding: 0 0 30px 120px;
  width: 820px;
  background: url(images/icon_lost.png) no-repeat;
}

#footer {
  margin-top: 48px; padding: 72px 0 52px 240px;
  float: left;
  width: 700px;
  background: url(images/bg_footer.png) no-repeat;
}
  .location {
    margin-right: 20px;
    float: left;
    width: 160px;
    display: inline;
  }
  #general_contact {
    float: left;
    width: 160px;
  }
    #general_contact p { margin: 0; }

/* pagination */
#pagination {
  float: left;
  width: 100%;
  font-weight: bold;
}
  #pagination li { float: left; }
  #pagination a, #pagination strong {
    padding: 5px 10px;
    float: left;
    color: #666;
    text-align: center;
  }
    #pagination a:hover { color: #999; }
  #pagination .first a { margin-right: 10px; padding-right: 15px; border-right: 1px solid #ccc; }
  #pagination .prev a { margin-right: 10px; }
  #pagination .next a { margin-left: 10px; }
  #pagination .page a { border-bottom: 1px solid #ccc; }
  #pagination .current strong { 
    color: #AE1F23;
    border-bottom: 1px solid #AE1F23; 
  }
  #pagination .last a { margin-left: 10px; padding-left: 15px; border-left: 1px solid #ccc; }

/* page specific
---------------------------------------- */
/* index */
#featured_work,
#homepage_slideshow {
  float: right;
  width: 700px;
  position: relative;
}
#homepage_slideshow {
  height: 347px;
  overflow: hidden; }
  #homepage_slideshow .slides,
  #homepage_slideshow .slide {
    width: 700px;
    height: 347px;
    overflow: hidden; }
    #homepage_slideshow .slide p {
      position: absolute;
      right: 0;
      top: 14px;
      z-index: 999;
      width: 280px;
      height: 19px;
      padding: 8px 72px 8px 18px;
      overflow: hidden;
      font-size: 18px;
      color: #ffffff;
      background: transparent url("images/slide_captionbg.png") repeat; }
  #featured_work img { display: block; }
  #homepage_slideshow img {
    display: block;
    width: 700px;
    height: 347px; }
  #homepage_slideshow ul {
    position: absolute;
    right: 20px;
    top: 29px;
    z-index: 1000; }
  #homepage_slideshow li {
    float: left;
    padding: 0 0 0 7px; }
    #homepage_slideshow li a {
      display: block;
      width: 8px;
      height: 8px;
      overflow: hidden;
      font-size: 1px;
      text-indent: -8685px;
      background: #db9a9c; }
    #homepage_slideshow li a.activeSlide { background: #ffffff; }
  #featured_info {
    padding: 60px;
    display: none;
    position: absolute;
    top: 0; left: 0;
    width: 580px; height: 230px;
    background: url(images/bg_featured_project.png) no-repeat;
    color: #ddd;
  }
    #featured_info h1, #featured_info h3 { color: #fff; }
    #featured_info h1 { margin-bottom: 8px; }
    #featured_info h1 a:link, #featured_info h1 a:visited, #featured_info h1 a:hover, #featured_info h1 a:active { color: #fff; }
      #featured_info h1 a:hover { color: #eee; }
#callout_block {
  float: left;
  width: 940px;
}
#recent_work {
  float: left;
  width: 460px;
}

/* 2 left side blocks */
  .recent {
    margin: 0 20px 24px 0;
    float: left;
    width: 220px;
  }
    .recent.last { margin: 0 0 24px 0; }
    .recent img { display: block; }
    .recent h3 { margin: 8px 0; }
/* 2 right side blocks */
  .upcoming {
	margin: 0px 20px 24px 20px;
	float: left;
	width: 220px;
  }
    .upcoming.last { margin: 0 0 24px 0; }
    .upcoming img { display: block; }
    .upcoming h3 { margin: 8px 0; }
/* optional right side block */
#upcoming_double {
	margin: 0px 0 24px 0;
	float: right;
	width: 460px;
}

#recent_activity {
  margin-right: 20px;
  float: left;
  width: 340px;
  display: inline;
}
  .activity {
    padding-bottom: 8px;
    float: left;
    width: 340px;
  }
    .activity img {
      float: left;
      width: 40px;
    }
    .activity_info {
      float: right;
      width: 280px;
    }
    .meta { font-size: 11px; }
    .featured.activity img {
      float: left;
      width: 100px;
    }
    .featured.activity .activity_info {
      float: right;
      width: 220px;
    }
#past_events {
  margin-right: 20px;
  float: left;
  width: 220px;
  display: inline;
}
.past_events_item {
  padding-bottom: 8px;
  float: left;
  width: 220px;
}
.past_events_item img {
  float: left;
  width: 50px;
  }
.past_events_item h3, .past_events_item p {
  float: right;
  width: 160px;
}

.consulting_item {
  padding-bottom: 8px;
  float: left;
  width: 220px;
}
.consulting_item img {
  float: left;
  width: 36px;
  }
.consulting_item h3, .consulting_item p {
	float: right;
	width: 174px;
}

/* program links at the bottom of about page */
.program_item {
  padding-bottom: 8px;
  float: left;
  width: 100%;
}
.program_item img {
  float: left;
  width: 36px;
  padding-right: 10px;
  }
.program_item h3, .program_item p {
	float: left;
	width: 174px;
}

#social_media {
  float: left;
  width: 340px;
}
#social_media ul li {
  margin-right: 20px;
  float: left;
  display: inline;
}

#our_partners {
  margin-top: 24px;
  float: left;
  width: 340px;
}
#our_partners ul li {
  margin-right: 20px;
  float: left;
  width: 160px;
  display: inline;
}
#our_partners ul li.even { margin: 0; }

/* work */
#work {
  float: right;
  width: 700px;
}
#tag_header {
  margin-bottom: 24px;
  float: left;
  width: 700px;
}
  #tag_header h1 { margin-bottom: 8px; }
  #tag_desc {
    font-size: 14px;
    line-height: 20px;
  }
#project_header {
  margin: 0 0 12px 240px;
  float: left;
  width: 700px;
  display: inline;
}
  #project_header h1 {
    float: left;
    width: 500px;
  }
  #project_market {
    float: right;
    width: 200px;
    text-align: right;
  }
#project_viewer {
  margin-bottom: 12px;
  float: left;
  width: 940px;
}
  #project_nav {
    margin: 8px 0; padding: 12px;
    float: left;
    width: 215px; min-height: 400px;
    border-right: 1px solid #ccc;
    background: #eee;
  }
    #project_nav a:link, #project_nav a:visited, #project_nav a:hover, #project_nav a:active {
      padding: 4px 0;
      display: block;
      border-bottom: 1px solid #ccc;
    }
    #project_nav a.active { color: red; }
  #project_gallery {
    position: relative;
    padding: 12px;
    float: left;
    width: 676px;
    background: #eee;
  }
    #project_gallery img { display: block; }
    #project_gallery .project {
      position: absolute;
      display: none;
      left: 0;
      top: 0;
      z-index: 1;
      width: 676px;
      padding: 12px;
      background: #eeeeee; }
    #project_gallery .slides {
      position: relative;
      width: 676px;
      height: 455px;
      overflow: hidden; }
      #project_gallery .slides img {
        width: auto;
        height: auto;
      }
    #project_gallery a {
      display: none;
      position: absolute;
      top: 217px;
      z-index: 100;
      width: 100px;
      padding: 17px 0;
      text-align: center;
      text-transform: uppercase;
      color: #ffffff;
      background: #999999;
      background: rgba(153, 153, 153, .9); }
    #project_gallery a:hover { background: #999999; }
    #project_gallery a.prev { left: 0; }
    #project_gallery a.next { right: 0; }
#project_info {
  margin: 48px 0 0 240px;
  float: left;
  width: 700px;
}
  #project_desc {
    float: left;
    width: 460px;
  }
  #project_testimonial {
    float: right;
    width: 220px;
  }
  #experts {
    margin: 48px 0 0 0;
    float: left;
    width: 700px;
  }
  
/* services */
#services {
  float: right;
  width: 700px;
}
  .service {
    margin-bottom: 24px;
    float: left;
    width: 700px;
  }
    .service img {
      float: left;
      width: 220px;
    }
    .service_info {
      float: right;
      width: 460px;
    }
      .service_info h3 { margin-bottom: 8px; }
  #need_help {
    padding: 12px;
    float: left;
    width: 676px;
    background: #ffffcc;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
  }
    #need_help h2 { margin-bottom: 4px; }
    #need_help p { margin: 0; }
  #experts {
    float: left;
    width: 700px;
  }
    .expert {
      margin-right: 20px;
      float: left;
      width: 160px;
      display: inline;
    }
      .expert.last { margin: 0; }
#process {
  float: right;
  width: 700px;
}
  .process li {
    float: left;
    width: 140px;
    display: inline;
  }
    .process li.last { margin: 0; }
#steps {
  margin-top: 48px;
  float: left;
  width: 700px;
}
  .step {
    margin-bottom: 24px;
    float: left;
    width: 700px;
  }
    .step h2 {
      padding: 12px 0;
      float: left;
      width: 100px;
      text-align: center;
      color: #fff;
    }
      #step_one h2 { background: #a5c1c2; }
      #step_two h2 { background: #c0a6a7; }
      #step_three h2 { background: #830a0f; }
      #step_four h2 { background: #c7d1d2; }
      #step_five h2 { background: #ae1f23; }
    .step h3, .step p, .step h4 {
      float: right;
      width: 580px;
    }
      .step h3 { margin-bottom: 8px; }

/* about */
#about {
  float: left;
  width: 700px;
}
  #about_desc {
    margin-bottom: 30px;
    text-transform: none;
    color: #666;
  }
  #about_desc img {
    margin: 0 20px 12px 0;
    float: left;
  }
  #about_desc div {
    margin-left: 180px;
  }
  #about_desc div p {
    font-size: 14px;
    line-height: 21px;
  }
  #about_desc p.meta {
    font-size: 90%;
  }
  #testimonials {
    width: 700px;
  }
    .testimonial {
      margin-bottom: 24px;
      float: left;
    }
    .testimonial .meta {
      float: left;
      width: 280px;
    }
    .testimonial .meta p.quote {
      font-family: Helvetica, arial, sans-serif;
      font-weight: normal;
      font-size: 14px; /* 18px looks better but is too large for full quotes */
      line-height: 18px; /* 24px line height goes with 18px */
      color: #666;
    }
    .testimonial .meta p strong {
      display: block;
    }
    /*.testimonial blockquote {*/
	#rightsidetext {
      width: 399px;
      float: right;
      margin-left: 10px;
      padding-left: 10px;
      /*font-size: 11px;*//* looks good with large blocks of text like on the about page */
      border-left: 1px solid #ccc;
    }
#about_sidebar {
  float: right;
  width: 220px;
}
  .about_module {
    margin-bottom: 24px;
    float: left;
    width: 220px;
  }
  .follow a:link, .follow a:visited, .follow a:hover, .follow a:active {
    padding: 4px 0;
    float: left;
    width: 110px;
    display: block;
  }
  .people_callout {
    margin-bottom: 8px;
    float: left;
    width: 220px;
  }
    .people_callout img {
      margin-right: 10px;
      float: left;
      width: 40px;
      display: inline;
    }
/* culture */
#culture_main {
  float: left;
  width: 700px;
}
  #culture_main h3 { margin-bottom: 4px; }
  #university {
    margin-bottom: 24px; padding: 12px;
    float: left;
    width: 676px;
    background: #e5f0f1;
  }
    #university_overview {
      float: left;
      width: 204px;
    }
      #university_overview h1 { margin-bottom: 8px; }
    #university_info {
      float: right;
      width: 448px;
    }
      #university_info img {
        margin-bottom: 8px;
        display: block;
      }
  #book_club {
    float: left;
    width: 340px;
  }
    #current_book img {
      float: left;
      width: 100px;
    }
    #current_book h3, #current_book p {
      float: right;
      width: 220px;
    }
  #open_source {
    float: right;
    width: 340px;
  }
  #books {
    margin-top: 24px;
    float: left;
    width: 700px;
  }
    .book {
      margin-right: 20px;
      float: left;
      width: 340px;
    }
      .book.last { margin: 0; }
      .book img {
        float: left;
        width: 100px;
      }
      .book h3, .book p {
        float: right;
        width: 220px;
      }
#culture_sidebar {
  float: right;
  width: 220px;
}
  .culture_module {
    margin-bottom: 24px;
    float: left;
    width: 220px;
  }

#featured_details {
  float: left;
  width: 700px;
}
  #featured_details strong { color: #333; }
  #featured_details dl {
    margin-bottom: 12px;
    float: left;
    width: 700px;
  }
    #featured_details dt {
      margin: 0;
      float: left;
      width: 40px;
    }
    #featured_details dd {
      margin: 0;
      float: right;
      width: 640px;
    }
#featured_action {
  margin: 12px 0 24px 0; padding-top: 24px;
  float: left;
  width: 700px;
  border-top: 1px solid #ddd;
  font-size: 18px;
  color: #999;
}
  #featured_action span { line-height: 40px; }
  #featured_action a:link, #featured_action a:visited, #featured_action a:hover, #featured_action a:active {
    margin-right: 4px; padding: 12px;
    background: #ae1f23;
    color: #fff;
    float: left;
    font-weight: bold;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
  }
    #featured_action a:hover { background: #660000; }

.class_section {
  margin: 12px 0;
  float: left;
  width: 700px;
}
  .class_section h2 { margin-bottom: 4px; }
  .class_section ul { margin: 20px; }
  .class_section li {
    padding: 2px 0;
    list-style: disc;
  }
#btn_contact {
  padding: 12px;
  background: #666;
  color: #fff;
  font-weight: bold;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  display: block;
  font-size: 18px;
  text-align: center;
}
  #btn_contact:hover { background: #999; }
/**/
.event {
  padding-bottom: 5px;
}
.event p {
	margin-bottom: 2px;
}
