html, body {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline; }

div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
pre, a, abbr, acronym, address, code, del, dfn, em, img,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline; }

body {
  line-height: 1.5; }

blockquote, q {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  quotes: "" ""; }
  blockquote:before, q:before,
  blockquote:after, q:after {
    content: ""; }

th, td, caption {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

table {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle; }

a img {
  border: none; }

body {
  font-family: Georgia;
  background: #333 url(images/background-repeat.jpg); }
  body .background {
    padding-top: 30px;
    background: url(images/background.jpg) top center no-repeat; }

#container {
  width: 950px;
  margin: 0 auto;
  overflow: auto;
  display: inline-block;
  width: 960px; }
  #container {
    display: block; }
  #container #header {
    overflow: auto;
    display: inline-block; }
    #container #header {
      display: block; }
    #container #header #logo {
      float: left;
      width: 230px;
      margin-right: 10px;
      border: none; }
      #container #header #logo:hover {
        border: none; }
      #container #header #logo img {
        width: 200px;
        outline: none;
        border: none; }
    #container #header #banner {
      float: left;
      width: 710px;
      margin-right: 0;
      border-top: 1px solid #3b4040; }
      #container #header #banner #navigation {
        overflow: auto;
        display: inline-block; }
        #container #header #banner #navigation {
          display: block; }
        #container #header #banner #navigation ul {
          margin: 0;
          padding: 0;
          list-style: none; }
          #container #header #banner #navigation ul li {
            float: left;
            font-size: 1.1em;
            margin-right: 35px;
            padding-top: 3px; }
            #container #header #banner #navigation ul li a {
              color: #666666;
              text-decoration: none;
              border: none; }
              #container #header #banner #navigation ul li a:hover {
                color: white; }
            #container #header #banner #navigation ul li.on {
              padding-top: 0px;
              border-top: 3px solid #25ade4; }
              #container #header #banner #navigation ul li.on a {
                color: white; }
      #container #header #banner #intro {
        padding-top: 25px; }
        #container #header #banner #intro img {
          float: right;
          margin: 0 10px; }
        #container #header #banner #intro p {
          font-size: 1.6em;
          color: #25ade4;
          line-height: 1.3em;
          padding-top: 10px; }
          #container #header #banner #intro p em {
            color: white;
            font-style: normal; }
        #container #header #banner #intro blockquote p {
          font-size: 1.3em;
          line-height: 1.5em; }
          #container #header #banner #intro blockquote p span.smaller {
            font-size: 0.8em; }
        #container #header #banner #intro blockquote p.cite {
          font-size: 1.0em;
          padding-top: 0;
          color: #aaaaaa; }
  #container #page {
    overflow: auto;
    display: inline-block;
    margin-top: -1px; }
    #container #page {
      display: block; }
    #container #page #sidebar {
      float: left;
      width: 230px;
      margin-right: 10px;
      position: relative; }
      #container #page #sidebar #ifbydesign {
        position: absolute;
        top: 185px;
        color: #aaaaaa;
        font-size: 0.8em;
        text-align: center;
        width: 200px; }
        #container #page #sidebar #ifbydesign img {
          margin-top: 10px; }
      #container #page #sidebar #about {
        padding: 20px 0px;
        font-size: 0.8em;
        color: #aaaaaa;
        position: absolute;
        top: 300px;
        width: 180px; }
        #container #page #sidebar #about img {
          float: left;
          padding: 0 1em 5em 0; }
      #container #page #sidebar #contact_details {
        padding: 20px 0px 0px 5px;
        position: absolute; }
        #container #page #sidebar #contact_details p {
          margin: 0;
          padding: 0 0 15px 25px;
          line-height: 1.2em;
          color: white;
          font-size: 0.8em;
          background-position: -2px 2px;
          background-repeat: no-repeat; }
          #container #page #sidebar #contact_details p small {
            font-size: 0.8em;
            color: #777777; }
          #container #page #sidebar #contact_details p a {
            color: white;
            text-decoration: none;
            border-bottom: 1px dotted white;
            border-bottom: none; }
            #container #page #sidebar #contact_details p a:hover {
              color: #f14895;
              text-decoration: none;
              border-bottom: 1px dotted #f14895; }
              #container #page #sidebar #contact_details p a:hover img {
                border-bottom: none; }
            #container #page #sidebar #contact_details p a img {
              border-bottom: none; }
            #container #page #sidebar #contact_details p a.no_underline:hover {
              border-bottom: none; }
          #container #page #sidebar #contact_details p.telephone {
            background-image: url(images/icon-telephone.gif); }
          #container #page #sidebar #contact_details p.email {
            background-image: url(images/icon-email.gif); }
          #container #page #sidebar #contact_details p.im {
            background-image: url(images/icon-im.gif); }
          #container #page #sidebar #contact_details p.twitter {
            background-image: url(images/icon-twitter.gif); }
    #container #page #content {
      float: left;
      width: 710px;
      margin-right: 0;
      border-top: 1px solid #3b4040;
      min-height: 500px;
      height: auto; }
      * html #container #page #content {
        height: 500px; }
      #container #page #content p.sharethis {
        text-align: right; }
        #container #page #content p.sharethis a {
          border: none;
          color: white; }
          #container #page #content p.sharethis a:hover {
            border: none; }
      #container #page #content h2 {
        font-size: 1.1em;
        color: #25ade4;
        margin-top: 1em; }
      #container #page #content a {
        color: #f14895;
        text-decoration: none;
        border-bottom: 1px dotted #f14895; }
        #container #page #content a:hover {
          color: white;
          text-decoration: none;
          border-bottom: 1px dotted white; }
          #container #page #content a:hover img {
            border-bottom: none; }
        #container #page #content a img {
          border-bottom: none; }
      #container #page #content img.float_left {
        float: left;
        margin-right: 5px; }
      #container #page #content ol {
        color: #aaaaaa;
        margin-left: 2em; }
      #container #page #content .section {
        overflow: auto;
        display: inline-block;
        padding: 20px 0;
        border-bottom: 1px solid #3b4040; }
        #container #page #content .section {
          display: block; }
      #container #page #content .no_line {
        border-bottom: none; }
      #container #page #content .main {
        float: left;
        width: 430px;
        margin-right: 10px;
        padding-right: 40px; }
        #container #page #content .main blockquote p {
          margin-left: 1em;
          margin-right: 1em; }
          #container #page #content .main blockquote p.cite {
            color: #25ade4; }
        #container #page #content .main p {
          font-size: 0.9em;
          margin-bottom: 0.9em;
          color: #aaaaaa; }
          #container #page #content .main p em {
            font-style: italic; }
          #container #page #content .main p strong {
            font-weight: normal;
            color: #eee; }
        #container #page #content .main p.white {
          color: white; }
        #container #page #content .main p.comments_intro {
          border-top: 1px solid #3b4040;
          padding: 1em 0 0 0;
          color: #777777; }
        #container #page #content .main ol {
          font-size: 0.9em;
          margin: 0 0 1em 2em; }
          #container #page #content .main ol li {
            margin-bottom: 1em; }
        #container #page #content .main ul {
          margin: 0 0 1em 2.5em;
          color: #25ade4; }
          #container #page #content .main ul li {
            color: #aaaaaa;
            font-size: 0.9em; }
          #container #page #content .main ul.testimonials {
            margin-left: 0px;
            list-style: none; }
            #container #page #content .main ul.testimonials li {
              margin-left: 0px;
              border-bottom: 1px solid #3b4040;
              margin-bottom: 1em; }
              #container #page #content .main ul.testimonials li blockquote p {
                margin-left: 0px;
                margin-right: 0px; }
              #container #page #content .main ul.testimonials li blockquote p.cite {
                color: white; }
              #container #page #content .main ul.testimonials li blockquote em {
                font-style: normal; }
        #container #page #content .main .how_we_work p.center {
          text-align: left; }
        #container #page #content .main .how_we_work img {
          margin: 20px auto;
          padding: 10px 20px;
          text-align: center;
          border: 1px solid #3b4040; }
        #container #page #content .main h3 {
          clear: both;
          color: white;
          margin-top: 1em; }
          #container #page #content .main h3 a {
            border: none;
            color: white;
            text-decoration: none; }
            #container #page #content .main h3 a:hover {
              border: none; }
        #container #page #content .main h4 {
          color: #777777;
          margin-top: 1em;
          margin-bottom: 0.5em;
          font-size: 0.9em;
          font-style: italic; }
      #container #page #content .highlights {
        float: left;
        width: 230px;
        margin-right: 0; }
        #container #page #content .highlights .highlight {
          border-left: 1px solid #3b4040;
          padding: 10px; }
        #container #page #content .highlights .screenshot {
          text-align: center;
          font-style: italic;
          margin-bottom: 40px;
          color: #fff;
          font-size: 0.9em; }
          #container #page #content .highlights .screenshot a.no_border {
            border: none; }
            #container #page #content .highlights .screenshot a.no_border:hover {
              border: none; }
            #container #page #content .highlights .screenshot a.no_border img {
              margin-bottom: 10px; }
        #container #page #content .highlights .highlight {
          margin-bottom: 40px;
          color: #fff;
          font-size: 0.9em; }
          #container #page #content .highlights .highlight p.postmetadata {
            color: #aaaaaa; }
          #container #page #content .highlights .highlight h3 {
            color: #25ade4;
            font-size: 1em;
            margin-bottom: 0.5em; }
            #container #page #content .highlights .highlight h3 a {
              border: none;
              color: #25ade4;
              text-decoration: none; }
              #container #page #content .highlights .highlight h3 a:hover {
                border: none; }
          #container #page #content .highlights .highlight ul {
            font-size: 1em;
            margin-left: 20px;
            color: #25ade4;
            list-style: url(/media/bullet.gif); }
            #container #page #content .highlights .highlight ul li {
              margin-bottom: 1em;
              color: white; }
              #container #page #content .highlights .highlight ul li em {
                color: #aaaaaa; }
            #container #page #content .highlights .highlight ul.expertise li {
              margin-bottom: 0.5em; }
            #container #page #content .highlights .highlight ul.links {
              list-style: none;
              list-style-image: none;
              margin-left: 0px; }
              #container #page #content .highlights .highlight ul.links li {
                margin-bottom: 0.5em;
                list-style: none;
                list-style-image: none; }
            #container #page #content .highlights .highlight ul.subnavigation {
              margin-left: 0px;
              list-style: none;
              list-style-image: none; }
              #container #page #content .highlights .highlight ul.subnavigation li {
                margin-bottom: 0.5em;
                list-style: none;
                list-style-image: none; }
        #container #page #content .highlights .interesting ul {
          list-style: none;
          list-style-image: none;
          margin-left: 0; }
        #container #page #content .highlights .interesting li {
          color: #aaaaaa;
          margin-bottom: 0.5em;
          list-style: none;
          list-style-image: none; }
          #container #page #content .highlights .interesting li a {
            color: white;
            text-decoration: none;
            border-bottom: 1px dotted white;
            border: none; }
            #container #page #content .highlights .interesting li a:hover {
              color: #f14895;
              text-decoration: none;
              border-bottom: 1px dotted #f14895; }
              #container #page #content .highlights .interesting li a:hover img {
                border-bottom: none; }
            #container #page #content .highlights .interesting li a img {
              border-bottom: none; }
      #container #page #content #welcome {
        overflow: auto;
        display: inline-block;
        padding: 20px 0;
        border-bottom: 1px solid #3b4040;
        color: #aaaaaa; }
        #container #page #content #welcome {
          display: block; }
        #container #page #content #welcome h2 {
          display: none; }
      #container #page #content #we_can_help {
        float: left;
        width: 430px;
        margin-right: 10px; }
        #container #page #content #we_can_help h2 {
          color: #25ade4; }
        #container #page #content #we_can_help ul {
          list-style: none; }
          #container #page #content #we_can_help ul li {
            float: left;
            width: 190px;
            margin-right: 20px;
            font-size: 0.9em;
            color: white; }
      #container #page #content #our_services {
        float: left;
        width: 230px;
        margin-right: 0;
        font-size: 0.9em;
        color: #aaaaaa; }
        #container #page #content #our_services h2 {
          padding-top: 6px; }
          #container #page #content #our_services h2 a {
            border: none;
            color: #25ade4; }
            #container #page #content #our_services h2 a:hover {
              border: none; }
      #container #page #content #recently_twitter {
        float: left;
        width: 230px;
        margin-right: 0;
        font-size: 0.8em;
        color: #aaaaaa; }
        #container #page #content #recently_twitter h2 {
          padding-top: 10px; }
          #container #page #content #recently_twitter h2 a {
            border: none;
            color: #25ade4; }
            #container #page #content #recently_twitter h2 a:hover {
              border: none; }
        #container #page #content #recently_twitter a.twitter-link {
          font-size: 0.8em; }
        #container #page #content #recently_twitter span.twitter-timestamp {
          color: #777777;
          font-size: 0.8em; }
      #container #page #content #ruby_on_rails {
        float: left;
        width: 230px;
        margin-right: 0;
        padding-top: 45px; }
        #container #page #content #ruby_on_rails p {
          font-size: 0.7em;
          color: #aaaaaa; }
        #container #page #content #ruby_on_rails img {
          float: left;
          margin-right: 10px; }
      #container #page #content #client_preview {
        overflow: auto;
        display: inline-block;
        padding: 20px 0;
        border-bottom: 1px solid #3b4040;
        position: relative; }
        #container #page #content #client_preview {
          display: block; }
        #container #page #content #client_preview .screen_capture {
          float: left;
          width: 430px;
          margin-right: 10px;
          padding-right: 40px;
          background: url(/media/clients/homepage_shadow.png) top left no-repeat;
          padding: 10px;
          width: 425px;
          height: 215px; }
          #container #page #content #client_preview .screen_capture a {
            border: none; }
        #container #page #content #client_preview .testimonial {
          float: left;
          width: 230px;
          margin-right: 0; }
          #container #page #content #client_preview .testimonial h2 {
            font-size: 0.9em;
            color: #444444; }
            #container #page #content #client_preview .testimonial h2 a {
              color: #444444;
              border: none; }
          #container #page #content #client_preview .testimonial p.more {
            font-size: 0.8em; }
          #container #page #content #client_preview .testimonial blockquote {
            font-size: 1.1em;
            color: #25ade4; }
            #container #page #content #client_preview .testimonial blockquote p.cite {
              margin-top: 10px;
              font-size: 0.8em;
              color: #aaaaaa; }
              #container #page #content #client_preview .testimonial blockquote p.cite a {
                color: white;
                border-bottom: none; }
      #container #page #content #clients {
        overflow: auto;
        display: inline-block;
        padding: 1em 0; }
        #container #page #content #clients {
          display: block; }
        #container #page #content #clients .client_row {
          overflow: auto;
          display: inline-block;
          margin-bottom: 10px; }
          #container #page #content #clients .client_row {
            display: block; }
        #container #page #content #clients p.client {
          float: left;
          width: 150px;
          margin: 0 35px 20px 0;
          padding: 0;
          color: #aaaaaa;
          font-size: 0.9em; }
          #container #page #content #clients p.client a {
            color: #25ade4;
            border-bottom: none;
            text-decoration: none;
            display: block; }
            #container #page #content #clients p.client a.more {
              display: inline;
              white-space: nowrap;
              font-size: 0.8em;
              color: #f14895;
              text-decoration: none;
              border-bottom: 1px dotted #f14895; }
              #container #page #content #clients p.client a.more:hover {
                color: white;
                text-decoration: none;
                border-bottom: 1px dotted white; }
                #container #page #content #clients p.client a.more:hover img {
                  border-bottom: none; }
              #container #page #content #clients p.client a.more img {
                border-bottom: none; }
          #container #page #content #clients p.client img {
            width: 150px;
            border: none;
            margin-bottom: 5px; }
        #container #page #content #clients p.last {
          margin-right: 0; }
      #container #page #content #featured_clients {
        border-bottom: 1px solid #3b4040; }
      #container #page #content #browse_categories, #container #page #content #also_proud {
        overflow: auto;
        display: inline-block;
        border-bottom: 1px solid #3b4040;
        padding-bottom: 10px; }
        #container #page #content #browse_categories, #container #page #content #also_proud {
          display: block; }
        #container #page #content #browse_categories ul, #container #page #content #also_proud ul {
          padding: 10px;
          font-size: 0.9em;
          margin-bottom: 0px;
          color: #25ade4;
          list-style: none; }
          #container #page #content #browse_categories ul li, #container #page #content #also_proud ul li {
            float: left;
            width: 45%;
            margin-right: 1%;
            padding: 0 0 0 15px;
            background: url(/media/blue_bullet.gif) no-repeat left; }
            #container #page #content #browse_categories ul li a, #container #page #content #also_proud ul li a {
              color: white;
              text-decoration: none;
              border-bottom: 1px dotted white;
              border: none; }
              #container #page #content #browse_categories ul li a:hover, #container #page #content #also_proud ul li a:hover {
                color: #f14895;
                text-decoration: none;
                border-bottom: 1px dotted #f14895; }
                #container #page #content #browse_categories ul li a:hover img, #container #page #content #also_proud ul li a:hover img {
                  border-bottom: none; }
              #container #page #content #browse_categories ul li a img, #container #page #content #also_proud ul li a img {
                border-bottom: none; }
      #container #page #content #also_proud {
        border-top: 1px solid #3b4040;
        border-bottom: none; }
      #container #page #content p.post_count {
        color: #777777;
        font-size: 0.8em;
        text-align: right;
        font-style: italic;
        margin: -5px 0 10px 0; }

#footer {
  overflow: auto;
  display: inline-block; }
  #footer {
    display: block; }
  #footer .sidebar {
    float: left;
    width: 230px;
    margin-right: 10px; }
  #footer .content {
    float: left;
    width: 710px;
    margin-right: 0;
    margin-top: 1em;
    padding-top: 1em;
    font-size: 0.8em;
    line-height: 1.3em;
    color: #636363;
    border-top: 1px solid #3b4040; }
    #footer .content a {
      color: #aaaaaa;
      border-bottom: 1px dotted #aaaaaa;
      text-decoration: none; }
      #footer .content a:hover {
        color: #fff;
        border-bottom: 1px dotted #fff; }
    #footer .content p.links {
      margin-bottom: 5px; }
    #footer .content p.copy {
      margin-top: 2em;
      font-size: 0.8em; }
    #footer .content p.reg {
      font-size: 0.8em; }

p.linklove {
  display: none; }

div.cf_info {
  color: #fff; }

form.cform {
  width: 90%;
  margin: 0 auto; }
  form.cform p.cf-sb {
    margin-top: 1em;
    padding-top: 0.5em;
    border-top: 1px solid #3b4040;
    width: 100%;
    text-align: center; }
  form.cform ol {
    list-style: none; }
    form.cform ol label {
      display: block;
      font-size: 0.9em;
      color: white;
      margin-bottom: 5px; }
    form.cform ol textarea {
      border: 1px solid #777777;
      width: 95%; }
  form.cform fieldset {
    overflow: auto;
    display: inline-block; }
    form.cform fieldset {
      display: block; }
    form.cform fieldset legend {
      display: none; }
    form.cform fieldset input {
      border: 1px solid #777777;
      width: 95%;
      font-size: 1.1em;
      background: #fff; }
    form.cform fieldset li {
      margin-bottom: 10px; }

.blog_article {
  overflow: auto;
  display: inline-block;
  margin-bottom: 1em; }
  .blog_article {
    display: block; }
  .blog_article h3 {
    margin-bottom: 0.5em; }
    #container #page #content .blog_article h3 a {
      color: #25ade4; }
  .blog_article .highlight {
    margin-top: 50px; }
  .blog_article p.postmetadata {
    font-size: 0.8em;
    color: #aaaaaa; }
    .blog_article p.postmetadata strong {
      font-weight: normal;
      color: #777777; }

#sorry {
  width: 700px;
  margin: 0 auto; }
  #sorry .background {
    background: none; }
  #sorry .left {
    float: left;
    width: 200px;
    margin-top: 40px; }
  #sorry .right {
    float: left; }
  #sorry h2 {
    color: #25ade4;
    font-size: 1.8em;
    margin-bottom: 10px; }
  #sorry h3 {
    color: white;
    font-size: 1.4em;
    margin: 20px 0 5px 0; }
  #sorry ul {
    margin-left: 2em;
    color: #aaaaaa; }
    #sorry ul li {
      margin-bottom: 0.5em; }
  #sorry p {
    color: #aaaaaa;
    margin-bottom: 1em; }
  #sorry a {
    color: #f14895;
    text-decoration: none;
    border-bottom: 1px dotted #f14895; }
    #sorry a:hover {
      color: white;
      text-decoration: none;
      border-bottom: 1px dotted white; }
      #sorry a:hover img {
        border-bottom: none; }
    #sorry a img {
      border-bottom: none; }
  #sorry .sorry_footer {
    line-height: 1.3em;
    margin-top: 1em;
    color: #636363;
    border-top: 1px solid #3b4040; }
    #sorry .sorry_footer a {
      color: #aaaaaa;
      border-bottom: 1px dotted #aaaaaa;
      text-decoration: none; }
      #sorry .sorry_footer a:hover {
        color: #fff;
        border-bottom: 1px dotted #fff; }
    #sorry .sorry_footer p.links {
      margin-bottom: 5px; }
    #sorry .sorry_footer p.copy {
      margin-top: 2em;
      font-size: 0.7em; }
    #sorry .sorry_footer p.reg {
      font-size: 0.7em; }

#comment {
  width: 400px; }

#container #content #comment_list h3 {
  color: #25ade4;
  margin: 1em 0; }
#container #content #comment_list #respond {
  width: 430px;
  border-top: 1px solid #3b4040; }
  #container #content #comment_list #respond input.text, #container #content #comment_list #respond textarea {
    border: 1px solid #777777;
    width: 400px;
    font-size: 1.1em;
    background: #fff; }
  #container #content #comment_list #respond small {
    font-size: 0.8em;
    display: block;
    float: right;
    margin-top: -1.6em;
    margin-right: 30px; }
  #container #content #comment_list #respond label {
    display: block; }
#container #content #comment_list .divide_comment {
  width: 430px;
  border-bottom: 1px solid #3b4040; }
#container #content #comment_list .single_comment {
  margin: 1em 0; }
  #container #content #comment_list .single_comment .comment-author {
    font-size: 0.9em;
    color: white; }
    #container #content #comment_list .single_comment .comment-author img {
      margin-right: 10px;
      float: left;
      margin-top: 3px; }
    #container #content #comment_list .single_comment .comment-author small {
      color: #777777; }
  #container #content #comment_list .single_comment .comment-date {
    float: right;
    display: none;
    font-size: 0.8em;
    line-height: 32px;
    color: #777777; }
  #container #content #comment_list .single_comment .comment-meta {
    overflow: auto;
    display: inline-block;
    margin-bottom: 0.5em; }
    #container #content #comment_list .single_comment .comment-meta {
      display: block; }
  #container #content #comment_list .single_comment p.moderation {
    font-style: italic;
    color: #25ade4; }
  #container #content #comment_list .single_comment .highlight {
    border-left: none; }
  #container #content #comment_list .single_comment .metadata {
    color: #777777; }
