.tag {
  background: var(--bgcolor);
  border-radius: 2em;
  padding: 0.2em 0.75em;
  font-size: x-small;
  font-weight: 500;
  display: inline-block;
  margin-right: 0.5em;
}

[data-theme=dark] .tag {
  border: 1px solid grey;
}


time, address, .homepage, .tickets, .meeting-url {
  display: flex;
  align-items: center;
  gap: 1rem;
  /* make all items below the description have the same height, they have a logo on the left, 
  so a height diff is very to distinguish, ensure they look the same */
  min-height: 2.5em;
  margin-bottom: var(--pico-typography-spacing-vertical);
}

time::before, address::before, .homepage::before, .tickets::before, .meeting-url::before {
  font-size: 16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 4px; /* Adjusting, since the icon is not centered correctly. */
  flex-shrink: 0;
}

time::before {
  content: url("/static/icon/lucide/calendar.svg");
}

time.end::before {
  content: url("/static/icon/lucide/calendar-off.svg");
}

address::before {
  content: url("/static/icon/lucide/map-pin.svg");
}

.homepage::before {
  content: url("/static/icon/lucide/link.svg");
}

.tickets::before {
  content: url("/static/icon/lucide/ticket.svg");
}

.meeting-url::before {
  content: url("/static/icon/lucide/monitor.svg");
}
