:root {
    --primary: #1E2F6D;
    --secondary: #96ADAD;
}

.summary {
    margin-bottom: 2.5rem;
    padding: 1.5rem 0;
    border-top: 4px solid var(--secondary);
    border-bottom: 4px solid var(--secondary);
}

@media (min-width: 768px) {
    .summary {
        margin-bottom: 4.5rem;
    }

    .summary dl {
        display: flex;
        flex-wrap: wrap;
        column-gap: 0.5rem;
        row-gap: 0.25rem;
        margin-bottom: 0.75rem;
    }

    .summary dl dt {
        flex: 0 0 100px;
        color: var(--primary);
        font-weight: 500;
    }

    .summary dl dd {
        flex: 1;
        min-width: 0;
        margin: 0;
    }
}

.summary:has(+ .summary) {
    border-bottom: none;
    margin-bottom: 0;
}


.activity-schedules {
  margin-bottom: 2.5rem;
}
.activity-schedule > dt {
  border: 2px solid var(--secondary);
  padding: 0.25rem 2rem 0;
  margin-bottom: 1rem;
  color: var(--secondary);
  border-bottom: none;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  display: inline-block;
  font-weight: 500;
}
.activity-schedule > dd {
  border-top: 4px solid var(--secondary);
  border-bottom: 4px solid var(--secondary);
}
@media (min-width: 768px) {
  .activity-schedule {
    margin-bottom: 4.5rem;
  }
}
.activity-schedule dd ol {
  list-style: none;
  counter-reset: schedule-counter;
  padding: 0;
  margin: 0;
}
.activity-schedule dd ol li {
  counter-increment: schedule-counter;
  position: relative;
  padding: 0.75rem 1rem 0.75rem 2rem;
  border-bottom: 1px solid var(--secondary);
}
.activity-schedule dd ol li:before {
  content: counter(schedule-counter);
  position: absolute;
  left: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--primary);
  font-weight: 500;
  line-height: 1.8rem;
  font-size: 0.9rem;
}
.activity-schedule dd ol li:last-child {
  border-bottom: none;
}