turbo-frame#calendar > div {
  display: flex;
  align-items: center;
  flex-direction: column;
}

turbo-frame#calendar .calendar__days {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}

turbo-frame#calendar .calendar__days a {
  color: #000;
  text-decoration: none;
}

turbo-frame#calendar .calendar__days .day {
  text-align: center;
  margin-bottom: 3rem;
}

turbo-frame#calendar .calendar__months {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.8rem;
  gap: 2rem 5rem;
  justify-content: center;
}

turbo-frame#calendar .calendar__months .month {
  align-items: center;
  display: flex;
  gap: var(--block-space);
  justify-content: center;
  margin-bottom: 1rem;
}

turbo-frame#calendar .calendar__days .events {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 4rem;
}

turbo-frame#calendar .calendar__days .events .event {
  width: 150px;
}

turbo-frame#calendar .no-event {
}

turbo-frame#calendar .calendar__days dl {
  border: 1px solid var(--color-border);
  border-radius: var(--block-space-half);
  margin: 0 0 3rem 0;
  padding-bottom: var(--block-space-half);
  padding-left: var(--block-space-half);
  padding-right: var(--block-space-half);
  position: relative;
  text-align: center;
}

turbo-frame#calendar .calendar__months dl {
  align-items: center;
  border-bottom: 1px solid var(--color-border);
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: var(--block-space-half);
  width: 300px;
}

turbo-frame#calendar .calendar__days, turbo-frame#calendar .calendar__months dt {
  font-weight: bold;
}

turbo-frame#calendar .calendar__days dd {
  font-size: 0.8rem;
  margin: 0;
  padding: 0;
}

.calendar__next_link img {
  height: 20px;
  width: 20px;
}

.calendar__previous_link img {
  height: 20px;
  width: 20px;
}

.calendar__dates_range {
  align-items: center;
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
}

.calendar__dates_range a {
  padding: 0;
}

.event__contact_avatar {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  height: 70px;
  left: 50%;
  overflow: hidden;
  position: absolute;
  top: -10px;
  transform: translate(-50%, -50%);
  width: 120px;
}

.event__contact_avatar img {
  border-radius: 100%;
  border: 2px solid var(--color-border);
  display: block;
}

.event__status--canceled {
  text-decoration-line: line-through;
}

.event__past--true {
  opacity: 0.5;
}

.event__representable--true dl {
  padding-top: var(--block-space-double);
}

.event__representable--false dl {
  padding-top: var(--block-space-half);
}

.events--day {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.8rem;
  gap: 2rem 5rem;
  justify-content: center;
  flex-direction: column;
  width: 100%;
}

.events--day .day {
  align-items: center;
  display: flex;
  gap: var(--block-space);
  justify-content: center;
  margin-bottom: 1rem;
}

.events--day dl {
  align-items: center;
  border-bottom: 1px solid var(--color-border);
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: var(--block-space-half);
  width: 300px;
}

.events--day dt {
  align-items: center;
  display: flex;
  gap: var(--block-space-half);
}

.events--day dd {
  font-weight: bold;
}

.calendar__cancel_events_links {
  display: block;
  font-size: 0.8rem;
  font-weight: normal;
  margin: 0.5rem;
  text-decoration: underline !important;
}