body {
  font-family: 'Cantarell', sans-serif;
  background-color: #f4f3ee;
  color: #343b33;
}

a {
  color: #22481e;
}

.navbar {
  padding: .65rem 1rem;
  background-color: #f4f3ee;
  border-bottom: 1px solid #d8d8cf;
}

.navbar-brand {
  color: #22481e !important;
  font-family: 'Kotta One', serif;
}

.nav-link {
  color: #343b33 !important;
}

.nav-link:hover,
.nav-link:focus {
  color: #22481e !important;
}

main {
  padding-block: 1.5rem 3rem;
}

h1 {
  color: #22481e;
  font-size: 1.6rem;
  margin-bottom: .75rem;
}

.toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin-bottom: 1.25rem;
}

.date-form {
  margin: 0;
}

.summary {
  color: #5b5b55;
}

.topic-filter {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1.25rem;
}

.chip {
  border: 1px solid #c9cfc0;
  border-radius: 1rem;
  padding: .2rem .75rem;
  font-size: .85rem;
  text-decoration: none;
  background: white;
}

.chip span {
  color: #7b8f66;
  font-weight: 700;
}

.chip.active,
.chip:hover {
  background: #7b8f66;
  border-color: #7b8f66;
  color: white;
}

.chip.active span,
.chip:hover span {
  color: white;
}

.publications {
  list-style: none;
  padding: 0;
}

.publication {
  background: white;
  border: 1px solid #e0e0d8;
  border-left: 4px solid #7b8f66;
  border-radius: 6px;
  padding: .85rem 1rem;
  margin-bottom: .6rem;
}

.publication.muted {
  border-left-color: #d8d8cf;
  opacity: .75;
}

.meta {
  font-size: .8rem;
  color: #6b6b63;
  margin-bottom: .25rem;
}

.section {
  float: right;
  font-style: italic;
}

.title {
  display: block;
  text-decoration: none;
  line-height: 1.4;
}

.title:hover {
  text-decoration: underline;
}

.tags {
  margin-top: .45rem;
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  align-items: center;
}

.tag {
  background: #e3e8dc;
  color: #22481e;
  border-radius: 1rem;
  padding: .1rem .6rem;
  font-size: .75rem;
}

.tag-grey {
  background: #ececea;
  color: #6b6b63;
}

.numac {
  margin-left: auto;
  font-size: .75rem;
  color: #9a9a92;
}

.empty {
  color: #6b6b63;
  font-style: italic;
}

.topic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: .8rem;
}

.topic-card {
  background: white;
  border: 1px solid #e0e0d8;
  border-radius: 6px;
  padding: 1rem;
}

.topic-card h2 {
  font-size: 1.05rem;
  color: #22481e;
}

.topic-card p {
  font-size: .85rem;
  color: #5b5b55;
  margin: 0;
}

footer {
  border-top: 1px solid #d8d8cf;
  padding-block: 1rem 2rem;
  font-size: .8rem;
  color: #6b6b63;
}

@media (max-width: 600px) {
  .section {
    float: none;
    display: block;
  }
}

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: flex-end;
  background: white;
  border: 1px solid #e0e0d8;
  border-radius: 6px;
  padding: .8rem;
  margin-bottom: .6rem;
}

.filters label {
  font-size: .8rem;
  color: #5b5b55;
}

.filters .grow {
  flex: 1 1 14rem;
}

.filters .check {
  align-self: center;
}

.periods {
  font-size: .85rem;
  color: #6b6b63;
  margin-bottom: 1rem;
}

.periods a {
  margin-left: .5rem;
}

h2.day {
  font-size: 1.05rem;
  color: #22481e;
  margin-top: 1.4rem;
  border-bottom: 1px solid #d8d8cf;
  padding-bottom: .3rem;
}

h2.day span {
  color: #7b8f66;
  font-size: .85rem;
}
