@import "reset.css";
/*
THIS CSS FILE DOES NOT CONTAIN ANY COLOR/BACKGROUND DEFINITIONS

ALL DEFAULT STYLES ARE FOR THE SMALLEST DEVICE, A SMARTPHONE THAT REGISTERS AS min-width 320px AND LESS THAN 29em
OR A DESKTOP BROWSER RESIZED TO 320px WIDTH
*/
* {
  box-sizing: border-box;
}
html,body {
  height:100%;
  width:100%;
}
body {
  font-family: "Segoe UI",Cantarell,AquaBase,Roboto,"Open Sans","Droid Sans",sans-serif;
  -webkit-font-smoothing: antialiased;
  /* footer stay down, even with dynamic footer height:; stackoverflow.com/a/20352949 */
  display: flex;
  flex-direction: column;
}

/*HTML tags*/
h1 {
  font-size: 3em;
  line-height: 2em;
}
h2 {
  font-size: 2em;
  padding: 0.5em 0;
  line-height: 1.4em;
}
h3 {
  padding-top: 0.5em;
  font-size: 1.5em;
  line-height: 1.4em;
}
h4 {
  padding-top: 0.5em;
  font-size: 1.2em;
  line-height: 1.4em;
}
p, .paragraph {
  padding:0.5em 0;
}

/*
The first paragraph of the actual article is slightly larger
*/
/*
article > div > p:first-of-type {
  font-size: 115%;
}
*/
a, a:visited {
    text-decoration: none;
}
a:hover, a:active {
    text-decoration: underline;
}
em,i {
  font-style: italic;
}
strong,b {
  font-weight: bold;
}
code,pre {
  font: 1.1em monospace;
  white-space: pre-wrap;
  word-wrap: break-word;
}
:not(pre) > code {
    line-height: 100%;
    padding: 0.1em 0.2em 0 0.2em;
}
pre {
    line-height:130%;
    padding: 0.4em 0 0.4em 0.4em;
    margin: 0.4em 0;
    border-width: 0.2em;
    border-style: solid;
    max-height: 30em;
    overflow: auto;
  /* allows user to select ALL text in code box with 1 click: */
    /*-webkit-user-select: all;  /* Chrome 49+ */
    /*-moz-user-select: all;     /* Firefox 43+ */
    /*-ms-user-select: all;      /* No support yet */
    /*user-select: all;          /* Likely future */
}
blockquote {
    padding: 0.4em 0.4em 0.4em 0.9em;
    border-left-width: 0.6em;
    border-left-style: double;
    margin: 0.5em 0;
}
kbd {
    font-family: monospace;
    padding: 0.2em 0.3em 0.1em 0.3em;
    border-width: 0.2em;
    border-style: solid;
    border-radius: 0.2em;
    margin: 0.1em;
}
ul,ol {
  padding: .25em 0 .25em 1.5em;
}
li {
  padding-top: .2em;
}
hr {
  height: 0;
  border-width: 2px;
  border-style: solid;
  margin: 1.5em 0;
}

/*various elements*/
header .inner, footer .inner {
  padding: .5em;
}

/*HEADER*/
header .inner {
  position:relative;
  height:60px;
  padding-right: 56px; /*leave space for header image*/
}
header ul, nav ul {
  list-style: none;
  padding:0;
}
header ul li {
  float: left;
  padding: .8em .3em .8em 0;
  font-size: 1.2em;
}
header ul li:last-of-type {
  padding-right: 0;
}
header ul li a {
  padding: .8em .5em .5em 0;
}
header .inner img {
    height:100%;
    -ms-interpolation-mode: nearest-neighbor;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: -webkit-crisp-edges;
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: pixelated;
    padding:0;
    /*margin:0 56px 0 0;*/
    position: absolute;
    right:0;
    top:0;
}
header div.title {
  display:none;
}

/*########################*/

/* clickable menu*/
input#menu-icon {
  display: none;
}
label[for="menu-icon"] {
  display: inline-block;
  width: 100%;
  padding: 0 .25em .13em .1em;
  font-size: 3em;
  /*line-height: .8em;*/
}
label[for="menu-icon"] span {
  font-size:.8rem;
  vertical-align: .7rem;
  margin-left: .1rem;
}
input[type=checkbox] ~ label span::before {
  content: "Open"
}
input[type=checkbox]:checked ~ label span::before {
  content: "Close"
}
nav#menu-icon {
  display: none;
  list-style: none;
  padding: .5em;
}
input[type=checkbox]:checked ~ nav#menu-icon {
  display: inline-block;
}


.flexbox {
  display:flex;
}
.flexbox > *:first-child {
  align-self: center;
  flex: 1 0 auto;
}
.flexbox > *:last-child {
  align-self: center;
  flex: 0 1 auto;
}
.small, aside {
  line-height: 1.4em;
  font-size: 0.8em;
}
.small span {
  padding: 0 0.2em;
}
.tag_cloud > div {
  letter-spacing: .75em;
  font-size: 0.9em;
  font-weight: bold;
}
.tag_cloud ul {
  padding:0;
  word-break: break-all;
}
.tag_cloud li {
  display: inline-block;
  padding: 0;
  margin-right: .1rem;
}
/* this is the tag count */
.tag_cloud li span {
  font-size:0.7rem; /*must be rem here!*/
  line-height:1;
}
.tag_cloud li a {
  padding: .2rem .2rem .2rem 0;
  display: block;
}
section#content > * {
  padding: .5em;
}
section#content {
  margin-bottom: 1.5em;
}
article {
  line-height: 1.4em;
}
article aside .tag {
  float:right;
  margin-left:0.5em;
}
article aside .date {
  float:left;
}
article aside .timeline {
  opacity:0.5;
  font-weight: 100;
}
article aside .author {
  float:left;
  margin-left:0.5em;
}
article.fullpage {
  margin-top: 1em;
}
article.fullpage aside {
  margin-bottom: 2em;
}
article img {
  width: 100%;
  float: none;
}
article img.right, article img.left {
  float: none;
}
.border {
  border-width: 0.2em;
  border-style: solid;
}
footer {
  margin-top: auto;
}
footer p a {
  padding: 0.5em 0.2em;
}
footer .right {
  margin-left: 1em;
}
.right {
  float:right;
}
.left {
  float:left;
}

/* Input Styles */
input,
textarea,
select {
    border-width: 0.1em;
    border-style: solid;
    margin: 0;
    font-size: 100%;
    border-radius: 0;
}
input:focus,
textarea:focus,
select:focus {
    border-width: 0.1em;
    border-style: solid;
}
/* remove stupid red border - stackoverflow.com/a/6189446 */
input:required, input:invalid {
    box-shadow:none;
}
.pagination {
  margin: 1em 0 0 0;
  position: relative;
}
.pagination .previous {
  float: left;
}
.pagination .next {
  float: right;
}
.pagination .current {
  position: absolute;
  text-align: center;
  width:100%;
  z-index: -10;
  left:0;
}

/*------------CLEARFIX!----------------*/
.clearfix:before,.clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  *zoom: 1;
}

/*
THIS IS WHAT MY PHONE REGISTERS AS IN LANDSCAPE MODE
*/
@media screen and (min-width: 480px) and (max-width: 767px) {
  header .inner, footer .inner, section#content > * {
    /*just adding a little horizontal spacing*/
    padding-left: 1em;
  }
}
@media screen and (min-width: 480px) and (max-width: 1023px) {
  header .inner, footer .inner, section#content > * {
    /*just adding a little horizontal spacing*/
    padding-right: 1em;
  }
}

/*
NON-MOBILE DEVICES (ALSO LAPTOPS) USUALLY START AT THIS BREAKPOINT
*/
@media screen and (min-width: 768px) {
  header .inner {
    height:75px;
  }
  body > .inner {
    padding: 1em 0;
  }
  section#sidebar {
    float: left;
    width: 30%;
  }
  label[for="menu-icon"] {
    display:none;
  }
  nav#menu-icon {
    display: inline-block;
    position:initial;
  }
  input#menu-icon {
    display: none;
  }
  section#content {
    float: right;
    width: 70%;
    padding-left: 0.5em;
  }
  .tag_cloud > div {
    font-size: 1rem;
    margin-bottom: .5em;
  }
  .tag_cloud li a {
    padding: .3rem .3rem .3rem 0;
  }
  article img {
    width: initial;
  }
  article img.right, article img.left {
    max-width: 50%;
  }
  article img.right {
    float: right;
    margin: 0 0 1em 1em;
  }
  article img.left {
    float: left;
    margin: 0 1em 1em 0;
  }
}

@media screen and (min-width: 1024px) {
  .inner {
    width:90%;
    margin: 0 auto;
  }
  header .inner img {
    left:50%;
    margin-left:-28px; /*half of image width*/
  }
  header .inner {
    padding-right: 0;
  }
  header .inner div.title {
    display: initial; 
    float: right;
    padding: .5em;
    font-size: 1.6em;
  }
  header .inner ul li {
    font-size: 1.3em;
  }
}
