* {
  margin: 0;
  padding: 0;
  border: 0; }

body {
  background: white;
  color: #2f2f2f;
  font-family: 'Lucida Bright', Constantia, Georgia, Times, 'Times New Roman', serif;
  font-size: 14px;
  line-height: 21px;
  border-top: 6px solid #00bdec;
  text-align: center; }

#header, #content, #comments, #footer {
  clear: both;
  width: 760px;
  margin: 0 auto;
  padding: 21px 0;
  text-align: left; }

.inner:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

p {
  margin: 0 0 21px 0; }

a {
  font-weight: bold;
  border-bottom: 1px dotted #8f8f8f;
  text-decoration: none;
  color: #ed1b88; }

a:visited {
  color: #8f8f8f; }

a:hover {
  border-style: solid;
  border-color: black; }

a:active {
  background: black; }

a.plain {
  border-bottom-width: 0; }

a.plain:active {
  background: inherit; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Arial Rounded MT', 'Arial Rounded MT Bold', 'Helvetica Rounded LT Std', Calibri, 'Helvetica Neue', Helvetica, 'Trebuchet MS', Arial, sans-serif;
  color: black; }
  h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    text-decoration: none; }
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    border-bottom: 1px solid black; }

h1 {
  margin: 0 0 16.8px 0;
  font-size: 41px;
  line-height: 42px;
  color: #00bdec;
  letter-spacing: -0.02em; }
  h1 a, h1 a:visited {
    color: #00bdec;
    border-width: 0; }
  h1 a:hover {
    border-bottom-width: 1px; }

h2 {
  font-size: 24px;
  line-height: 24px;
  margin-top: 30px;
  margin-bottom: 9px;
  
  font-weight: normal; }

h3 {
  font-size: 18px;
  line-height: 21px;
  margin: -10.5px 0 10px 0; }


#header {
  border-bottom: 3px solid black;
  margin-bottom: 3px;
  padding-bottom: 15px;
  text-align: center; }
  #header h1 {
    margin: 0; }
    #header h1 a {
      color: black;
      border: 0; }
    #header h1 a:hover {
      border: 0;
      text-decoration: underline; }
    #header h1 a:active {
      color: white; }
  #header #slogan {
    font-size: 16px; }


#content {
  border-top: 1px dotted #8f8f8f;
  padding-top: 20px; }
  #content .head {
    margin-bottom: 21px;
    padding-bottom: 16.8px;
    background: url("/themes/john/images/separator.gif") repeat-x 50% 100%; }
    #content .head h1 {
      margin: 0; }
    #content .head .date {
      color: #00b2e1;
      font-family: 'Arial Rounded MT', 'Arial Rounded MT Bold', 'Helvetica Rounded LT Std', Calibri, 'Helvetica Neue', Helvetica, 'Trebuchet MS', Arial, sans-serif;
      font-size: 18px; }
    #content .head .summary {
      width: auto;
      font-style: italic;
      font-size: 16px;
      margin-top: 16.8px;
      margin-bottom: 10.5px;
      
      line-height: 23.1px;
      color: #6f6f6f; }
  #content img.small, #content img.medium, #content img.large {
    padding: 5px;
    border: 1px dotted #8f8f8f;
    float: right;
    clear: right;
    margin-top: 0;
    margin-bottom: 21px;
    margin-left: 20px; }
  #content img.small {
    width: 228px; }
  #content img.medium {
    float: right;
    clear: right;
    width: 488px; }
  #content img.large {
    width: 748px;
    float: none;
    clear: both;
    margin-left: 0; }
  #content a:hover img {
    border-style: solid;
    border-color: black; }
  #content .tags {
    clear: both;
    padding-top: 20px;
    border-top: 1px dotted #8f8f8f; }
    #content .tags h2 {
      float: left;
      margin: 0;
      width: 195px; }
    #content .tags a {
      background: black url("/themes/john/images/tag.gif") no-repeat 100% 50%;
      color: white;
      text-decoration: none;
      padding: 3px 6px;
      border: 0; }
    #content .tags a:hover {
      background-color: #7ced24;
      color: black; }

  #content ul, #content ol, #comments ul, #comments ol {
    margin: 21px 0; }
    #content ul li, #content ol li, #comments ul li, #comments ol li {
      margin-left: 65px; }
    #content ul li, #comments ul li {
      list-style-type: square; }

  #content.post p {
    width: 500px; }
    #content.post pre code {
      width: 460px; }
  #content.post .note {
    float: right;
    clear: right;
    width: 240px;
    font-size: 12px;
    font-style: italic;
    color: #555; }
    #content.post .note p {
      width: auto; }
      #content.post .note ul li, #content.post .note ol li {
        margin-left: 20px; }


#comments {
  border-top: 3px solid black;
  padding-top: 18px; }
  #comments h2 {
    float: left;
    margin: 0;
    width: 195px; }
  #comments blockquote {
    clear: both;
    margin-bottom: 21px;
    
    padding-top: 20px;
    
    border-top: 1px dotted #8f8f8f; }
    #comments blockquote .body {
      width: 565px;
      float: right; }
    #comments blockquote cite {
      display: block;
      width: 175px;
      margin-left: -20px;
      
      padding-left: 20px;
      
      background-repeat: no-repeat;
      background-position: 0 4px; }
      #comments blockquote cite .author {
        display: block;
        font-style: normal;
        font-weight: bold; }
      #comments blockquote cite .date {
        display: block;
        font-size: 12px; }
        #comments blockquote cite .date a {
          color: black;
          border-width: 0; }
        #comments blockquote cite .date a:hover {
          border-bottom-width: 1px; }
  #comments form {
    clear: both;
    border-top: 1px dotted #8f8f8f; }
    #comments form h3 {
      margin-top: 10px;
      margin-bottom: -10.5px; }
    #comments form p {
      margin: 21px 0; }
    #comments form .head {
      width: 175px;
      float: left; }
      #comments form .head input {
        display: block;
        width: 169px;
        height: 15px; }
    #comments form .body {
      margin-left: 195px; }
    #comments form label {
      display: block;
      margin-top: 21px; }
    #comments form input, #comments form textarea {
      border: 1px dotted #8f8f8f;
      font-family: arial;
      font-size: 14px;
      padding: 2px; }
    #comments form input:focus, #comments form textarea:focus {
      border-style: solid;
      border-color: black; }
    #comments form input.button {
      display: block;
      margin-top: 15px;
      margin-bottom: 5px;
      
      background: black;
      color: white;
      border-color: white; }
    #comments form input.button:active {
      background: white;
      color: black;
      border-color: black; }
    #comments form input.button:focus {
      border-style: dotted; }
    #comments form textarea {
      width: 559px;
      height: 143px;
      line-height: 21px; }


  #mini-archive h2, #mini-about h2 {
    margin-top: 0;
    margin-bottom: 7px; }
  #mini-archive ul, #mini-about ul {
    list-style: none; }
    #mini-archive ul li, #mini-about ul li {
      list-style: none;
      margin: 0; }

#mini-archive {
  width: 240px;
  float: left; }
  #mini-archive ul {
    margin-top: 9px;
    margin-bottom: 21px; }
      #mini-archive ul li a {
        display: block;
        padding-top: 10px;
        padding-bottom: 9px;
        
        border-top: 1px dotted #8f8f8f;
        border-bottom: 0;
        
        font-size: 12px;
        color: #00bdec;
        text-decoration: none; }
        #mini-archive ul li a em {
          display: block;
          font-style: normal;
          font-weight: bold;
          font-size: 15px; }
      #mini-archive ul li a:visited {
        color: #0088aa; }
      #mini-archive ul li a:hover {
        color: black;
        border-style: solid;
        border-bottom: 1px solid black;
        margin-bottom: -1px; }
      #mini-archive ul li a:active {
        color: white; }
      #mini-archive ul li.last a:hover {
        border-bottom: none;
        margin-bottom: 0; }

#mini-portfolio, #mini-about {
  margin-left: 260px; }


  #content.archive .tags {
    width: 370px;
    float: right;
    border: 0;
    padding: 0;
    line-height: 31.5px; }
    #content.archive .tags a {
      margin-left: 3px; }
    #content.archive .tags h2 {
      margin-top: 0.5em;
      float: none; }
  #content.archive ol {
    list-style-type: none; }
    #content.archive ol li {
      margin-left: 0;
      margin-bottom: 20px;
      
      border-bottom: 1px dotted #8f8f8f; }
      #content.archive ol li h2 {
        margin-top: 0;
        margin-bottom: 19px; }
      #content.archive ol li .date {
        font-family: 'Arial Rounded MT', 'Arial Rounded MT Bold', 'Helvetica Rounded LT Std', Calibri, 'Helvetica Neue', Helvetica, 'Trebuchet MS', Arial, sans-serif; }

#footer {
  border-top: 1px dotted #8f8f8f;
  
  padding-top: 3px; }
  #footer p {
    border-top: 3px solid black;
    padding-top: 14px;
    text-align: center; }


  pre code {
    display: block;
    margin: 21px 0;
    background: black;
    color: white;
    padding: 21px 20px;
    overflow: auto; }

code {
  font-family: Monaco, 'Bitstream Vera Sans Mono', Consolas, Courier, 'Courier new', monospace; }
  code .comment {
    color: #b21fd2; }
  code .string {
    color: #7ced24; }
  code .number {
    color: #ffff00; }
  code .keywords {
    color: #ff5d00; }
  code .symbol, code .constant {
    color: #009c9b; }


    #portfolio #content h2 {
      border-top: 1px dotted #8f8f8f;
      padding-top: 1em;
      clear: both; }
    #portfolio #content p {
      width: auto; }
    #portfolio #content p.note {
      width: 240px; }
