/******************************************
BODY AND WRAPPER
******************************************/


html, body {
  background: #E8E8E8 url('/images/layout/bg.png') top center repeat-y;
  height: 100%;
  text-align: left;
}

#outer_wrapper {
  min-height: 100%;
  height: auto !important;
  height: 100%;
  margin: 0 auto -117px auto;
}

#wrapper {
  background: #FFF;
  width: 950px;
  padding: 0 10px;
  margin: 0 auto;
  position: relative;
}

a, a:link, a:visited {
  color: #990000;
  text-decoration: none;
}

a:hover, a:active, a:focus {
  background: #FFFF99;
  color: #CC0000;
}

a.plain:hover {
  background-color: transparent;
  color: inherit;
}

br.clear {
  height: 0px;
  clear: both;
}



/******************************************
HEADER
******************************************/


#header_bg {
  height: 77px;
  background: #222 url('/images/layout/header_bg.png') top center repeat-x;
}

#header {
  width: 970px;
  margin: 0 auto;
  position: relative;
  padding-top: 6px;
}

#header #logo {
  text-indent: -20000px;
}

#header #logo a {
  color: #FFF;
  margin: 0 0 0 4px;
  display: block;
  width: 196px;
  height: 62px;
  background: transparent url('/images/layout/done21.png') top center no-repeat;
  outline: none;
}

.section_header {
  border-width: 1px 0;
  border-color: #BBB;
  border-style: solid;
  margin: 12px 0 ;
  padding: 6px;
  font-size: 1.5em;
  color: #222;
  clear: both;
  text-align: center;
  font-weight: bold;
}



/******************************************
NAVIGATION
******************************************/


#navigation {
  position: absolute;
  top: 0;
  right: 0;
}

#navigation {
  list-style: none;
  margin: 0;
}

#navigation li {
  float: left;
}

#navigation li a {
  height: 76px;
  padding: 0 10px;
  color: #FFF;
  text-indent: -20000px;
  display: block;
  background: transparent url('/images/layout/navigation.png');
  outline: none;
}

#navigation #nav_home a {
  width: 60px;
  background-position: -9px 0px;
}

#navigation #nav_about a {
  width: 70px;
  background-position: -89px 0px;
}

#navigation #nav_services a {
  width: 84px;
  background-position: -203px 0px;
}

#navigation #nav_apps a {
  width: 90px;
  background-position: -304px 0px;
}

#navigation #nav_blog a {
  width: 56px;
  background-position: -411px 0px;
}

#navigation #nav_contact_us a {
  width: 116px;
  background-position: -481px 0px;
}

#navigation #nav_home a:hover, 
#navigation #nav_home a.current,
#navigation #nav_home a:focus { 
  background-position: -9px 76px; 
}

#navigation #nav_about a:hover, 
#navigation #nav_about a.current, 
#navigation #nav_about a:focus { 
  background-position: -89px 76px; 
}

#navigation #nav_services a:hover, 
#navigation #nav_services a.current, 
#navigation #nav_services a:focus { 
  background-position: -203px 76px; 
}

#navigation #nav_apps a:hover, 
#navigation #nav_apps a.current, 
#navigation #nav_apps a:focus { 
  background-position: -304px 76px; 
}

#navigation #nav_blog a:hover, 
#navigation #nav_blog a.current, 
#navigation #nav_blog a:focus { 
  background-position: -411px 76px; 
}

#navigation #nav_contact_us a:hover, 
#navigation #nav_contact_us a.current, 
#navigation #nav_contact_us a:focus { 
  background-position: -481px 76px; 
}



/******************************************
HOME PAGE
******************************************/


#headliner {
  position: relative;
  height: 284px;
  width: 950px;
}

#polaroid {
  width: 387px;
  height: 231px;
  position: absolute;
  top: 30px;
  left: -34px;
  display: block;
  background: #FFF url('/images/layout/nick_and_jim.jpg') top center no-repeat;
}

#intro {
  position: absolute;
  top: 50px;
  right: 54px;
  width: 510px;
  height: 179px;
  display: block;
  background: #FFF url('/images/layout/idea_to_done.png') top center no-repeat;
  text-indent: -20000px;
}

#red_band {
  position: relative;
  margin: 0 -20px;
  background: #CC0000 url('/images/layout/red_band.png') top center repeat-x;
  height: 89px;
}

#smashing_success {
  position: absolute;
  top: 24px;
  left: 64px;
  width: 462px;
  height: 40px;
  background: transparent url('/images/layout/smashing_success.png') top center no-repeat;
  text-indent: -20000px;
}

#lets_build_something {
  position: absolute;
  top: 26px;
  right: 64px;
  width: 212px;
  height: 39px;
  background: transparent url('/images/layout/lets_build_something.png') 0 0 no-repeat;
  text-indent: -20000px;
  outline: none;
}
#lets_build_something:hover,
#lets_build_something:focus {
  background-position: -218px 0;
}

.homepage_icon {
  margin: 0 auto;
  width: 130px;
}

#services {
  margin-top: 40px;
}

.service_small a.plain {
  display:block;
  padding: 0;
}

.service_small h5 {
  width: 220px;
  height: 25px;
  text-indent: -200000em;
  padding: 0;
  margin-bottom: 2px;
  background: #FFFFFF url('/images/layout/service_headlines.png');
  background-repeat: no-repeat;
}

.service_small h5.project_profiles { background-position: 0px 0px;}
.service_small h5.visual_design    { background-position: 0px -25px;}
.service_small h5.app_development  { background-position: 0px -50px;}
.service_small h5.social_media     { background-position: 0px -75px;}

.service_small .description {
  font-size: 1.2em;
  line-height: 1.4em;
  padding: 2px;
}

.service_small a {
  font-size: 1.2em;
  padding: 2px;
}

h3.header {
  margin: 12px 0 30px;
}



/******************************************
PAGE TITLES
******************************************/


#page_title {
  display: block;
  text-indent: -20000px;
  margin: 32px 0 48px 0;
}

.title_about {
  width: 219px;
  height: 60px;
  background: transparent url('/images/titles/about.png') top center no-repeat;
}

.title_services {
  width: 285px;
  height: 59px;
  background: transparent url('/images/titles/services.png') top center no-repeat;
}

.title_contact_us {
  width: 308px;
  height: 63px;
  background: transparent url('/images/titles/contact_us.png') top center no-repeat;
}



/******************************************
ABOUT
******************************************/


#company_description {
  font-size: 1.8em;
  margin-bottom: 52px;
}

#the_team {
  margin-top: 24px;
}

.team_member h5 {
  width: 200px;
  height: 30px;
  text-indent: -20000px;
  margin: 0 0 2px 0;
}

#nick_pettit h5 {
  background: transparent url('/images/about/team_members.png') top left no-repeat;
}

#jim_hoskins h5 {
  background: transparent url('/images/about/team_members.png') bottom left no-repeat;  
}

.team_member h6 {
  margin: 0 0 10px 0;
}

div.small_icon {
  height: 16px;
  width: 16px;
  float:left;
  text-indent: -200000em;
}
.social_media .small_icon {
  background: url(/images/layout/social_media_small.png) 0 0 no-repeat;
  margin-right: 2px;
}

.social_media .twitter_icon { background-position: -16px 0;}
.social_media .brightkite_icon { background-position: -32px 0;}
.social_media .vimeo_icon { background-position: -48px 0;}
.social_media .email_icon { background-position: -64px 0;}
.social_media .web_icon { background-position: -80px 0;}

.social_media a {
  text-decoration: none;
  color: #222;
  font-weight: bold;
}

.social_media {
  list-style: none;
  margin: 0;
  padding: 0;
}



/******************************************
SERVICES
******************************************/


h3.services {
  background: #FFF url('/images/layout/services.png') 0 0 no-repeat;
  height: 36px;
  text-indent: -2000000em;
}

ul#services_links {
  height: 20px;
  position: absolute;
  right: 10px;
  top: 13px;
  margin: 0 0 16px 0;
  font-size: 1.4em;
  font-weight: bold;
}

ul#services_links li {
  list-style: none;
  float: left;
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid #CCC;
}

ul#services_links li.last {
  border-right: none;
}

.service {
  margin-bottom: 40px;
  padding-bottom: 16px;
  border-bottom: solid 1px #DDD;
}

.service h4 {
  clear: both;
  height: 50px;
  margin-bottom: 32px;
  background: #FFF url('/images/services/services_titles.png') 0 0 no-repeat;
  text-indent: -200000em;
}

.project_profiles h4 { background-position: 0px 0}
.visual_design    h4 { background-position: 0px -60px}
.app_development  h4 { background-position: 0px -120px}
.social_media     h4 { background-position: 0px -180px}

.service .list {
  float: right;
  background: #E8E8E8;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  padding: 12px 0 4px 18px;
  margin-bottom: 24px;
}

.service .list h5 {
  font-size: 1.15em;
  margin: 0 0 12px 0;
}

.last_service {
  border-bottom: 0;
}

#services_page .service {
  background-repeat: no-repeat;
  background-position: 18px 80px;
}

#services_page .project_profiles { 
  background-image: url('/images/services/project_profiles_large.png');
}
#services_page .visual_design { 
  background-image: url('/images/services/visual_design_large.png');
}
#services_page .app_development { 
  background-image: url('/images/services/app_development_large.png');
}
#services_page .social_media { 
  background-image: url('/images/services/social_media_large.png');
}

.small_services_header {
  margin-top: 54px;
}

.small_services {
  margin-bottom: 48px;
}

.small_services a {
  font-size: 1em;
}

.small_services .description {
  font-size: 0.97em;
  line-height: 1.4em;
}



/******************************************
CONTACT US
******************************************/


#contact_form {
  background: #EEE;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
}

#contact_form_text {
  padding: 24px 34px;
}

#contact_form_text h5 {
  font-size: 2.4em;
  color: #222;
  margin: 0 0 12px 0;
}

#contact_form_text p {
  font-size: 1.3em;
  color: #444;
}

#contact_form_fields {
  padding-left: 36px;
  margin: 20px 0;
  border-left: 1px solid #CCC;
}

#contact_form_fields .field label {
  color: #444;
  font-size: 1.3em;
}

#contact_form_fields .field input, #contact_form_fields .field textarea {
  margin: 0;
}

#contact_form_fields .field textarea {
  height: 120px;
}

#contact_form_fields .field {
  margin-bottom: 14px;
}

#contact_thank_you {
  background: #EEE;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  width: 500px;
  padding: 20px 30px;
  margin: 24px auto;
}

#contact_thank_you h5 {
  font-size: 2.4em;
  color: #222;
  margin: 0 0 12px 0;
}

#contact_thank_you p {
  font-size: 1.3em;
  color: #444;
}

#send_it {
  font-weight: bold;
  font-size: 1.2em;
}



/******************************************
FOOTER
******************************************/


#footer_push {
  height: 117px;
}

#footer {
  background: transparent url('/images/layout/footer.png') bottom center no-repeat;
  height: 117px;
  clear: both;
}

#footer_content {
  width: 950px;
  margin: 0 auto;
  padding: 0 10px;
  position: relative;
}

#footer #footer_text {
  color: #EEE;
  font-weight: bold;
  padding-top: 40px;
}

#footer #footer_text p {
  font-weight: normal;
  font-size: 0.95em;
  margin: 0;
}

#footer ul {
  margin: 0 0 16px 0;
}

#footer ul li {
  list-style: none;
  float: left;
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid #CCC;
}

#footer ul li.last {
  border-right: none;
}

#footer #social_media {
  position: relative;
}


#footer #social_media #twitter:hover, #footer #social_media #twitter:focus {
  background: none;
}

ul#social_media_list {
  position: absolute;
  right: 3px;
  top: 76px;
  margin: 0;
  padding: 0;
}

#footer ul#social_media_list li {
  height: 32px;
  width: 32px;
  border: 0;
  padding: 0;
  margin-bottom: 0;
}

#social_media_list li a {
  display: block;
  text-indent: -20000px;
  height: 32px;
  width: 32px;
  background: transparent url('/images/layout/social_media.png') top left no-repeat;
  margin: 0;
}

#social_media_list li.facebook a   { background-position: 0 0;}
#social_media_list li.brightkite a { background-position: -64px 0;}
#social_media_list li.vimeo a      { background-position: -96px 0;}
#social_media_list li.twitter a    { background-position: -32px 0;}
