html {
  font-family: sans-serif;
  background: #eee;
  padding: 1rem;
}

body {
  margin: 0 auto;
  background: white;
}

h1 {
  font-family: serif;
  color: #377ba8;
  margin: 1rem 0;
}

a {
  color: #377ba8;
}
hr {
  border: none;
  border-top: 1px solid lightgray;
}
nav {
  background: lightgray;
  display: flex;
  align-items: center;
  padding: 0 0.5rem;
}
nav h1 {
  flex: auto;
  margin: 0;
}
nav h1 a {
  text-decoration: none;
  padding: 0.25rem 0.5rem;
}
nav ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
nav ul li a,
nav ul li span,
header .action {
  display: block;
  padding: 0.5rem;
}
.content {
  padding: 0 1rem 1rem;
}
.content > header {
  border-bottom: 1px solid lightgray;
  display: flex;
  align-items: flex-end;
}
.content > header h1 {
  flex: auto;
  margin: 1rem 0 0.25rem 0;
}
.flash {
  margin: 1em 0;
  padding: 1em;
  background: #cae6f6;
  border: 1px solid #377ba8;
}
.hidden {
  display: none;
}
.post > header {
  display: flex;
  align-items: flex-end;
  font-size: 0.85em;
}
.post > header > div:first-of-type {
  flex: auto;
}
.post > header h1 {
  font-size: 1.5em;
  margin-bottom: 0;
}
.post .about {
  color: slategray;
  font-style: italic;
}
.post .body {
  white-space: pre-line;
}
.content:last-child {
  margin-bottom: 0;
}
.content form {
  margin: 1em 0;
  display: flex;
  gap: 5px
}
.content label {
  font-weight: bold;
  margin-bottom: 0.5em;
}
.content input,
.content textarea {
  margin-bottom: 1em;
}
.content textarea {
  min-height: 12em;
  resize: vertical;
}
input.danger {
  color: #cc2f2e;
}
input[type="submit"] {
  align-self: start;
  min-width: 10em;
}
section.table {
  display: table;
  width: 100%;
}

section.table > header {
  display: table-header-group;
  background-color: lightgray;
  font-weight: bold;
  border: 1px solid gray;
}

section.table > * {
  display: table-row;
}

section.table .col {
  display: table-cell;
  padding: 0.5em;
}

section.pagination {
  margin-top: 25px;
}

section.pagination .row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start;
  align-content: stretch;
  gap: 0.5em;
}

section.pagination .col {
  display: block;
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: auto;
  align-self: auto;
  order: 0;
}

button.icon {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  -webkit-filter : invert(70%);
  filter : invert(70%);
}

button.icon img {
  width: 1.5em;
}

button.icon:hover {
  background: none;
  filter: opacity(0.5) drop-shadow(0 0 0 blue);
}

#snackbar {
  visibility: hidden;
  min-width: 250px;
  margin-left: -125px;
  background-color: #333;
  color: #fff;
  text-align: center;
  border-radius: 2px;
  padding: 16px;
  position: fixed;
  z-index: 1;
  left: 50%;
  bottom: 30px;
  font-size: 17px;
}

#snackbar.show {
  visibility: visible;
  -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
  animation: fadein 0.5s, fadeout 0.5s 2.5s;
}

@-webkit-keyframes fadein {
  from {bottom: 0; opacity: 0;} 
  to {bottom: 30px; opacity: 1;}
}

@keyframes fadein {
  from {bottom: 0; opacity: 0;}
  to {bottom: 30px; opacity: 1;}
}

@-webkit-keyframes fadeout {
  from {bottom: 30px; opacity: 1;} 
  to {bottom: 0; opacity: 0;}
}

@keyframes fadeout {
  from {bottom: 30px; opacity: 1;}
  to {bottom: 0; opacity: 0;}
}

.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  bottom: 25px;
  left: 20px;

  /* Position the tooltip */
  position: absolute;
  z-index: 1;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
}

