.ward-so-expandable-bullets {
	--ward-ebl-duration: 360ms;
	--ward-ebl-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.ward-so-expandable-bullets .ward-so-ebl-visible-list,
.ward-so-expandable-bullets .ward-so-ebl-hidden-list {
	margin-bottom: 0;
}

.ward-so-expandable-bullets .ward-so-ebl-hidden-list {
	margin-top: 0;
}

.ward-so-ebl-toggle-item {
	box-sizing: border-box;
	list-style: none !important;
	position: relative;
	transition:
		height 220ms var(--ward-ebl-ease),
		opacity 180ms ease,
		margin-top 220ms var(--ward-ebl-ease),
		margin-bottom 220ms var(--ward-ebl-ease),
		padding-top 220ms var(--ward-ebl-ease),
		padding-bottom 220ms var(--ward-ebl-ease),
		border-top-width 220ms var(--ward-ebl-ease),
		border-bottom-width 220ms var(--ward-ebl-ease);
}

.ward-so-ebl-toggle-item::before,
.ward-so-ebl-toggle-item::after {
	display: none !important;
	content: none !important;
}

.ward-so-ebl-toggle-button {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	color: inherit;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	margin: 0;
	min-height: 1.2em;
	padding: 0;
	text-align: left;
	text-decoration: none;
	width: 100%;
}

.ward-so-ebl-toggle-button:hover,
.ward-so-ebl-toggle-button:focus {
	background: transparent;
	color: inherit;
	text-decoration: none;
}

.ward-so-ebl-toggle-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.ward-so-ebl-toggle-button:disabled {
	cursor: default;
}

.ward-so-ebl-toggle-icon {
	border-bottom: 2px solid currentColor;
	border-right: 2px solid currentColor;
	box-sizing: border-box;
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	height: 0.55em;
	margin-left: 0.75em;
	transform: translateY(-0.12em) rotate(45deg);
	transition: transform 180ms ease;
	width: 0.55em;
}

.ward-so-ebl-toggle-button[aria-expanded="true"] .ward-so-ebl-toggle-icon {
	transform: translateY(0.12em) rotate(-135deg);
}

.ward-so-ebl-reveal {
	box-sizing: border-box;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition:
		height var(--ward-ebl-duration) var(--ward-ebl-ease),
		opacity 200ms ease;
}

.ward-so-ebl-reveal.ward-so-ebl-open {
	opacity: 1;
}

.ward-so-ebl-reveal.ward-so-ebl-opening,
.ward-so-ebl-toggle-item.ward-so-ebl-toggle-removing {
	will-change: height, opacity;
}

.ward-so-ebl-reveal .ward-so-ebl-hidden-list > li {
	animation: ward-so-ebl-item-in 280ms var(--ward-ebl-ease) both;
}

.ward-so-ebl-reveal .ward-so-ebl-hidden-list > li:nth-child(2) { animation-delay: 25ms; }
.ward-so-ebl-reveal .ward-so-ebl-hidden-list > li:nth-child(3) { animation-delay: 50ms; }
.ward-so-ebl-reveal .ward-so-ebl-hidden-list > li:nth-child(n+4) { animation-delay: 75ms; }

.ward-so-ebl-toggle-removing {
	height: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	border-top-width: 0 !important;
	border-bottom-width: 0 !important;
}

@keyframes ward-so-ebl-item-in {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ward-so-ebl-toggle-item,
	.ward-so-ebl-toggle-icon,
	.ward-so-ebl-reveal,
	.ward-so-ebl-reveal .ward-so-ebl-hidden-list > li {
		animation: none !important;
		transition: none !important;
	}
}
