* {
  margin: 0;
  padding: 0;

  font-family: sans-serif;
  line-height: 1.3;
}

/* Support dark mode */
body {
  background-color: Canvas;
  color: CanvasText;
  color-scheme: light dark;
}

button {
  cursor: pointer;
}

.bg-cover {
  background-position: 50% 50%;
  background-size: cover;
}

.table-cell {
  display: table-cell;
  vertical-align: middle;
}

button i.fa {
  font-size: 1.2em;
}

.nav {
  text-align: center;
}
#sidebar h3 {
  color: #EEEEEE;
  font-size: 1.4em;
  font-weight: 200;
  margin: 10px 0;
  text-align: center;
}

#sidebar .snippet {
  font-size: 0.8em;
  text-align: center;
}

.content {
  max-width: 60rem;
}
.content a {
  color: #1250BA;
  font-weight: bold;
}

.content .my-name {
  font-size: 2.5em;
}

.content h1 {
  margin-left: 15px;
}

.item {
  clear: both;
  margin-top: 2rem;
}

img.thumbnail {
  width: 200px;
  margin: 0px 10px 10 10px;
}

.set-in {
  margin: 10px 30px;
}

.heading {
  border-bottom: 1px solid rgba(0,0,0,0.2);
  margin-top: 8px;
}

.heading .title {
  float: left;
}

.heading .date {
  float: right;
  color: darkgray;
  font-size: 0.8em;
  position: relative;
  top: 6px;
}

.heading .clear {
  clear: both;
}

.content ul {
  margin: 10px 20px;
}

.content button {
  background-color: #ECC968;
  border: 0;
  border-radius: 5px;
  color: #333333;
  padding: 5px 8px;
}

.content .buttons a {
  margin-right: 15px;
}

.content .buttons a:hover button {
  background-color: #FFEDB9 !important;
}

h1.markdown {
  margin-block-start: 1em;
  margin-block-end: 0em;
  margin-left: 0px;
}
h2.markdown,
h3.markdown,
h4.markdown {
  margin-block-start: 0em;
  margin-block-end: 0em;
}
p.markdown {
  margin-block-start: 0em;
  margin-block-end: 1em;
}
span.markdown-annotation {
  font-size: 1em;
  color: #888;
}

.hide {
  display: none;
}

/* landscape / desktop */
@media(aspect-ratio >= 1) {
  .no-landscape {
    display: none;
  }

  #sidebar {
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    padding: 20px;
    width: 200px;
  }
  #sidebar .nav div {
    margin: 10px 0;
    text-align: center;
  }
  .content {
    margin-left: 200px;
    height: 100%;
    position: relative;
    width: auto;
  }

  img.thumbnail {
    float: right;
  }
}
/* portrait / mobile */
@media(aspect-ratio < 1) {
  .no-portrait {
    display: none;
  }

  #sidebar .nav div {
    display: inline;
  }
  .nav {
    margin: 10px;
  }
  .content {
    margin: 10px;
  }

  img.thumbnail {
    float: right;
  }
}

/* dark mode */
@media (prefers-color-scheme: dark) {
  #sidebar a {
    color: #DFE4EC;
  }
  #sidebar a:hover {
    color: white;
  }
  .heading .date {
    color: lightgray;
  }
}

/* light mode */
@media (prefers-color-scheme: light) {
  #sidebar a {
    color: #111;
  }
  #sidebar a:hover {
    color: gray;
  }
}

/* Print-friendly style, primarily for resume/index.html */
@media print {
  .no-print {
    display: none;
  }
  .content {
    margin-left: 0px;
  }
  .content h1, .content .my-name {
    font-size: 14pt;
  }
  .content .my-name, .content .contact-info {
    text-align: center;
    margin: 8px 0px 0px 0px;
  }
  .content h2, .content h3 {
    font-size: 12pt;
  }
  .set-in {
    margin: 8px 0px 0px 30px;
  }

  a {
    text-decoration: none;
  }

  a:link, a:visited {
    color: inherit;
    font-weight: inherit;
  }
}
