/*# sourceMappingURL=../../block-maps/tabbed-services/block.css.map */

.tabbed-services {
	position: relative;
	z-index: 10;
	padding: 3rem 0;
}

.ts-inner {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.ts-tabs {
	display: flex;
	list-style-type: none;
	padding: 0;
	flex-wrap: wrap;
	gap: .5rem;
}

.ts-tabs-wrap {
	position: relative;
	overflow-x: hidden;
	margin-bottom: 1rem;
}

.ts-tab {
	opacity: .5;
	transition: opacity 200ms;
}

.ts-tab:hover {
	opacity: 1;
}

.ts-tab.is-active {
	opacity: 1;
}

.ts-tab-link {
	background-color: var(--color-primary);
	border: 1px solid var(--color-black);
	font-size: 1.5rem;
	display: block;
	cursor: pointer;
	padding: .5rem;
	font-weight: 300;
	text-align: left;
	color: var(--color-black);
}

.ts-content {
	display: none;
	opacity: 0;
	transition: opacity 200ms;
}

.ts-content.is-active {
	display: block;
}

.ts-content.has-entered {
	opacity: 1;
}

.ts-content-description {
	line-height: 1.5;
	padding-bottom: .25rem;
	font-weight: 300;
}

.ts-content-link {
	color: var(--color-black);
	text-underline-offset: .65rem;
	text-decoration-thickness: .125rem;
	transition: -webkit-text-decoration-color 200ms;
	transition: text-decoration-color 200ms;
	transition: text-decoration-color 200ms, -webkit-text-decoration-color 200ms;
}

.ts-content-link:hover {
	-webkit-text-decoration-color: var(--color-primary);
	text-decoration-color: var(--color-primary);
}

@media screen and (min-width: 768px) {
	.tabbed-services {
		padding-bottom: 4rem;
	}
	
	.ts-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
	.ts-tabs {
		display: block;
		margin: 0 0;
		padding-right: 2rem;
		flex-wrap: nowrap;
	}
	
	.ts-tab {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: .75rem;
		padding-top: 0rem;
		border-bottom: 1px solid var(--color-black);
	}
	
	.ts-tab:not(:first-child) {
		padding-top: .75rem;
	}
	
	.ts-tab-link {
		font-size: 1.5rem;
		background-color: var(--color-transparent);
		border: none;
	}
	
	.ts-content-description {
		font-size: 1.063rem;
		padding-bottom: 1rem;
		padding-top: .05rem;
	}
}

@media screen and (min-width: 1024px) {
	.tabbed-services {
		padding-bottom: 6rem;
	}
	
	.ts-tabs {
		padding-right: 5rem;
	}
	
	.ts-tab {
		padding-bottom: 1rem;
		padding-top: 0rem;
	}
	
	.ts-tab:not(:first-child) {
		padding-top: 1rem;
	}
	
	.ts-tab-link {
		font-size: 2.15rem;
	}
}

@media screen and (min-width: 1200px) {
	.tabbed-services {
		padding-bottom: 8rem;
	}
	
	.ts-tabs {
		padding-right: 7rem;
	}
	
	.ts-tab-link {
		font-size: 2.25rem;
	}
}
