/* =========================================================
   Item List
   ========================================================= */

.hs-item-list {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}


/* =========================================================
   Header
   ========================================================= */

.hs-item-list__header {
	width: 100%;

	margin: 0 auto 40px;

	text-align: center;
}


/* =========================================================
   Heading
   ========================================================= */

.hs-item-list__heading {
	margin: 0 0 18px;
	padding: 0;

	font-size: 36px;
	line-height: 1.2;
	font-weight: 600;

	color: #222222;
}


/* =========================================================
   Description
   ========================================================= */

.hs-item-list__description {
	max-width: 791px;
	margin: 0 auto;

	font-size: 18px;
	line-height: 1.5;
	font-weight: 400;

	color: #222222;
}


/* =========================================================
   Date Filters
   ========================================================= */

.hs-item-list__filters {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;

	gap: 16px;

	margin: 0 auto 40px;
}


/* =========================================================
   Filter
   ========================================================= */

.hs-item-list__filters .hs-item-list__filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 8px 12px;

	border: 1px solid #C0CBD7;
	border-radius: 1000px;

	background: #ffffff;

	color: #222222;

	font-family: inherit;
	font-size: 16px;
	line-height: 1.2;
	font-weight: 400;

	cursor: pointer;

	white-space: nowrap;

	appearance: none;
	-webkit-appearance: none;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.hs-item-list__filters .hs-item-list__filter:hover,
.hs-item-list__filters .hs-item-list__filter.is-active {
	background: #1A1A1A;
	border-color: #1A1A1A;

	color: #ffffff;
}

.hs-item-list__filters .hs-item-list__filter.is-active:hover {
	background: #1A1A1A;
	border-color: #1A1A1A;
	color: #ffffff;
}

.hs-item-list__filters .hs-item-list__filter:focus {
	outline: none;
}

.hs-item-list__filters .hs-item-list__filter:focus-visible {
	outline: 1px solid #1A1A1A;
	outline-offset: 3px;
}


/* =========================================================
   Groups
   ========================================================= */

.hs-item-list__groups {
	width: 100%;
}


/* =========================================================
   Individual Date Group
   ========================================================= */

.hs-item-list__group {
	display: none;

	width: 100%;
	margin: 0;
	padding: 0;
}

.hs-item-list__group.is-active {
	display: block;
}


/* =========================================================
   Date Heading
   ========================================================= */

.hs-item-list__date {
	margin: 0 0 16px;

	font-size: 18px;
	line-height: 1.3;
	font-weight: 600;

	color: #222222;
}


/* =========================================================
   Items
   ========================================================= */

.hs-item-list__items {
	width: 100%;
}


/* =========================================================
   Individual Item
   ========================================================= */

.hs-item-list__item {
	margin: 0 0 28px;
	padding: 0;
}

.hs-item-list__item:last-child {
	margin-bottom: 0;
}


/* =========================================================
   Item Title
   ========================================================= */

.hs-item-list__item-title {
	margin: 0 0 14px;
	padding: 0;

	font-size: 18px;
	line-height: 1.4;
	font-weight: 600;

	color: #0052CC;
}


/* =========================================================
   Item Description
   ========================================================= */

.hs-item-list__item-description {
	margin: 0;

	font-size: 16px;
	line-height: 1.75;
	font-weight: 400;

	color: #222222;
}


/*
 * WYSIWYG paragraphs.
 */
.hs-item-list__item-description p {
	margin: 0 0 5px;
}

.hs-item-list__item-description p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   Links inside Description
   ========================================================= */

.hs-item-list__item-description a {
	color: inherit;
	text-decoration: underline;
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

	.hs-item-list__heading {
		font-size: 32px;
	}

	.hs-item-list__description {
		font-size: 18px;
	}

	.hs-item-list__filter {
		font-size: 17px;
	}

	.hs-item-list__item-description {
		font-size: 18px;
	}
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

	.hs-item-list__header {
		margin-bottom: 35px;
	}

	.hs-item-list__heading {
		font-size: 28px;
		margin-bottom: 14px;
	}

	.hs-item-list__description {
		font-size: 17px;
	}

	.hs-item-list__filters {
		justify-content: flex-start;

		flex-wrap: nowrap;
		overflow-x: auto;

		gap: 10px;

		margin-bottom: 35px;

		padding-bottom: 5px;

		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.hs-item-list__filters::-webkit-scrollbar {
		display: none;
	}

	.hs-item-list__filter {
		flex: 0 0 auto;

		min-height: 44px;

		padding: 9px 18px;

		font-size: 16px;
	}

	.hs-item-list__date {
		font-size: 19px;
	}

	.hs-item-list__item-title {
		font-size: 16px;
		margin-bottom: 10px;
	}

	.hs-item-list__item-description {
		font-size: 16px;
		line-height: 1.6;
	}

}