table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ddd; }
  table th, table td {
    padding: 8px;
    border: 1px solid #ddd;
    text-align: left; }
    table th:first-child, table td:first-child {
      padding-left: 16px; }
  table th {
    background-color: #f2f2f2;
    font-weight: bold; }
  table tr:nth-child(even) {
    background-color: #f9f9f9; }

body {
  display: flex;
  flex-direction: column;
  margin-top: 1%;
  font-family: "Open Sans", "HelveticaNeue", "Helvetica", sans-serif;
  color: #222;
  background-color: #fff; }

.index-content {
  align-self: center;
  display: flex;
  flex-direction: column; }
  .index-content h1 {
    text-align: center; }

.post-content {
  margin: 20px;
  max-width: 800px;
  align-self: center; }
  .post-content img {
    margin: 5px;
    max-width: 100%; }

a:hover {
  color: #222; }

h1 > a {
  color: #222;
  text-decoration: none; }

nav ul {
  list-style-type: none; }

header {
  align-self: center;
  max-width: 800px;
  display: flex;
  background: #dadada; }

nav {
  width: 800px;
  display: flex;
  align-self: left; }

nav a {
  padding: 1em 2em 1em 2em;
  margin: 1em;
  background: #aaa;
  text-decoration: none;
  color: #111; }

nav a:hover {
  background: #666; }

a.nav.active {
  background: #666; }

.image-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem; }
  .image-container figure {
    flex: 1 1 0;
    min-width: 300px;
    max-width: 100%;
    box-sizing: border-box; }
    .image-container figure img {
      width: 100%;
      height: auto; }
  @media (max-width: 768px) {
    .image-container {
      flex-direction: column; } }

blockquote {
  padding: 16px;
  margin: 16px 0;
  background-color: #f9f9f9;
  border-left: 4px solid #ccc;
  font-style: italic; }
  blockquote strong {
    font-weight: bold;
    margin-bottom: 4px; }
  blockquote p {
    margin: 0;
    line-height: 1.6; }
