body {
    font-family: 'PT Serif', serif;
    font-size: 16px;
    overflow-x: hidden;
    padding-bottom:90px; /* Stop hiding the bottom part of the sidebar please. */
}

#footer {
    position:fixed;
    padding:4px;
    bottom:0px;
    left:0px;
    width:100%;
    display:block;
    background-color:lightgrey;
    text-align:center;
}

#header {
    display: block;
    border:1px solid darkgray;
    border-radius:5px;
    text-align: center;
    padding: 6px 0px;
    width:calc(100% - 55px);
    margin-bottom:8px;
}

#header h1, #header h2 {
    font-family: 'PT Serif', serif;
}

#header h1 a:link, #header h1 a:visited {
    text-decoration: none;
    color: black;
}

#pagelist {
    background-color: lightgray;
    border: 1px solid transparent;
    border-radius: 10px;
    display: block;
    width:calc(100% - 55px);
    height: 37px;
    margin-bottom:4px;
}

#pagelist ul {
    margin: 5px 0px 0px 12px;
    padding: 3px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
}

#pagelist ul li {
    margin: 0px;
    padding: 2px 15px 2px;
    border: 1px solid darkgray;
    border-radius: 5px;
    list-style: none;
    display: inline;
}

#pagelist ul li.active {
    /* If the blog compiler was able to determine the current page, this is it. */
    background-color: white;
}

a:link, a:visited {
    color: navy;
    text-decoration: none;
}

a:hover {
    font-style: italic;
}

/* Tables */
table {
	border-collapse: collapse;
	text-align: center;
	width: 80%;
}

table, th, td {
  border: 1px solid black;
}

th {
  background-color: #4CAF50;
  color: white;
}

tr:nth-child(even) {background-color: #f2f2f2;}

/* head */
h1.posttitle {
    padding: 4px;
    width: 100%;
    color: navy;
    clear: both;
}

#postblock, #single {
    display: block;
    width:calc(100% - 55px);
    padding-bottom: 30px; /* leave some space for the footer */
}

#postblock .entry {
    padding-bottom: 8px;
    border-bottom: 2px dotted darkgray;
}

#postblock .entry.even .posttitle {
    /* Every second entry's title. */
    border-bottom: 2px solid darkgreen;
}

#postblock .entry.odd .posttitle {
    /* Every other entry's title. */
    border-bottom: 2px solid darkred;
}

#single .posttitle {
    /* Single-post titles. */
    border-bottom: 2px solid navy;
}

.metadata {
    color: brown;
    font-size: 14px;
    margin-top: -1.2em;
    text-align: right;
}

#single > .metadata ~ .metadata {
    /* Everything but the first one :-) shall not have a margin-top. */
    margin-top: 0px;
}

#seriesnav {
    width:80%;
    margin:0px auto;
    padding:5px;
    border:1px solid lightgrey;
    background-color:#fefee6;
}

#permalink {
    border-top: 2px solid navy;
    margin-top:1em;
    padding-top: 4px;
}

#postnav {
    display: block;
    width: 100%;
}

#postnav #prev {
    float: left;
}

#postnav #next {
    float: right;
}

div.comments {
    margin-top:8px;
}

#content {
    position: relative;
    padding-left: 0;
}

#content.active #sidebar {
    right: 234px;
    width: 234px;
    display:inline-block;
}

#content.active .burger-menu {
    right: 234px;
}

#content, #sidebar, .burger-menu {
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -ms-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

#sidebar {
    position:absolute;
    top:0px;
    right:-20px;
    border:1px solid darkgray;
    border-radius:6px;
    padding:4px;
    max-width:234px;
    overflow-y: auto;
    margin-right:-250px;
    display:none;
    background-color: white;
}

#sidebar b {
    /* Sidebar headers */
    display: block;
    background-color: lightgoldenrodyellow;
}

#sidebar ul {
  list-style: none;
  margin-left: 6px;
  padding-left: 0;
}

#sidebar ul li {
  padding-left: 1em;
  text-indent: -1em;
}

#sidebar ul li:before {
  content: "~";
  padding-right: 5px;
}

.burger-menu {
    position: fixed;
    display: block;
    top: 0;
    right: 0;
    background: #000;
    background: rgba(0,0,0,0.7);
    font-size: 10px;
    z-index: 10;
    width: 20px;
    height: auto;
    padding: 2.1em 1.6em;
}

.burger-menu span {
    position: relative;
    display: block;
}

.burger-menu span,
.burger-menu span:before,
.burger-menu span:after {
    background-color: #fff;
    width: 100%;
    height: 0.2em;
}

.burger-menu span:before,
.burger-menu span:after {
    position: absolute;
    margin-top: -0.6em;
    content: " ";
}

.burger-menu span:after {
    margin-top: 0.6em;
}

#test { background-color: blue; }

@media (min-width: 48em) {
    /* Responsive? Responsive! */
    #sidebar {
        right:7px;
        top:2px;
        margin-right:0px;
        display:inline-block;
        padding-bottom:20px;
    }

    #header, #pagelist, #postblock, #single {
        width:calc(100% - 270px);
    }

    .burger-menu {
        position: fixed;
        right: 250px;
        display: none;
    }

    #content.active .burger-menu {
        right: 220px;
    }
}
