.nsvh-happenings {
 --nsvh-brand: #007072;
 --nsvh-brand-dark: #005c5e;
 --nsvh-ink-soft: #4c5457;
 --nsvh-line: #d9e5e4;
 --nsvh-tint: #f1f7f6;
}
.nsvh-happenings .nsvh-happenings__topics {
 display: flex;
 flex-wrap: wrap;
 gap: 12px;
 margin: 0 0 8px;
 padding: 0;
 list-style: none;
}
.nsvh-happenings .nsvh-happenings__topics li {
 margin: 0;
}
.nsvh-happenings .nsvh-happenings__topic {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 padding: 12px 22px;
 border: 2px solid var(--nsvh-line);
 border-radius: 999px;
 background: #fff;
 color: var(--nsvh-brand-dark);
 font-size: 17px;
 font-weight: 600;
 line-height: 1.2;
 text-decoration: none;
}
.nsvh-happenings .nsvh-happenings__topic:hover,
.nsvh-happenings .nsvh-happenings__topic:focus-visible {
 border-color: var(--nsvh-brand);
 background: var(--nsvh-tint);
}
.nsvh-happenings .nsvh-happenings__count {
 color: var(--nsvh-ink-soft);
 font-size: 14px;
 font-weight: 400;
}
.nsvh-happenings .nsvh-happenings__list {
 margin: 0;
 padding: 0;
 list-style: none;
}
.nsvh-happenings .nsvh-happenings__item {
 display: flex;
 gap: 22px;
 align-items: flex-start;
 margin: 0;
 padding: 26px 0;
 border-bottom: 1px solid var(--nsvh-line);
}
.nsvh-happenings .nsvh-happenings__item:last-child {
 border-bottom: 0;
}
.nsvh-happenings .nsvh-happenings__thumb {
 display: block;
 flex: none;
 width: 168px;
}
.nsvh-happenings .nsvh-happenings__thumb img {
 display: block;
 width: 100%;
 height: auto;
 aspect-ratio: 3 / 2;
 object-fit: cover;
 border-radius: 8px;
}
.nsvh-happenings .nsvh-happenings__body {
 flex: 1;
 min-width: 0;
}
.nsvh-happenings .nsvh-happenings__date {
 margin: 0 0 6px;
 color: var(--nsvh-ink-soft);
 font-size: 13px;
 letter-spacing: .04em;
 text-transform: uppercase;
}
.nsvh-happenings .nsvh-happenings__title {
 margin: 0 0 8px;
 font-size: 1.3rem;
 line-height: 1.25;
}
.nsvh-happenings .nsvh-happenings__title a {
 color: inherit;
 text-decoration: none;
}
.nsvh-happenings .nsvh-happenings__title a:hover,
.nsvh-happenings .nsvh-happenings__title a:focus-visible {
 color: var(--nsvh-brand-dark);
 text-decoration: underline;
}
.nsvh-happenings .nsvh-happenings__excerpt {
 margin: 0;
 color: var(--nsvh-ink-soft);
 font-size: 16px;
 line-height: 1.55;
}
.nsvh-happenings a:focus-visible {
 outline: 3px solid var(--nsvh-brand-dark);
 outline-offset: 2px;
}
@media (max-width: 560px) {
 .nsvh-happenings .nsvh-happenings__item {
 flex-direction: column;
 gap: 14px;
 }
 .nsvh-happenings .nsvh-happenings__thumb {
 width: 100%;
 max-width: 320px;
 }
}
