body { background: #FFF; margin: 0px; font-size: 12px; font-family: Verdana, Helvetica, sans-serif; color: #404040; }
a { text-decoration: none; outline: none; color: #195065; font-weight: bold; }
a:hover { text-decoration: underline; }
img { border: none; }
p, li { line-height: 1.6em; }
h1, h2, h3, h4, h5 { font-weight: normal; }
td { vertical-align: top; }
td.vbottom { vertical-align: bottom; }
td.vmiddle { vertical-align: middle; }
div.wrapper { width: 965px; margin: 0px auto; clear: both; }
div.clear, .clear { clear: both; }
div.divider { background-color: #2A4A7B; width: 100%; height: 5px; clear: both; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-top: 1px solid #86a3cd; border-bottom: 1px solid #86a3cd; }
div.divider_mod { width: 785px; float: right; clear: both; }
div.divider_mod_index { border-top: 1px solid #195065; -moz-border-radius-topright: 0px; -webkit-border-radius-topright: 0px; }
h3 { background-color: #2A487B; color: #FFF; padding: 10px 20px; font-size: 17px; -moz-border-radius: 3px; -webkit-border-radius: 3px; margin: -6px 0px 0px 0px; width: 150px; border-bottom: 1px solid #86A3CD; }
p.act_now { background-color: #fbc668; padding: 10px; -moz-border-radius: 3px; -webkit-border-radius: 3px; width: 70%; }
p.act_now a { color: #000; }

div#content { width: 785px; float: right; z-index: 50; }
div#sidebar { width: 140px; float: left; padding: 0px 15px 15px 15px; color: #404040; }
  div#sidebar p { margin: 5px 0px; }
  div#sidebar h4 { margin: 10px 0px 0px 0px; font-size: 12px; border-bottom: 1px dashed #BDBDBD; padding-bottom: 3px; }
  div#sidebar a { font-weight: normal; }
    div#also h3 { margin-bottom: 10px; }
    div#also p { margin-bottom: 10px; }
    div#also label { font-weight: bold; }
    div#quick_service { margin-bottom: 20px; }
    div#quick_service h4 { margin-bottom: 5px; }
    div#quick_service p { padding: 1px 0px; margin: 0px; }
      p.current { background-color: #fbc668; padding-left: 20px; margin-left: -20px; -moz-border-radius: 2px; -webkit-border-radius: 2px; }
      p.current a { color: #000; padding-left: 5px; }
      p.current a:hover { text-decoration: none; }
      div#quick_service p.child { padding-left: 10px; }
      div#quick_service p.current.child { padding-left: 5px; }
div#header { background: #FFF url(/images/trinkets.png) 0px -171px repeat-x; height: 94px; z-index: 9; }
  a#logo { float: left; margin: 9px 0px 0px -10px; display: block; width: 210px; opacity: 0.9; }
    a#logo img { width: 200px; height: 87px; }
  ul#main_nav { list-style-type: none; margin: 0px; }
    ul#main_nav li { float: left; font-size: 13px; height: 41px; }
  ul#main_nav li:hover { background: #FFF url(/images/header_bg_hover.png) repeat-x; }
  ul#main_nav li.hlink { margin-left: 0px; }
  ul#main_nav li.clink {}
  ul#main_nav a { text-decoration: none; color: #404040; display: block; padding: 9px 22px 7px 22px; font-size: 16px; font-weight: normal; }
  ul#main_nav a:hover { text-decoration: none; }
div#blurb { padding: 0px 20px 15px 20px; font-size: 13px; color: #404040; }
  div#blurb h1 { margin: 0px; padding: 0px; font-size: 30px; }

/* Index */
div.index {}
  table.fclient { width: 100%; padding-top: 15px; }
    table.fclient img { float: right; width: 285px; margin-bottom: -1px; height: 212px; }
    table.fclient h4 { float: left; padding: 0px 20px 0px 20px; width: 350px; margin: 0px; font-size: 17px; }
    table.fclient p { float: left; padding: 10px 20px 20px 20px; width: 350px; clear: left; margin: 0px; }
  table#services { clear: both; }
    table#services h4 { margin: 0px; padding: 0px; color: #363636; font-size: 17px; }
    table#services td { width: 31%; padding: 15px 20px 0px 20px; }
    table#services td.ecommerce { background-color: #dde4df; width: 38%; padding: 15px 20px 0px 20px; }
      tr.rmore_row td { vertical-align: bottom; }
        span.rmore { background-color: #2A4A7B; float: right; margin: 0px -20px -1px 0px; padding: 5px 10px; font-size: 11px; -moz-border-radius-topleft: 2px; -moz-border-radius-topright: 2px; -webkit-border-radius-topleft: 2px; -webkit-border-radius-topright: 2px; }
          span.rmore a { color: #FFF; }
  div#about_us { font-size: 11px; }
    div#about_us { margin-top: 0px; }
    div#about_us p { margin: 0px; }
    table#bios { width: 785px; margin: 0px auto; }
      table#bios div#outer_bios { width: 730px; overflow: hidden; display: block; height: 250px; position: relative; }
      table#bios div#inner_bios { width: 2195px; position: absolute; left: -730px; }
      table#bios div.shifter { width: 730px; display: block; float: left; height: 250px; }
        div.sbio { width: 343px; float: left; padding: 10px; height: 270px; }
        div.sbio a { color: #404040; font-size: 14px; }
        div.sbio h5 { font-style: italic; margin: 5px 0px; }
          img#filler { width: 200px; height: 87px; margin-left: 70px; }
      div#all_bios { display: none; }
    a#bio_right { height: 38px; width: 25px; display: block; }
    a#bio_left { height: 38px; width: 25px; display: block; }
      a#bio_right img, a#bio_left img { height: 39px; width: 25px; }
    div.index a.team_image { background: #FFF url(/images/bios/team.jpg) no-repeat; width: 60px; height: 75px; text-indent: -10000px; display: block; float: right; margin: 0px 0px 10px 10px; }
    a#mark_johnson { background-position: 0px -450px }
    a#ron_phipps { background-position: 0px -300px; }
    a#nick_alexander { background-position: 0px -1275px; }
    a#rick_peltzman { background-position: 0px -1200px; }
    a#steph_skardal { background-position: 0px -1125px; }
    a#richard_templet { background-position: 0px -150px; }
    a#jeff_boes { background-position: 0px -1500px; }
    a#carl_bailey { background-position: 0px -1575px; }
    a#benjamin_goldstein { background-position: 0px -525px; }
    a#david_christensen { background-position: 0px -1425px; }
    a#jon_jensen { background-position: 0px -1350px; }
    a#greg_sabino_mullane { background-position: 0px -1050px; }
    a#brian_miller { background-position: 0px -375px; }
    a#adam_vollrath { background-position: 0px -75px; }
    a#josh_tolley { background-position: 0px -975px; }
    a#kiel_christofferson { background-position: 0px -675px; }
    a#josh_williams { background-position: 0px -900px; }
    a#mike_farmer { background-position: 0px -225px; }
    a#brian_gadoury { background-position: 0px 0px; }
    a#gerard_drazba { background-position: 0px -1650px; }
    a#greg_davidson { background-position: 0px -825px; }
    a#matt_vollrath { background-position: 0px -1725px; }
    a#brian_buchalter { background-position: 0px -1800px; }
    a#szymon_guz { background-position: 0px -1875px; }
    a#marina_lohova {  background-position: 0 -1950px; }

/* Services */
  div#service_map p { margin: 10px 20px; }
  div.services h4 { font-size: 13px; margin: 4px 0px; }
    div#services_accordion div.service_content { display: none; }
    div#services_accordion div.serv { float: left; width: 90px; margin-right: 30px; text-align: center; padding: 20px; height: 120px; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -webkit-border-radius-topleft: 5px; -webkit-border-radius-topright: 5px; }
    div#services_accordion div.highlighted { background-color: #dde4df; }
      div.serv h2 { margin: 0px; }
    div#services_accordion div.serv:hover { cursor: pointer; }
    div#services_accordion h2 { font-size: 13px; font-weight: bold; }
    div#services_accordion div.icon { margin-bottom: 10px; display: block; width: 64px; height: 68px; margin-left: 13px; }
    div#cpres div.icon { background: transparent url(/images/stack.png) no-repeat; }
    div#cdata div.icon { background: transparent url(/images/stack.png) no-repeat -64px 0px; }
    div#cserver div.icon { background: transparent url(/images/stack.png) no-repeat -128px 0px; }
    div#cops div.icon { background: transparent url(/images/stack.png) no-repeat -192px 0px; }
    div#read_section { background: #dde4df; clear: both; padding: 10px 15px; -moz-border-radius: 5px; -webkit-border-radius: 5px; margin: -16px 0px 15px 0px; display: none; -moz-border-radius-topleft: 0px; -webkit-border-radius-topleft: 0px; }
    div#read_section h4 { font-weight: bold; }
    div#read_section p { margin: 5px 0px; }
    div#read_section a { border-bottom: 1px dashed #BDBDBD; }
    div#read_section a:hover { text-decoration:none; color: #000; border-bottom: 1px dashed #000; }
      div.blogs a { font-weight: normal; }
  h3.implementation_experts { width: 300px; }

/* Service */
  div.service h2 { color: #2A487B; font-size: 14px; margin: 5px 20px; }
  div#contents, div.contents { padding: 20px 0px; }
    div#contents p, div.contents p { padding: 3px 20px; margin: 0px; }
    div#contents img, div.contents img { float: left; margin: 5px 10px 5px 20px; height: 70px; }
    div#contents ul, div.contents ul { margin: 0px; }
    div#contents li, div.contents li { padding: 5px 0px; }
  div#blurb.interchange { background: #FFF url(/images/interchange.png) no-repeat right 15px; }
  div#blurb.ecommerce { background: #FFF url(/images/ecommerce.png) no-repeat right 15px; }
  div#blurb.hosting { background: #FFF url(/images/hosting.png) no-repeat right 10px; }
  div#blurb.rails { background: #FFF url(/images/rails.png) no-repeat right 10px; }
  div#blurb.mediawiki { background: #FFF url(/images/mediawiki.png) no-repeat right 20px; }
  div#blurb.seo_analytics { background: #FFF url(/images/seo_analytics.png) no-repeat right 20px; }
  div#blurb.spree { background: #FFF url(/images/spree.png) no-repeat right bottom; }
  div#blurb.django { background: #FFF url(/images/django.png) no-repeat right 50px; }
  div#blurb.postgresql { background: #FFF url(/images/postgresql.png) no-repeat right top; }
  ul.lg_nodes { list-style-type: none; }
  div#ey_container { padding: 0px; float: right; }
  img#ey { width: 156px; height: 46px; margin: 0px 0px 0px 20px; }

/* Clients */
  table#fclients { width: 785px; margin: 0px auto; }
    table#fclients div#outer_fclients { width: 735px; overflow: hidden; height: 375px; position: relative; }
    table#fclients div#inner_fclients { width: 2205px; position: absolute; left: -735px; }
    table#fclients div#all_clients { display: none; }
    table#fclients a#fclients_right { height: 38px; width: 25px; display: block; }
    table#fclients a#fclients_left { height: 38px; width: 25px; display: block }
    table#fclients div.client { width: 670px; float: left; padding: 30px; }
      div#screen_papersource { background-position: 0px 0px; }
      div#screen_citypass { background-position: -150px 0px; }
      div#screen_backcountry { background-position: 0px -125px; width: 100px; height: 80px; }
      div#screen_fragrancenet { background-position: -150px -125px; }
      div#screen_flor { background-position: 0px -250px; }
      div#screen_frozencpu { background-position: -150px -250px; }
      div#screen_deansbeans { background-position: 0px -375px; }
      div#screen_gear { background-position: -450px -125px; }
      div#screen_csi { background-position: -151px -375px; }
      div#screen_collegedistrict { background-position: -300px -125px; }
      div#screen_outsidein { background-position: -450px 0px; }
      div#screen_providenceplan { background-position: -300px 0px; }
      div#screen_jackthreads { background-position: -300px -250px; }
      div#screen_survival { background-position: -450px -250px; }
      div#screen_phishnet { background-position: -300px -375px; }
      div.client div.shot { float: left; margin: 0px 15px 9px 0px; opacity: 0.75; background-image: url(/images/clients.png); height: 125px; width: 150px; }
      div.client h4 { margin: 0px; font-size: 15px; }
      div.client a.case_study_link { clear: both; }
      div.endorse { font-size: 0.85em; }
        div.endorse h5 { clear: both; font-size: 1.1em; margin-bottom: 8px; }
        div.endorse p { margin: 0px; }
        div.endorse p.author { margin: 2px 0px 8px 0px; font-style: italic; }
  div.clients div.shifter { width: 733px; display: block; float: left; height: 395px; }
  div#select_clients { font-size: 11px; margin-bottom: 15px; }
    div#select_clients h3 { margin-bottom: 10px; }
    div#select_clients h4 { margin: 10px 0px 2px 15px; font-weight: bold; font-size: 13px; }
    div#select_clients p { float: left; width: 30%; display: block; margin: 5px 0px 0px 15px; }
    div#select_clients a { color: #404040; font-weight: normal; }

/* Team */
  div#anchor_plot, div#anchor_historyplot { height: 0px; width: 0px; }
  div#plot { background: url(../images/map.png) no-repeat 10px 10px; height: 320px; width: 460px; float: left; margin-left: 20px; }
  table#tttable { height: 320px; }
  div#tooltip_bios { display: none; }
  div#tooltip { font-size: 12px; padding: 5px; background-color: #dde4df; float: right; margin-right: 20px; width: 190px; padding: 20px; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
    div#tooltip a { text-decoration: none; color: #404040; font-weight: bold; margin: 5px 0px; border-bottom: 1px dashed #BDBDBD; padding-bottom: 2px; }
    div#tooltip a:hover { color: #000; border-bottom: 1px dashed #000; }
    div#tooltip p { margin: 0px; padding: 0px; font-style: italic; }
    div#tooltip p.skills { margin: 5px 0px 0px 2px; }
    div#tooltip p.location { margin-top: 15px; }
  div#headshots { padding: 15px 0px; clear: both; }
    div#headshots a { border: 5px solid #FFF; background: #FFF url(/images/bios/team.jpg) no-repeat; width: 60px; height: 75px; text-indent: -10000px; display: block; float: left; }
    div#headshots a.outlined { border: 5px solid #195065; }
    div#headshots a.mark_johnson { background-position: 0px -450px }
    div#headshots a.ron_phipps { background-position: 0px -300px; }
    div#headshots a.nick_alexander { background-position: 0px -1275px; }
    div#headshots a.rick_peltzman { background-position: 0px -1200px; }
    div#headshots a.steph_skardal { background-position: 0px -1125px; }
    div#headshots a.richard_templet { background-position: 0px -150px; }
    div#headshots a.jeff_boes { background-position: 0px -1500px; }
    div#headshots a.carl_bailey { background-position: 0px -1575px; }
    div#headshots a.benjamin_goldstein { background-position: 0px -525px; }
    div#headshots a.david_christensen { background-position: 0px -1425px; }
    div#headshots a.jon_jensen { background-position: 0px -1350px; }
    div#headshots a.greg_sabino_mullane { background-position: 0px -1050px; }
    div#headshots a.brian_miller { background-position: 0px -375px; }
    div#headshots a.adam_vollrath { background-position: 0px -75px; }
    div#headshots a.josh_tolley { background-position: 0px -975px; }
    div#headshots a.kiel_christofferson { background-position: 0px -675px; }
    div#headshots a.josh_williams { background-position: 0px -900px; }
    div#headshots a.mike_farmer { background-position: 0px -225px; }
    div#headshots a.brian_gadoury { background-position: 0px 0px; }
    div#headshots a.gerard_drazba { background-position: 0px -1650px; }
    div#headshots a.greg_davidson { background-position: 0px -825px; }
    div#headshots a.matt_vollrath { background-position: 0px -1725px; }
    div#headshots a.brian_buchalter { background-position: 0px -1800px; }
    div#headshots a.szymon_guz { background-position: 0px -1875px; }
    div#headshots a.marina_lohova { background-position: 0 -1950px; }
  div#story { clear: both; padding: 15px 20px; font-size: 12px; }
    div#story h4 { margin: 0px; font-size: 15px; }
  div#history_plot { height: 100px; width: 755px; }
  div#history_guide { background: url(../images/history_arrow.png) no-repeat; height: 19px; width: 100%; display: none; }
  div#history_details_wrapper { height: 250px; }
  div#history_details { padding: 15px; background-color: #dde4df; -moz-border-radius: 5px; -webkit-border-radius: 5px; margin-top: 19px; }
    div#history_details b { display: block; font-size: 13px; margin-bottom: 5px; }
    div#history_details div { display: none; }
      div#history_details div#time_base { display: block; }

/* Bio */
  div.bio h3.blogger { width: 400px; }
  div#bio_blog p { padding: 4px 20px; margin: 0px; }
  div#bio_blog p.date { padding: 0px 20px; font-style: italic; }
  div#bio_blog p.link { padding: 8px 20px 4px 20px; font-size: 14px; }
  div#bio_blog a { font-weight: normal; }
  div.bio table { width: 100%; background-color: #FFF; }
    td#intro { width: 170px; padding: 15px 20px; }
      td#intro img { width: 120px; height: 150px; }
    td#navs { width: 170px; padding: 0px; }
    td#navs h3 { cursor: pointer; padding: 10px; margin: 0px; background: #FFF; color: #404040; border: none; }
    td#navs h3.brief { background-color: #dde4df; }
    td#sections { background-color: #dde4df; }
    td#sections div { display: none; padding: 15px 20px; }
    td#sections div#brief { display: block; }
    div#ontheweb a { background: #DDE4DF url(/images/ontheweb.png) no-repeat scroll 0px 0px; display: block; text-align: center; text-indent: -100000px; margin: 10px; }
    div#ontheweb a#linkedin { height: 45px; width: 180px; }
    div#ontheweb a#github { height: 47px; width: 150px; background-position: 0px -45px; }
    div#ontheweb a#twitter { height: 50px; width: 210px; background-position: 0px -92px; }
    div#ontheweb a#ohloh { height: 68px; width: 150px; background-position: 0px -142px; }

/* Contact */
  p.flash { background: #dde4df; font-weight: bold; padding: 10px; width: 695px; opacity: 0.9; -moz-border-radius: 3px; -webkit-border-radius: 3px; margin-bottom: 0px; }
  form#contact_form { width: 715px; font-size: 12px; padding: 15px 20px; background: #FFF url(/images/nyc.jpg) right top no-repeat; }
    form#contact_form input, form#contact_form select { width: 240px; border: 1px solid #999; display: block; }
    form#contact_form textarea { width: 400px; border: 1px solid #999; display: block; }
    form#contact_form label.error { color: red; }
      input.contact_submit { width: 150px; background: #2A4A7B; color: #FFF; font-weight: bold; padding: 5px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border: 1px solid #86A3CD; }
      input.contact_submit:hover { cursor: pointer; }
      form#contact_form p.captcha input { display: inline; width: 30px; text-align: center; }
      p.captcha input.ro { border: none; background: #E2E2E2; }
      p.captcha label.error { display: block; }
      form#contact_form input.contact_hidden { border: none; }

/* Sitemap */
div.sitemap { background: #FFF url(/images/manhattan.jpg) right 100px no-repeat; }
  div.sitemap p { margin: 0px 0px 3px 25px; }
  div.sitemap p.indent { margin-left: 35px; }
  div.sitemap a { color: #404040; font-weight: normal; }

/* Blog Archive */
div.blog_archive p { padding: 0px 20px; }
div.blog_archive h3 { background: none; border: none; font-size: 19px; margin: 5px 0px; width: 100%; font-weight: normal; padding: 10px 20px; }
div.blog_archive h3 a { color: #195065; font-weight: normal; }
div.blog_archive pre { color: #195065; padding: 0px 20px; margin-left: 20px; } 

/* Footer */
div#footer_container { background: #fbdda7 url(/images/trinkets.png) repeat-x; clear: both; color: #404040; font-size: 0.95em; }
div#footer { padding: 15px 20px; }
  div#footer a { font-weight: normal; }
  div#footer p { margin: 0px; padding: 0px; }
  div#footer td { width: 23%; }
    td.ontheweb { text-align: center; width: 20%; }
    td.links { width: 17%; text-align: right; }
    a#footer_twitter { background-image: url(/images/trinkets.png); background-position: 0px -145px; text-indent: -10000000px; display: block; height: 25px; width: 108px; margin: 0px 0px 5px 65px; }
    a#footer_linkedin { background-image: url(/images/trinkets.png); background-position: 0px -121px; text-indent: -10000000px; display: block; height: 24px; width: 108px; margin-left: 75px; }

/* Lightbox */
#jquery-overlay { position: absolute; top: 0; left: 0; z-index: 90; width: 100%; height: 500px; }
#jquery-lightbox { position: absolute; top: 0; left: 0; width: 100%; z-index: 100; text-align: center; line-height: 0; }
#jquery-lightbox a img { border: none; }
#lightbox-container-image-box { position: relative; background-color: #fff; width: 250px; height: 250px; margin: 0 auto; }
#lightbox-container-image { padding: 10px; }
#lightbox-loading { position: absolute; top: 40%; left: 0%; height: 25%; width: 100%; text-align: center; line-height: 0; }
#lightbox-nav { position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; }
#lightbox-container-image-box > #lightbox-nav { left: 0; }
#lightbox-nav a { outline: none;}
#lightbox-nav-btnPrev, #lightbox-nav-btnNext { width: 49%; height: 100%; zoom: 1; display: block; }
#lightbox-nav-btnPrev { left: 0; float: left; }
#lightbox-nav-btnNext { right: 0; float: right; }
#lightbox-container-image-data-box { font: 10px Verdana, Helvetica, sans-serif; background-color: #fff; margin: 0 auto; line-height: 1.4em; overflow: auto; width: 100%; padding: 0 10px 0; }
#lightbox-container-image-data { padding: 0 10px; color: #666; }
#lightbox-container-image-data #lightbox-image-details { width: 70%; float: left; text-align: left; }
#lightbox-image-details-caption { font-weight: bold; }
#lightbox-image-details-currentNumber { display: block; clear: left; padding-bottom: 1.0em; }
#lightbox-secNav-btnClose { width: 66px; float: right; padding-bottom: 0.7em; }

