@dark_text_color: #232323;
@page_background_color: white;
@line_height: 28px;

body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
  font-weight: 400;
  line-height: @line_height;
	color: @dark_text_color;
	background-color: @page_background_color;
  margin: 40px 0px 40px 300px;
  max-width: 650px;
  -webkit-text-size-adjust: 100%; // Prevent text getting rescaled on the iPhone.
}


/* Headings */

h1, h2, h3 {
  color: @dark_text_color;
  font-weight: 400;
  line-height: 1.3;
  padding-bottom: 5px;
  border-bottom: 1px solid #cccccc;
  margin: 36px 0 10px 0;
}

h1 {
  font-size: 28px;
  a { color: @dark_text_color; text-decoration: none; }
  a:hover { text-decoration: underline; }
}

h2 { font-size: 22px; }


/* Text */

p { margin: @line_height 0; }
em { font-style: italic; }
strong { font-weight: 600; }


/* Links */

a {
  color: #c30000; font-weight: 300; text-decoration: none;
  &:hover { text-decoration: underline; }
}

a.button {
  display: inline-block;
  background: #373737;
  color: white;
  font-weight: normal;
	padding: 4px 10px 4px 7px;
	border-radius: 4px;
  &:hover { background-color: #950119; text-decoration: none; }
}


/* Lists */

ul {
  margin: 25px 0;
  li { list-style: inside; padding-left: 25px; }
}



/* Images */

img { border: 1px solid #cccccc; padding: 5px; margin: 25px 0; }

img.screenshot { border: none; padding: 0; margin: 0; max-width: 100%; }


/* Code blocks */

code, pre {
	font-family: monospace;
  font-size: 13px;
  line-height: 22px;
}

pre {
	padding: 4px 12px;
  background-color: #FDFEFB;
  border-radius:4px;
  border:1px solid #D7D8C8;
  overflow: auto;
  overflow-y: hidden;
	margin-bottom: 32px;
}

blockquote {
  padding-left: 24px;
  border-left: 6px solid #EEEEEE;
}


/* Page elements */

header.page_header {
  display: block;
  color: #fdfdfb; background-color: #373737;
  width: 145px;
  padding: 12px 50px 2px 50px;
  border: 1px solid #000;
  border-radius: 0 4px 4px 0;
  position: fixed; top: 40px; left: 0px;

  a { color: #fdfdfb; text-decoration: underline; }

  h1 {
    padding: 0; border: none; margin: 0 0 10px 0;
    text-align: center;
    a { text-decoration: none; }
    a:hover { text-decoration: underline; }
  }
}

footer.page_footer {
  position: fixed; bottom: 40px; left: 40px;
  font-size: 12px; color: #888888;
  width: 180px;
}

ul.social_media_links {
  li { display: inline-block; list-style: none; width: 90px; padding: 0; }
}

ul.post_list {
  li { display: block; list-style: none; padding: 0; overflow: auto; width: 100%; }
  span.post_date { font-size: 14px; color: #888888; float: right; }
}


/* Home page */

div.home_page {
  section { margin-bottom: 48px; }
  h2 { font-size: 20px; border: none; margin-top: 24px; }
  article h2 { margin-bottom: 0; border: none; }
  article h2 a { color: @dark_text_color; }
  article p { margin-top: 0; }

  dl { overflow: hidden; }
  dt { clear: both; float: left; width: 130px; }
  dd { margin-left: 130px; }
}


/* Software pages */

div.software_page_heading {
  border-bottom: 1px solid #cccccc;

  h1 { border: none; margin-bottom: 0; }

  a.button { margin: 5px 10px 15px 0; }
}

dl.software_details {
  display: block;
  overflow: hidden;
  margin: 25px 0;

  dt {
    font-weight: 600;
    float: left;
    width: 120px;
  }

  dd { margin-left: 120px; }
}


/* Stuff for specific articles */

dl.ground-rules {
  dt { font-weight: bold; margin-top: @line_height; }
  dd { margin-bottom: @line_height }
}


/* Responsive magic */

@media print, screen and (max-width: 960px) {
  body { margin: 40px 50px; }

  header.page_header {
    position: static;
    margin-left: -50px;
    width: auto;
    max-width: 650px;
    h1 { text-align: left; }
  }

  footer.page_footer {
    position: static;
    width: auto;
  }
}

// Smaller margins on the iPhone
@media print, screen and (max-width: 568px) {
  body { margin: 20px; }
}
