/*
 * HTML structure:
 *
 * body
 * \_ div#header
 * |  \_ a#logo
 * |  \_ div#pageinfo
 * |  |  \_ h1.title
 * |  |  \_ h3.subtitle
 * |  \_ div#header-top-right
 * \_ div#main
 *    \_ div#sideleft
 *    |  \_ div.side div#menu
 *    |  \_ div.side div#photolog
 *    |  \_ div.side div#blog-cloud
 *    |  \_ div.side div#blog-calendar
 *    |  \_ div.side div#validator
 *    \_ div#maincol
 *    \_ div#sideright
 */

body {
  font: 14px Verdana, Arial, Helvetica, sans-serif;
  color: #444;
  margin: 0px;
  padding: 5px;
  border: 0px;
/*  min-width: 750px; */
}

h1, h2, h3, h4, h5 {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-weight: bold;
  color: #445;
  margin-top: 0;
}

h2 {
  font-size: 20px;
}

img {
  border: 0;
}

a, a:visited, a:hover {
  text-decoration: none;
  color: #0059a5;
}

#header {
  padding-bottom: 4px;
  margin-bottom: 4px;
  border-bottom: 2px solid #bbddff;
}

#logo {
  display: block;
  float: left;
  width: 170px;
  height: 60px;
  background: white url(/img/logo-170-60-blue.png) no-repeat 0 0;
}

#pageinfo {
  position: relative;
  margin-left: 180px;
  /* margin-right: 180px; */
  padding: 0px;
}

#pageinfo h1.title {
  font-size: 32px;
  margin: 0;
  padding: 0;
}

#pageinfo .subtitle {
  font-size: 18px;
  padding: 2px;
  margin: 0;
}

#main {
  position: relative;
  margin: 0;
  border: 1px solid white; /* IE sucks! */
}

.vertical-ad {
  width: 120px;
  height: 600px;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  border: 2px solid #bbddff;
}

.horizontal-ad {
  width: 728px;
  height: 90px;
  border: 2px solid #bbddff;
  margin: 0 auto;
}

#ads, #sideright {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  border: 2px solid #bbddff;
}

#sidebar, #sideleft {
  position: absolute;
  top: 0;
  left: 0;
  width: 170px;
  font-size: 10px;
}

#sidebar div.side, #sideleft div.side, #mobile-menu {
  border: 2px solid #bbddff;
  margin: 5px 0 5px 0;
  background: #deefff;
  border-radius: 10px;
  -moz-border-radius: 10px;
}

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

ul.menu li {
  border-bottom: 1px solid #bbddff;
  font-size: 13px;
}

ul.menu li * {
  display: block;
  padding: 4px 8px;
}

ul.menu li a {
  text-decoration: none;
  color: #0059a5;
}

ul.menu li a:hover {
  color: #ff7f00;
}

ul.menu li.on a {
  font-weight: bold;
}

ul.menu li a:hover,
ul.menu li.on a {
  background: #f0f8ff;
}

ul.menu li.l2 * {
  padding: 3px 8px 3px 22px;
}

ul.menu li.l3 * {
  padding: 3px 8px 3px 44px;
}

#sidebar h3, #sideleft h3 {
  color: #004090;
  font-size: 13px;
  text-align: center;
  margin-bottom: 5px;
}

#photolog {
  text-align: center;
}

#photolog img {
  border-top: 2px solid #bbddff;
  border-bottom: 2px solid #bbddff;
  margin-top: 0.4em;
  margin-bottom: 0.4em;
}

#photolog .photolog-entry .caption {
  margin-bottom: 10px;
}

#blog-calendar table {
  width: 100%;
}
#blog-calendar table td {
  text-align: center;
}

#maincol {
  margin-left: 176px;
  margin-right: 130px;
}

/*
 * Blog entries
 *
 * div.maincol
 *  \_ div.blogentry
 *  |   \_ div.header
 *  |   |   \_ span.title
 *  |   |   \_ span.date
 *  |   \_ div.content
 *  \_ ...
 */

div.blogentry {
  position: relative;
  margin: 0;
  padding-bottom: 10px;
  /* border: 1px solid blue; */
  margin-bottom: 10px;
  zoom: 1; /* IE sucks! */
}

div.blogentry div.header {
  position: relative;
  /* margin: 4px 0px 4px 30px; */
  margin-top: 4px;
  margin-bottom: 4px;
  padding-left: 30px;
  padding-right: 100px;
  padding-bottom: 4px;
  background: url('/img/dot-blue.gif') no-repeat 0px 0px;
  border-bottom: 1px dashed #ccc;
  min-height: 24px;
  zoom: 1; /* IE sucks! */
}

div.blogentry div.header .title {
  font: 20px Verdana, Arial, Helvetica, sans-serif;
  font-weight: bold;
  color: #444;
  cursor: pointer;
}

div.blogentry div.header:hover {
  background: url('/img/dot-orange.gif') no-repeat 0px 0px;
}

div.blogentry div.header:hover .title {
  color: #ff7f00;
}

div.blogentry div.header .date {
  position: absolute;
  bottom: 0;
  right: 0;
}

div.blogentry div.publisher,
div.blogentry div.comments {
  position: absolute;
  bottom: 0; right: 0;
  font-size: 10px;
}

div.blogentry .comment-title {
  font-size: 120%;
}
div.blogentry .comment-title .author {
  font-weight: bold;
}

div.blogentry div.labels {
  font-size: 10px;
  margin: -4px 0 4px 30px;
}

div.blogentry div.content {
  margin-left: 30px;
}

div.blogentry img {
  margin-bottom: 5px;
  max-width: 240px;
  max-height: 240px;
}

div.blogentry img.left {
  float: left;
  margin-right: 5px;
}

div.blogentry img.right {
  float: right;
  margin-left: 5px;
}

div.blogentry p {
  margin-top: 0;
}

div.blogentry .form-comment {
  display: none;
}

div.blogentry pre {
  background: #def;
  overflow: auto;
}

div.clear {
  clear: both;
}

.form-comment textarea {
  max-width: 100%;
}

/*
 * Pictures
 *
 * div.box-spinner
 * div.box-pictures
 *  \_ div.pictures
 *      \_ div.picture
 *      |   \_ div.image
 *      |   |   \_ img
 *      |   \_ div.caption
 *      \_ ...
 * div.box-bigpic
 *  \_ div.bigpic
 *      \_ img
 */

.box-spinner {
  text-align: center;
  display: none;
}
.pictures {
  background: #e8e8e8;
  padding: 5px;
  text-align: center;
}
.picture {
  display: inline-block;
  width: 162px;
  text-align: center;
  vertical-align: middle;
  margin: 1px;
  font-size: 9pt;
  line-height: 10pt;
  position: relative;
}
.picture .image {
  display: inline-block;
  margin: 0px;
  position: relative;
}
.picture .image img {
  display: block;
  border: 1px solid black;
  max-width: 160px;
}
.bigpic {
  text-align: center;
}
.bigpic img#thepic {
  display: block;
  max-width: 100%;
}
img.album {
  cursor: pointer;
}
span.link {
  cursor: pointer;
  color: #0059a5;
}
.show-hide .show {
  cursor: pointer;
}
.show-hide .hide {
  cursor: pointer;
  display: none;
}
.show-hide .content {
  display: none;
}

#mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
}
#mobile-menu ul.menu {
  display: none;
}
#mobile-menu ul.menu li {
  border-bottom: 1px solid #bbddff;
  font-size: 25px;
}
#mobile-menu-icon {
  cursor: pointer;
  font-size: 30px;
}

@media screen and (max-width: 930px) {
  .horizontal-ad {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  #sideright {
    display: none;
  }
  #maincol {
    margin-right: 0;
  }
}

@media screen and (max-width: 600px) {
  #logo {
    display: none;
  }
  #pageinfo {
    margin-left: 35px;
  }
  #sideleft {
    display: none;
  }
  #maincol {
    margin-left: 0;
  }
  #mobile-menu {
    display: block;
  }
  #header-top-right {
    display: none;
  }
}
