/******/
/*** PRODUCT PIPELINE ***/
/******/

.product-pipeline {
	color: var(--color-blue);
}

.product-pipeline__intro {
	float: none;
	margin-left: auto;
	margin-right: auto;
}

.product-pipeline__intro > :first-child {
	margin-top: 0;
}

.product-pipeline__intro > :last-child {
	margin-bottom: 0;
}

.product-pipeline__toolbar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	justify-content: space-between;
	padding-bottom: 1rem;
}

.product-pipeline__sort {
	align-items: center;
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 1.25rem;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.product-pipeline__sort legend {
	float: left;
	font-size: var(--text-2xl);
	font-weight: var(--font-weight-semibold);
	line-height: var(--leading-snug);
	margin: 0;
	padding: 0;
}

.product-pipeline__sort label {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	font-size: var(--text-base);
	font-weight: var(--font-weight-semibold);
	gap: .4rem;
	line-height: var(--leading-snug);
	margin: 0;
}

.product-pipeline__sort input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	border: .125rem solid var(--color-blue);
	border-radius: 50%;
	cursor: pointer;
	height: 1.125rem;
	margin: 0;
	position: relative;
	width: 1.125rem;
}

.product-pipeline__sort input[type="radio"]::after {
	background: var(--color-blue);
	border-radius: 50%;
	content: "";
	inset: .1875rem;
	opacity: 0;
	position: absolute;
	transform: scale(.5);
	transition: opacity var(--default-transition-duration) var(--ease-out),
		transform var(--default-transition-duration) var(--ease-out);
}

.product-pipeline__sort input[type="radio"]:checked::after {
	opacity: 1;
	transform: scale(1);
}

.product-pipeline__sort input[type="radio"]:focus-visible,
.product-pipeline__table-scroll:focus-visible,
.product-pipeline__more:focus-visible {
	outline: .1875rem solid var(--color-mid-blue);
	outline-offset: .1875rem;
}

.product-pipeline__count {
	font-size: var(--text-base);
	font-weight: var(--font-weight-semibold);
	margin: 0 0 0 auto;
	white-space: nowrap;
}

.product-pipeline__table-scroll {
	-webkit-overflow-scrolling: touch;
	border-bottom: .0625rem solid var(--color-light-blue);
	max-height: 70vh;
	overflow: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	width: 100%;
}

.product-pipeline__table {
	background: var(--color-white);
	border-collapse: separate;
	border-spacing: 0;
	color: var(--color-blue);
	min-width: 64rem;
	table-layout: fixed;
	width: 100%;
}

.product-pipeline__col-project {
	width: 14%;
}

.product-pipeline__col-indication {
	width: 16%;
}

.product-pipeline__col-phase {
	width: 14%;
}

.product-pipeline__col-launch {
	width: 14%;
}

.product-pipeline__table thead th {
	background: var(--color-blue);
	border-radius: 1.125rem 1.125rem 0 0;
	border-right: .125rem solid var(--color-white);
	color: var(--color-white);
	font-size: var(--text-lg);
	font-weight: var(--font-weight-medium);
	line-height: var(--leading-snug);
	padding: 1rem .75rem;
	position: sticky;
	text-align: center;
	top: 0;
	vertical-align: middle;
	z-index: 3;
}

.product-pipeline__table thead th:first-child {
	border-left: 0;
}

.product-pipeline__table thead th:last-child {
	border-right: 0;
}

.product-pipeline__table tbody th,
.product-pipeline__table tbody td {
	background: var(--color-white);
	border-bottom: .0625rem solid var(--color-light-blue);
	font-size: var(--text-base);
	font-weight: var(--font-weight-semibold);
	line-height: var(--leading-snug);
	padding: 1.15rem .75rem;
	text-align: center;
	vertical-align: middle;
}

.product-pipeline__table tbody tr:last-child th,
.product-pipeline__table tbody tr:last-child td {
	border-bottom: 0;
}

.product-pipeline__table tbody tr:hover th,
.product-pipeline__table tbody tr:hover td {
	background: rgba(183, 210, 255, .18);
}

.product-pipeline__table tbody td.product-pipeline__phase {
	padding-left: .125rem;
	padding-right: .125rem;
}

.product-pipeline__bar {
	border-radius: 999rem;
	display: block;
	height: 2.125rem;
	min-width: 100%;
}

.product-pipeline__phase--product-development .product-pipeline__bar {
	background: var(--color-coral);
}

.product-pipeline__phase--clinical-trials .product-pipeline__bar {
	background: var(--color-pink);
}

.product-pipeline__phase--regulatory-submission .product-pipeline__bar {
	background: var(--color-mid-blue);
}

.product-pipeline__phase--regulatory-approval .product-pipeline__bar {
	background: var(--color-teal);
}

.product-pipeline__actions {
	padding-top: 1.75rem;
}

.product-pipeline__more {
	background: transparent;
	border: .125rem solid var(--color-blue);
	border-radius: .625rem;
	color: var(--color-blue);
	cursor: pointer;
	font-family: inherit;
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	padding: .75rem 1.5rem;
	text-transform: uppercase;
	transition: background-color var(--default-transition-duration) var(--ease-out),
		color var(--default-transition-duration) var(--ease-out),
		opacity var(--default-transition-duration) var(--ease-out);
}

.product-pipeline__more:hover {
	background: var(--color-blue);
	color: var(--color-white);
}

.product-pipeline__more[hidden] {
	display: none;
}

.product-pipeline__empty {
	font-size: var(--text-lg);
}

.product-pipeline__sr-only {
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: .0625rem;
	margin: -.0625rem;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: .0625rem;
}

@media screen and (max-width: 47.9375rem) {
	.product-pipeline__intro {
		padding-bottom: 2rem;
	}

	.product-pipeline__toolbar {
		align-items: flex-start;
		flex-direction: column;
		gap: .875rem;
	}

	.product-pipeline__sort {
		align-items: flex-start;
		gap: .75rem 1rem;
	}

	.product-pipeline__sort legend {
		flex-basis: 100%;
		font-size: var(--text-xl);
		margin-bottom: .25rem;
		width: 100%;
	}

	.product-pipeline__count {
		margin-left: 0;
	}

	.product-pipeline__table {
		min-width: 64rem;
	}

	.product-pipeline__table thead th {
		font-size: var(--text-base);
		padding: .875rem .625rem;
	}

	.product-pipeline__table tbody th,
	.product-pipeline__table tbody td {
		font-size: var(--text-sm);
		padding-bottom: 1rem;
		padding-top: 1rem;
	}

	.product-pipeline__bar {
		height: 1.875rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.product-pipeline__sort input[type="radio"]::after,
	.product-pipeline__more {
		transition: none;
	}
}
