@charset "utf-8";

.page-home .frontpage-banner video {
	width:100%;
}

.page-home .frontpage-banner .item {
	display:none; /* keep container, but hide items */
	aspect-ratio: 152 / 17;
}

.page-home .frontpage-banner.frontpage-banner-active .item {
	display: -webkit-box;  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
	display: -ms-flexbox;  /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
	display:flex; /* show carousel items once loaded */
}

.page-home .frontpage-banner .item:first-child {
	display: -webkit-box;  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
	display: -ms-flexbox;  /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
	display: flex; /* always show the first image, regardless if others are loading in the slider, and for products with only one image */
}

.page-home .frontpage-banner-btn {
	/* button reset so these controls render exactly like the anchors they replaced */
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	border-radius: 15px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 15%;
	font-size: 20px;
	color: #fff;
	text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
	filter: alpha(opacity=50);
	opacity: 0;
	z-index: 10;
	transition: all 0.2s ease-out;
}

.page-home .frontpage-banner-btn,
.page-home .frontpage-banner-btn:hover,
.page-home .frontpage-banner-btn:active {
	outline: none; /* remove the outline in IE when arrow is clicked */
}

.page-home .frontpage-banner-btn:hover {
	opacity: .45;
}

.page-home .frontpage-banner-prev {
	background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .5) 0%), color-stop(rgba(0, 0, 0, .0001) 100%));
	background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
	background-repeat: repeat-x;
}

.page-home .frontpage-banner-next {
	right: 0;
	left: auto;
	border-radius: 15px;
	background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .0001) 0%), color-stop(rgba(0, 0, 0, .5) 100%));
	background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
	background-repeat: repeat-x;
}

.page-home .frontpage-banner-prev img, .page-home .frontpage-banner-next img {
	position: absolute;
	z-index: 10;
	width: 20px;
	height: 23px;
	opacity: .75;
	margin:auto;
	top: 0;
	bottom: 0;
}

.page-home .frontpage-banner-prev img {
	left:25px;
	transform: rotate(180deg);
}

.page-home .frontpage-banner-next img {
	right:25px;
}

.page-home .frontpage-banner.frontpage-banner-active {
	position: relative; /* positioning context for the absolute arrow buttons (formerly provided by Slick's .slick-slider) */
	margin-bottom: 0;
	visibility: visible;
	display: block;
}

.page-home .frontpage-banner .banner-image {
	width:100%;
	/* border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px; */
	border-radius:15px;
	aspect-ratio: 152 / 17;
}

.page-home .frontpage-banner-mobile {
	display:none !important;
}

.page-home .frontpage-banner-mobile img {
	width:100%;
	border-radius: 15px;
}

@media screen and (max-width: 767px) {
	.page-home .frontpage-banner {
		display:none;
	}

	.page-home .frontpage-banner-mobile {
		display:block !important;
	}
}


.page-home .frontpage-banner-mobile {
	display:none !important;
	margin-bottom:15px;
}

.page-home .frontpage-banner-mobile img {
	width:100%;
	border-radius: 15px;
}

@media screen and (max-width: 767px) {
	.page-home .frontpage-banner {
		display:none;
	}

	.page-home .frontpage-banner-mobile {
		display:block !important;
	}
}


@media screen and (min-width: 960px) {
	body {
		/*background: url('/static/patterns/swoop.svg') no-repeat;*/
		background-size: cover;
		background-color: #f7f9f9;
		overflow-x: hidden;
	}
}

.cofc-grid-3 {
	display: grid;
	grid-template-columns: 2fr 2fr 2fr;
	grid-column-gap: 20px;
	justify-items: stretch;
}

.cofc-grid-6 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 20px;
}

@media screen and (min-width: 960px) {
	.cofc-grid-6 {
		grid-template-columns: repeat(8, 1fr);
	}
}

.coll-quadrant {
	grid-column-gap: 10px;
	grid-row-gap: 10px;
	justify-content: center;
	align-items: stretch;
	justify-items: center;
	grid-template-columns: repeat(2, 48%);
	display: grid;
}

@media screen and (min-width: 660px) {
	.coll-quadrant {
		grid-template-columns: repeat(4, 23%);
	}
}

@media screen and (min-width: 960px) {
	.coll-quadrant {
		grid-template-columns: repeat(2, 48%);
	}
}

a.coll-quadrant--title,
.coll-quadrant--title {
	grid-column-start: 1;
	grid-column-end: 2;
	margin-bottom:7px;
	font-family: 'Work Sans';
	font-size:15px;
	font-weight: bold;
	padding:5px 10px;
	display:block;
	color:#333;
}


.coll-group,
.coll-group-feat {
	grid-column-start: span 2;
	order:5;
	background: #fff;
	border-radius:10px;
}

@media screen and (min-width: 960px) {
	.coll-group,
	.coll-group-feat {
		padding:10px 10px 15px 10px;
	}
}

@media screen and (max-width: 767px) {
	.coll-group-feat .feat-image {
		display:none;
	}
}

.coll-group-feat .feat-image img {
	border-radius: 15px;
	width:100%;
	aspect-ratio: 365 / 529;
}

.coll-group-feat a.feat-image {
	display: flex;
	align-self: center;
}

.coll-group-shop {
	grid-column-start: span 3;
}

a.coll {
	display:inline-block;
	text-decoration:none;
	color: #1F425D;
	border-radius: 15px;
}

.cofc-grid {
	border-radius: 15px;
}

@media screen and (min-width: 960px) {
	.cofc-grid {
		background-color: #EEF3FA;
		margin-top:20px;
		margin-bottom:20px;
	}
}

.cofc-grid a.coll {
	border:2px solid #F7F9F9;
	padding:15px;
	width:100%;
	margin-bottom:10px;
}

@media screen and (min-width: 767px) {
	.cofc-grid a.coll {
		border:none;
	}
}

.coll--image {
	text-align: center;
	margin-bottom:10px;
}

@media screen and (min-width: 960px) {
	.cofc-grid a.coll {
		margin-bottom:initial;
	}
}

.cofc-grid a.coll:hover .coll--title {
	text-decoration: underline;
}

.coll img {
	width:100%;
	mix-blend-mode: multiply;
	aspect-ratio: 4 / 3;
}

.coll--title {
	font-family: 'Montserrat', sans-serif;
	text-align: center;
	font-size:13px;
}

@media (min-width: 769px) {
	.coll--title {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

.coll-group-feat {
	display: grid;
	font-family: 'Montserrat', sans-serif;
	grid-column-gap: 10px;
	text-align: center;
	order:8;
	padding:20px;
	grid-column-start: span 3;
}

@media screen and (min-width: 960px) {
	.coll-group-feat {
		order:5;
		padding:0;
		grid-column-start: span 2;
	}
}

.coll-group-feat a {
	text-decoration: none;
	color: #1F425D;
}

.coll-group-feat--title {
	order:2;
	grid-column-start: span 2;
	font-size:13px;
}

@media screen and (min-width: 960px) {
	.coll-group-feat--title {
		font-size:15px;
	}
}

a.coll-group-feat--subtitle,
.coll-group-feat--subtitle {
	order:1;
	margin-bottom:4px;
	grid-column-start: span 2;
	align-self: end;
	font-size:16px;
	color:#1f3644;
	font-weight: bold;
}

.coll-group-feat--category {
	order:10;
	grid-column-start: span 2;
	text-align:left;
	margin-top:30px;
}
.coll-group-feat--image {
	order:5;
	grid-column-start: span 2;
	justify-self: center;
}

.coll-group-feat--image img {
	width:100%;
	max-width:320px;
}

.coll-group-feat--image,
.coll-group-feat--price,
.coll-group-feat--pricerule,
.coll-group-feat--saleprice {
	font-size: 20px;
	font-family:'Roboto';
}

.coll-group-feat--price {
	order:8;
	justify-self: start;
}

.coll-group-feat--saleprice {
	order:7;
	color: #15D9AE;
	text-align:right;
	justify-self: end;
	font-weight: bold;
}

.coll-group-feat--pricerule{
	text-align: center;
	color: #15D9AE;
	order:7;
	grid-column-start: span 2;
}
.coll-group-feat--pricerule .original-price{
	color: #333;
	text-align:right;
	font-weight: bold;
	font-family:'Montserrat';
	font-size:14px;
	display:inline-block;
	vertical-align: top;
	padding-top: 4px;
}

.cofc-slider {
	/* border: 2px solid #EEF3FA; */
	padding:15px;
	background: #fff;
	border-radius: 15px;
	margin-bottom:15px;
}

@media screen and (min-width: 767px) {
	.cofc-slider {
		margin-bottom:20px;
	}
}

.cofc-slider .coll img {
	width:auto;
	margin:auto;
}

.cofc-slider--title {
	font-family: 'Work Sans';
	font-size:15px;
	font-weight: bold;
}

@media screen and (min-width: 1000px) {
	.cofc-slider--title {
		margin-left:35px;
	}
}

a.cofc-slider--title {
	color: #333;
	text-decoration:none;
}

a.cofc-slider--title:hover {
	text-decoration: underline;
}

.cfeature {
	font-family: 'Montserrat', sans-serif;
}

.c-featured {
	background:transparent;
}

.cfeature--title {
	font-family: 'Montserrat', sans-serif;
	font-size:15px;
	text-align:center;
	margin-bottom:15px;
}

@media screen and (min-width: 767px) {
	.cfeature--title {
		font-size:19px;
	}
}

.cfeature--title span {
	font-weight: bold;
}

.cfeature-grid {
	border-radius: 15px;
	padding:20px;
	margin-bottom:10px;
}

.border-shadow {
	/* box-shadow removed */
}

@media (min-width: 767px) {
	.cfeature-grid {
		padding:35px;
	}
}

@media (min-width: 1200px) {
	.cfeature-grid {
		margin-bottom:20px;
	}
}

.cfeature-image {
	align-self: center;
	text-align: center;
}

@media screen and (min-width: 960px) {
	.cfeature-image {
		align-self: center;
		text-align: initial;
	}
}

.cfeature-1 {
	margin-top:20px;
	margin-bottom:15px;
}

@media screen and (min-width: 767px) {
	.cfeature-1 {
		margin-top:0;
		margin-bottom:0;
	}
}

.cfeature-1 .cfeature--title {
	color: #5759FE;
}

.cfeature-1 a.cfeature-content:hover .cfeature-content-cta {
	background: #fff;
	color: #5F64FD;
}

.cfeature-1 .cfeature-grid {
	background: #5759FE;
	background: url('https://lh3.googleusercontent.com/pS2SCA3r2C9kHjQIdw1JhCxm87KVYgCxxNOTS9rFOqmp4PvO2hLKM6xSXkq0NYMEqvOi8KLP144wpWy8dNUHnrhxuQ=s1520') no-repeat;
	background-size:cover;
}

.cfeature-2.cfeature--title {
	color: #3F4042;
}

.cfeature-2 a.cfeature-content:hover .cfeature-content-cta {
	background: #fff;
	color: #3F4043;
}

.cfeature-2 .cfeature-grid {
	background: linear-gradient(135deg, #1a2332 0%, #2a3a4f 25%, #3a4a6b 50%, #4a5a7f 75%, #5a6a9f 100%);
	padding-top:60px;
	padding-bottom:60px;
	transition: transform 0.3s ease;
}

.cfeature-2 .cfeature-image img,
.cfeature-3 .cfeature-image img,
.cfeature-4 .cfeature-image img {
	transition: transform 0.3s ease;
}

.cfeature-2 .cfeature-grid:hover .cfeature-image img,
.cfeature-3 .cfeature-grid:hover .cfeature-image img,
.cfeature-4 .cfeature-grid:hover .cfeature-image img {
	transform: scale(1.03);
}

.cfeature-2 .cfeature-image {
	align-self: center;
}

.cfeature-3 .cfeature-grid {
	background: #CFCFCF;
	background: url('https://lh3.googleusercontent.com/UOvje4X1ZLsRUj_hcPYuKIfP2T9zRineHWl2ecaY5aLDmdNnjn14GbU2H1mwi5ZttcnPDTSaDhpF1lkzOlpN4TSyH5FhDCrHR5P0hg=s1520') no-repeat;
	background-size:cover;
	padding:0;
}


.cfeature-4 .cfeature-grid {
	background: #e4724a; /* Fallback for browsers that don't support gradients */
	background: linear-gradient(to right, #e4724a, #d35a36);
	/* Alternative syntax for older webkit browsers */
	background: -webkit-linear-gradient(left, #e4724a, #d35a36);
	background: -moz-linear-gradient(left, #e4724a, #d35a36);
	padding:0;
}

.cfeature-3 .cfeature-grid {
	padding-top:60px;
	padding-bottom:60px;
	transition: transform 0.3s ease;
}

.cfeature-3 .cfeature--title {
	color: #000000;
}


.cfeature-4 .cfeature--title {
	color: #E27729;
}

.cfeature-3 .cfeature-image {
	/* align-self: flex-end; */
	align-self: center;
}

.cfeature-3 .cfeature-content {
	padding-top:20px;
	color: #000000;

}

@media screen and (min-width: 1000px) {
	.cfeature-3 .cfeature-content {
		padding-bottom:20px;
	}
}
.cfeature-3 a.cfeature-content:hover {
	color: #000000;
}

.cfeature-3 a.cfeature-content .cfeature-content-cta {
	background: #fff;
	color: #000000;
}

.cfeature-3 a.cfeature-content:hover .cfeature-content-cta {
	background: #CFCFCF;
	color: #000000;
}

.cfeature-3 .cfeature-content img {
	margin-top:20px;
	margin-bottom:18px;
	width:320px;
}

.cfeature-3 .cfeature-content-cta {
	margin-bottom:15px;
}

.cfeature-4 .cfeature-grid {
	background: #282B2F;
	background: url('https://lh3.googleusercontent.com/Alyw9TntrqYqc1I84s_vzQpHJ-dRV_EGhmtrgR4aOMSsk1pICetafBJkI-RQtq_R0BTxuvF--W51dHbR_u66MbzsqQ=s1520') no-repeat;
	background-size:cover;
}

.cfeature-4 a.cfeature-content:hover .cfeature-content-cta {
	background: #fff;
	color: #E55E24;
}

.cfeature-4 .cfeature-image {
	text-align:center;
}

.cfeature-solidworks {
	margin-top: 20px;
	margin-bottom: 15px;
}

.cfeature-solidworks .cfeature--title {
	color: #1F5C99;
}

.cfeature-solidworks .cfeature-grid {
	padding: 0;
	background: #102D4C;
	background: linear-gradient(135deg, #102D4C 0%, #1F5C99 52%, #E31B23 100%);
	overflow: hidden;
}

.cfeature-solidworks .cfeature-content {
	padding-top: 30px;
	padding-bottom: 30px;
}

.cfeature-solidworks .solidworks-landing-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 10px 0 18px;
}

.cfeature-solidworks .solidworks-landing-logos img {
	max-height: 40px;
	max-width: 190px;
	margin: 0;
	padding: 8px 10px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.95);
}

.cfeature-solidworks .solidworks-landing-plus {
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
}

.cfeature-solidworks .cfeature-image {
	height: 100%;
	text-align: center;
	overflow: hidden;
}

.cfeature-solidworks .cfeature-image img {
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.cfeature-solidworks .cfeature-grid:hover .cfeature-image img {
	transform: scale(1.03);
}

.cfeature-solidworks a.cfeature-content:hover .cfeature-content-cta {
	background: #fff;
	color: #1F5C99;
}

@media screen and (min-width: 767px) {
	.cfeature-solidworks {
		margin-top: 0;
		margin-bottom: 20px;
	}

	.cfeature-solidworks .cfeature-image img {
		min-height: 360px;
	}
}

.cfeature-5 .cfeature-grid {
	background: #282B2F;
	background: url('https://lh3.googleusercontent.com/rUYU29bkoflWT4cfsRHojPGi3_joSqOrq2PCJpCXAYvbWHDRQMgrml7cOqj3vo2Yw4GJ9WXkFeB-IVWHJFKMRqphHUc=s1520') no-repeat;
	background-size:cover;
}

.cfeature-5 a.cfeature-content:hover .cfeature-content-cta {
	background: #fff;
	color: #5DBABE;
}

@media (min-width: 400px) {
	.cfeature-product {
		display:grid;
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1200px) {
	.cfeature-product {
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-column-gap: 30px;
		padding-left:100px;
		padding-right:100px;
	}
}

.cfeature-marketing {
	color: #fff;
	display: grid;
	grid-row-gap:15px;
}

@media screen and (min-width: 767px) {
	.cfeature-marketing {
		grid-template-columns: 5fr 4fr;
	}
}

.c-marketing-text br {
	display:none;
}

@media screen and (min-width: 767px) {
	.c-marketing-text br {
		display:initial;
	}
}

.cfeature-marketing a {
	display: block;
}

.cfeature-marketing img {
	max-width:100%;
}

.cfeature-content:focus {
	color: #fff;	
}

.cfeature-content {
	width:100%;
	color: #fff;
	font-size:15px;
	font-family: 'Montserrat', sans-serif;
	padding-left: 30px;
	padding-right: 20px;
	align-self: center;
}

@media screen and (min-width: 1200px) {
	.cfeature-content {
		font-size:18px;
		padding-left: 140px;
		margin-top:15px;
		margin-bottom:15px;
		padding-left: 140px;
	}
}

a.cfeature-content:hover {
	color: #fff;
	text-decoration: none;
}

a.cfeature-content:hover .cfeature-content-cta {
	background: #fff;
	color: #5F64FD;
}

.cfeature-content img {
	display:block;
	margin: 10px 0 15px;
}

.cfeature-content-cta {
	display:inline-block;
	border:2px solid #fff;
	padding:10px 25px;
	font-size:15px;
	border-radius: 35px;
	margin-top:20px;
	transition: all 0.2s ease-out;
}

a.cfeature-cta {
	padding: 6px 40px;
	border: 2px solid #fff;
	font-weight: bold;
	display:inline-block;
	color:#fff;
	border-radius: 15px;
	text-transform: uppercase;
}

a.cfeature-cta:hover {
	background: #fff;
	color: #585CFE;
	text-decoration: none;
}

.product-single-container:active,
.products-container:active {
	outline:none;
}

.product-single-container:focus-visible,
.products-container:focus-visible {
	outline: 2px solid #007bff;
	outline-offset: 2px;
}

.cfeature-product .products-container {
	background: #fff;
}

@media screen and (min-width: 767px) {
	.cfeature-product .products-container {
		padding:15px;
	}
}

.cfeature-headline {
	color: #fff;
}

a.cfeature-followupcta {
	color: #fff;
	text-decoration: underline;
	width: 100%;
	text-align: center;
	display: block;
	margin:30px auto 10px;
	font-family: 'Montserrat', sans-serif;
}

a.cfeature-followupcta:hover {
	text-decoration:none;
}

.cofa-slider {
	background: #fff;
	margin-bottom:40px;
	display:grid;
	grid-template-columns: 32px minmax(0, 1fr) 32px;
	overflow: hidden;
}

.cofa-slider--title {
	font-family: 'Work Sans';
	font-size:15px;
	font-weight: bold;
	padding:20px;
}

.cofa--image {
	padding:10px 0;
}

.cofa--image img {
	margin:auto;
	border-radius: 15px;
	width:50px;
	height: 50px;
	object-fit: contain;
}


.cofa-single:hover img {
	border-color: #F7F9F9;
}

.cofa--title {
	padding: 10px 20px 5px 15px;
	position: relative;
	color: #333;
	font-size:13px;
	font-weight: bold;
	font-family: 'Montserrat', sans-serif;
	display: flex;
	align-items: center;
}

.cofa-single,
a.cofa-single {
	display:block;
	display: grid !important;
	grid-template-columns: 50px 1fr;
}

.cofa-single:focus,
a.cofa-single:focus {
	outline:none;
}

a.cofa-single:hover {
	text-decoration: none;
}

a.cofa-single:hover .cofa--title {
	text-decoration: underline;
}

.sfeatured {
	margin-bottom:15px;
}

.sfeatured.sfeatured-1-2 {
	display: grid;
	grid-column-gap: 15px;
	grid-row-gap:15px;
}

@media screen and (min-width: 1100px) {
	.sfeatured.sfeatured-1-2 {
		grid-template-columns: 1fr 2fr;
	}
}

.sfeatured.sfeatured-2-1 {
	display: grid;
	grid-column-gap: 15px;
}

@media screen and (min-width: 1200px) {
	.sfeatured.sfeatured-2-1 {
		grid-template-columns: 2fr 1fr;
	}
}

.center-max-1200 {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.center-max-1400 {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}

.center-max-1300 {
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}

.sfeatured.sfeatured-1-1 {
	display: grid;
	grid-column-gap: 15px;
	grid-row-gap: 20px;
	margin-top: 20px;
}

@media screen and (min-width: 1200px) {
	.sfeatured.sfeatured-1-1 {
		grid-template-columns: 1fr 1fr;
		margin-top: 30px;
	}
}


.sfeatured.sfeatured-1x3 {
	display: grid;
	grid-column-gap: 20px;;
}

@media screen and (min-width: 767px) {
	.sfeatured.sfeatured-1x3 {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

.fbox {
	width:100%;
	display: block;
	border-radius: 15px;
}

/* .fbox img {
	width:100%;
} */

.f-nozzles {
	background-color: #1E1E1E;
	background-image: url('https://lh3.googleusercontent.com/yOgUgu0-rVuyuNel7YKC-7_hYGv1psH_LTpeN93sj6TvyX2Y_jaZTw5an3XYIH2RjhXOgDVo8TZxfXxkPpBbxztsFQ');
	background-size:cover;
	background-repeat:no-repeat;
	display: grid;
	grid-template-columns: 2fr 1fr;
}

.f-10tips {
	background-color: #1E1E1E;
	background-image: url('https://lh3.googleusercontent.com/yOgUgu0-rVuyuNel7YKC-7_hYGv1psH_LTpeN93sj6TvyX2Y_jaZTw5an3XYIH2RjhXOgDVo8TZxfXxkPpBbxztsFQ');
	background-size:cover;
	background-repeat:no-repeat;
	display: grid;
	grid-template-columns: 2fr 1fr;
}

.fbox.f-10tips  {
	display:grid;
	grid-template-columns: 2fr 1fr;
}

@media screen and (min-width: 767px) {
	.fbox.f-10tips {
		padding:30px 45px;
	}
}

.f-nylonx {
	background-color: #1E1E1E;
	background-image: url('https://lh3.googleusercontent.com/hAaqkxVsX-a6CXJK7fD8u6nkcc3ZWapbIJ2wxQA3gklA3TncvMn2f3mJsOuE8SpfEYpUFNf2VoyYygIl2aOTIDA');
	background-size:cover;
	background-repeat:no-repeat;
	display: grid;
	grid-template-columns: 2fr 1fr;
}

@media screen and (min-width: 767px) {
	.f-nylonx {
		flex-direction: row;
	}
}

.f-nylonx .grid-1 img,
.f-nylonx .grid-2 img {
	width:100%;
}

.f-nylonx picture {
	display:block;
}

@media screen and (min-width: 767px) {
	.f-nylonx picture {
		text-align: initial;
	}
}

.f-nylonx .f-nylonx-logo {
	padding:20px;
	align-self:center;
}

@media screen and (min-width: 767px) {
	.f-nylonx .f-nylonx-logo {
		padding-left:35px;
		padding-top:30px;
	}
}

.f-nylonx-logo img {
	display:block;
	max-width:240px;
}

.f-nylonx-image {
	align-self:flex-end;
}

.f-nylonx-image img {
	width: 100%;
	border-bottom-right-radius: 35px;
}

.f-nylonx .f-cta {
	border-color: #fff;
	color: #fff;
}

.f-nylonx:hover .f-cta {
	background-color: #fff;
	color: #333;
}

.fbox.f-cnc-milling {
	display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (min-width: 767px) {
	.fbox.f-cnc-milling {
		padding:30px 45px;
	}
}

.fbox.f-cnc-milling picture {
	display: block;
}

.f-cnc-milling .grid-1 img,
.f-cnc-milling .grid-2 img {
	max-width:100%;
	display:block;
}

.f-cnc-milling .f-cta {
	border-color: #7B5935;
	color: #99764E;
}

.f-cnc-milling:hover .f-cta {
	background: #7B5935;
	color: #fff;
}


.fbox.f-gift-cards {
	align-items: center;
	/* border: 2px solid #EEF3FA; */
	border-radius: 15px;
	padding:15px 20px;
	display:grid;
	grid-column-gap: 20px;
	grid-row-gap: 20px;
	grid-template-columns: 3fr 1fr;
}

@media screen and (min-width: 767px) {
	.fbox.f-gift-cards {
		background-color: #EEF3FA;
		padding:35px 30px;
		grid-template-columns: 2fr 1fr;
	}
}

.f-gift-cards .f-cta {
	border-color: #3EDF86;
	color: #3EDF86;
}

.f-gift-cards:hover .f-cta {
	background-color: #3EDF86;
	color: #fff;
}

.fbox.f-gift-cards picture {
	display: flex;
}

.f-gift-cards .grid-1 img {
	display:block;
	width:100%;
	max-width: 300px;
}

.f-gift-cards .grid-2 img {
	width:100%;
}

.fbox.slot-2 {
	order: 2;
}

.sfeatured--brand {
	width:100%;
	margin: 0 20px;
}

.f-applications-list {
	padding-left:20px;
	padding-right:20px;
	display:grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 40px;
	grid-row-gap:15px;
}

@media screen and (min-width: 1200px) {
	.f-applications-list {
		padding-left:45px;
		padding-right:45px;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-column-gap: 60px;
	}
}

.f-applications .cofc-slider--title {
	text-align: center;
}

.f-brands .cofc-slider--title {
	text-align: center;
	width:100%;
}

.f-applications-list a {
	color: #333;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-size:13px;
}

.f-applications-list img {
	max-width: 155px;
	margin:auto;
	display:block;
	width:100%;
	margin-bottom:10px;
}

.f-filament-comparison-guide {
	padding-top:25px;
	padding-bottom:25px;
	display:flex;
	justify-content: center;
	align-items: center;
	flex-wrap:wrap;
	align-content: center;

	background-color: #3498DB;
	background-image: url('https://lh3.googleusercontent.com/iHpskOB9z5PfALCVw4AL1g6EWS1rpi81AYiZHT5lJ4zkgoiMj3TzRpz8E322CMlnWfbeJX0jb2uIH6-YyZm7BfaJVQ');
	background-repeat:no-repeat;
	background-size: cover;
	background-position: center center;
}


.f-filament-comparison-guide picture {
	display: block;
	width:100%;
	text-align: center;
}

.f-filament-comparison-guide .f-cta {
	display:inline-block;
	background-color: #3498DB;
	border-color:#fff;
	color: #fff;
}

a.f-filament-comparison-guide:hover {
	text-decoration:none;
}

.f-filament-comparison-guide:hover .f-cta {
	background-color:#fff;
	color: #3498DB;
	text-decoration: none;;

}

.f-support {
	background-color: #fff;
	background-size: 268px;
	background-repeat: no-repeat;
	background-position: bottom right;
	/* border: 2px solid #EEF3FA; */
	border-radius: 15px;
	display:grid;
	grid-column-gap: 20px;
	grid-row-gap: 5px;
	text-align: center;
}

@media screen and (min-width: 767px) {
	.f-support {
		grid-template-columns: 1fr 1fr;
		text-align: left;
	}
}

.f-support .grid-1 {
	padding:35px 30px;
}

.f-support .grid-2 {
	display:grid;
	justify-content: right;
}

.f-support .grid-2 picture {
	align-self: flex-end;
	align-content: center;
}

.f-support picture {
	display: block;
}

.f-brands .cofc-slider {
	height: 100%;
	margin-bottom:0;
	display: flex;
	flex-wrap: wrap;
}

/* The scroller sits alongside .cofc-slider--title in the wrapping flex row; give it
   an explicit full-width basis so it reliably takes its own row rather than relying
   on its content forcing the wrap. */
.page-home .f-brands .mh--carousel-scroller {
	flex-basis: 100%;
}

.fbox.f-rewards {
	display:grid;
	grid-template-columns: 2fr 1fr;
}

@media screen and (min-width: 767px) {
	.fbox.f-rewards {
		grid-template-columns: 1fr 225px;
	}
}

.f-rewards {
	background-image: url('https://lh3.googleusercontent.com/J10U0PaE0E73hCIPeGRB6LwOgrwfQG0HXHzTU_mqTCllRdH4icVn8sfr4yX3J39Iq13NsS7nUvab8arBM4i9FjtEUZ4=s880');
	background-size:cover;
	background-position: center center;
	background-repeat:no-repeat;
	align-content: center;
	padding:15px;
}

@media screen and (min-width: 767px) {
	.f-rewards {
		padding:35px 50px;
	}
}

.f-rewards img {
	max-width:100%;
	display: block;
	max-height: 215px;
}

.f-rewards picture {
	display:block;
	width:100%;
}

.f-rewards .grid-1 {
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.f-rewards .f-cta {
	background-color: #0C5CE6;
	color: #fff;
	display:inline-block;
}

a.f-rewards:hover {
	text-decoration: none;
}

a.f-rewards:hover .f-cta {
	color: #0C5CE6;
	background-color: #fff;
	border-color: #fff;
}

a.f-support .f-cta {
	border-color:  #1B2730;
	color: #333;
}

.f-support:hover .f-cta {
	background: #1B2730;
	color: #fff;
}

.f-applications img {
	border-radius:30px;
	transition: all 0.2s ease-out;
	aspect-ratio: 1 / 1;
}

.f-applications img:hover {
	transform: scale(1.05);
}

/* Applications scroll layout (matching Trusted by professionals style) */
.applications-scroll-container {
	position: relative;
	align-content: center;
	display: flex;
	justify-content: center;
}

.applications-scroll-content {
	display: flex;
	gap: 15px;
	overflow-x: auto;
	scroll-behavior: smooth;
	padding: 10px 0;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	justify-content: center;
}

.applications-scroll-content::-webkit-scrollbar {
	display: none;
}

@media screen and (min-width: 767px) {
	.applications-scroll-content {
		gap: 20px;
		padding: 15px 0;
	}
}

.application-card {
	position: relative;
	flex: 0 0 180px;
	border-radius: 15px;
	overflow: hidden;
	background: #000;
	transition: transform 0.3s ease;
	cursor: pointer;
	text-decoration: none;
	height: 200px;
}

.application-card:hover {
	transform: translateY(-3px);
}

.application-card .card-image {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.application-card .card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.application-card:hover .card-image img {
	transform: scale(1.05);
}

.application-card .card-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.85));
	color: white;
	padding: 30px 15px 15px;
	transform: translateY(0);
	transition: transform 0.3s ease;
}

@media screen and (min-width: 767px) {
	.application-card .card-overlay {
		padding: 35px 20px 20px;
	}
}

.application-card .card-author {
	border-top: none;
	padding-top: 0;
	position: relative;
}

.application-card .author-name {
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 0;
	line-height: 1.3;
}

@media screen and (min-width: 767px) {
	.application-card .author-name {
		font-size: 15px;
	}
}

/* Arrow for application cards */
.application-arrow {
	position: absolute;
	right: 20px;
	bottom: 20px;
	font-size: 20px;
	font-weight: bold;
	color: white;
	opacity: 0;
	transform: translateX(20px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.application-card:hover .application-arrow {
	opacity: 1;
	transform: translateX(0);
}

.cofc-icons {
	display: grid;
	justify-content: center;
	margin:20px 0;
}

.cofc-icons .cofc-icons-group {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 8px;
	grid-row-gap: 15px;
	text-align: center;
}

@media (min-width: 450px) {
	.cofc-icons .cofc-icons-group {
		grid-template-columns: repeat(3, 130px);
	}
}

@media (min-width: 767px) {
	.cofc-icons .cofc-icons-group {
		grid-template-columns: repeat(4, 130px);
	}
}

@media (min-width: 1100px) {
	.cofc-icons .cofc-icons-group {
		grid-template-columns: repeat(8, 1fr);
	}
}

@media (min-width: 1500px) {
	.cofc-icons .cofc-icons-group {
		grid-template-columns: repeat(8, 130px);
	}
}

.cofc-icons a {
	text-align: center;
	display:grid;
	transition: all 0.2s ease-out;
	justify-content: center;
	grid-template-rows: 80px 1fr;
}

.cofc-icons a:hover {
	transform: scale(1.05);
}

.cofc-icons-img {
	text-align: center;
	grid-row-start: 1;
	grid-row-end: 2;
	justify-content: center;
	display:flex;
}

.cofc-icons a .cofc-icons-label {
	grid-row-start: 2;
	grid-row-end: 3;
	padding-top:2px;
	color: #333;
	font-family:'Montserrat';
}

.cofc-icons a:hover .cofc-icons-label {
	text-decoration:none;
	color: #287FB8;
}

.cofc-icons img {
	max-width:100%;
	max-height:100%;
	justify-self: center;
	align-self: center;
}

.cofc-icon-printer img {
	max-width: 40px;
}

.cofc-icon-materials img {
	max-width: 28px;
}

.cofc-icon-proseries img {
	max-width: 80px;
}

.cofc-icon-mhbuild img {
	max-width: 40px;
}

.cofc-icon-manufacturing img {
	max-width: 43px;
}

.cofc-icon-upgrades img {
	max-width: 48px;
}

.cofc-icon-mc img {
	max-width: 44px;
}

.cofc-icon-deals img {
	max-width: 38px;
}

/* helpers */

.product-hover img {
	backface-visibility: hidden;
	opacity: 1;
	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
}

.product-hover:hover img {
	opacity:0.7;
	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
}

.mb-40 {
	margin-bottom:40px;
}

.f-border {
	/* border: 2px solid #EEF3FA; */
	padding: 15px;
	background: #fff;
	border-radius: 15px;
}

.f-cta {
	display: inline-block;
	font-family: 'Montserrat', sans-serif;
	padding: 10px 25px;
	font-size: 15px;
	border-radius: 35px;
	margin-top: 20px;
	border: 2px solid transparent;
	transition: all 0.2s ease-out;
}

a.f-cta {
	text-decoration: none;
}

a.f-cta:hover {
	text-decoration: none;
}

.csplsh {
	display: grid;
	grid-template-columns: 1fr;
	grid-column-gap: 20px;
	align-content: space-around;
	justify-items: start;
	align-items: center;
}

@media (min-width: 767px) {
	.csplsh {
		grid-template-columns: 1fr 1fr;
	}
}

.csplsh--title {
	width:100%;
}

.csplsh--title a {
	display:grid;
}

.csplsh--title a:hover {
	text-decoration: none;
}

.csplsh--title picture {
	grid-column-start: 1;
	grid-row-start:1;
}

.csplsh--title img {
	width: 100%;
	border-radius: 15px;
	object-fit: cover;
}

.csplsh--title-text-prefix {
	font-weight:normal;
	text-transform: uppercase;
}

.csplsh--title-text-name {
	font-size:30px;
	font-weight: bold;
}

.csplsh--title-text {
	justify-items: baseline;
	align-content: end;
	color: #fff;
	grid-column-start: 1;
	grid-row-start:1;
	z-index:1;
	background: linear-gradient(rgb(0 0 0 / 0%), rgb(0 0 0 / 64%));
	padding: 25px 35px;
	display: grid;
	/* justify-content: flex-end; */
	align-items: flex-end;
	border-radius: 15px;
}

/* scroll mechanics come from the shared .page-home .mh--carousel-track rule;
   this only keeps the splash-specific wider gap between product widgets */
.page-home .mh--carousel-track.csplsh--products {
	gap: 15px;
}

.csplsh--products .products-container {
	grid-auto-rows: unset;
	scroll-snap-align: start;
}

/* covid-19 */

/* sitewide banner */
.announcement-banner {
	z-index: 101;
	display: block !important;
	z-index:10;
	font-family:'Roboto';
	left:0;
	right:0;
	text-align: center;
	/* box-shadow removed */
	background: #0059FF url('https://lh3.googleusercontent.com/xrXD4I-njNsJqNSdWO82QLbgN5eKofLxad5voj2_DEGTxa8iHXKoBJch0KdW-HMWVcw3B1E3bA_8968QJmk7pdpBAw=s1200') repeat-x 0 0;
	background-size:cover;
}

@media (min-width: 768px) {
	.announcement-banner {
		background-size:auto;
		top:30px;
		min-height:50px;
		margin-top: 30px;
		display: flex !important;         /* NEW, Spec - Firefox, Chrome, Opera */
		display: -webkit-box;  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
		display: -ms-flexbox;  /* TWEENER - IE 10 */
		display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
		justify-content: center;
		align-content: center;
		align-items: center;
		z-index: 101;
	}
}

/* Home page override for widgets */

.page-home .product-desc,
.page-home .product-rating,
.page-home .product-cta,
.page-home .product-price {
	display: none;
}

.page-home.feature-pw2022a .products-container .product-single-container {
	background-color: #fff;
}

/* MH Carousel
   CSS scroll-snap strip shell ported from the collection page's carousel
   (.mh--carousel-* in public-collections.css), scoped under
   .page-home. The JS engine (initMhCarousels in public-scripts.js)
   handles drag, snap, arrow scrolling, and overflow detection. Card-sizing
   rules below are scoped to the carousel's direct children so they only affect
   the product widgets, brand logos, and dark-carousel cards inside a strip. */
.page-home .mh--carousel-scroller {
	display: flex;
	align-items: center;
	margin: 0 0 20px 0;
	min-width: 0;
	max-width: 100%;
}

.page-home .mh--carousel-track {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	gap: 10px;
	padding: 2px 0; /* breathing room so the overflow container never clips card borders */
	width: 100%;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
	scroll-padding-left: 2px;
	scroll-behavior: smooth;
	scrollbar-width: none;
	cursor: grab;
	min-width: 0;
}

/* active mouse drag: snap + smooth would fight direct scrollLeft writes, so
   both turn off for the duration; releasing re-snaps to the nearest card */
.page-home .mh--carousel-track.mh--carousel-dragging {
	scroll-snap-type: none;
	scroll-behavior: auto;
	cursor: grabbing;
	-webkit-user-select: none;
	user-select: none;
}

/* One-at-a-time carousel modifier: the strip snaps firmly to exactly one card.
   Any carousel that needs this mode just adds .mh--carousel-track--single (plus
   full-width children); no page-specific scoping required. */
.page-home .mh--carousel-track--single {
	scroll-snap-type: x mandatory;
}

/* Must win while actively dragging, or the drag fights the snap and scrollLeft
   writes feel like they jump straight to the next card instead of tracking the
   pointer. One more class than the rule above, so it wins by specificity alone. */
.page-home .mh--carousel-track--single.mh--carousel-dragging {
	scroll-snap-type: none;
}

.page-home .mh--carousel-track::-webkit-scrollbar {
	display: none;
}

.page-home .mh--carousel-arrow {
	align-self: stretch;
	background-color: #e2e2e2;
	padding: 2px 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border-radius: 2px;
	border: none;
}

.page-home .mh--carousel-arrow svg {
	stroke: #4a4a4a;
	color: #4a4a4a;
}

.page-home .mh--carousel-arrow-prev {
	margin-right: 2px;
}

.page-home .mh--carousel-arrow-next {
	margin-left: 2px;
}

.page-home .mh--carousel-arrow:not(.mh--carousel-arrow-disabled):hover,
.page-home .mh--carousel-arrow:not(.mh--carousel-arrow-disabled):active {
	background: #EEF3FA;
}

.page-home .mh--carousel-arrow.mh--carousel-arrow-disabled {
	opacity: 0.3;
}

.page-home .mh--carousel-arrow.mh--carousel-arrow-hidden {
	display: none;
}

.page-home .mh--carousel-track:empty {
	display: none;
}

/* Product widgets: match the site's product grid column width
   (public.css .products-container repeat(auto-fill, 270px)) for visual parity. */
.page-home .mh--carousel-track > .products-container {
	flex-shrink: 0;
	flex-grow: 0;
	scroll-snap-align: start;
	width: 270px;
}

/* Article widgets: bare per-article wrapper (.mh--carousel-article-item)
   holds an a.cofa-single grid card (50px thumb + title/desc); give it a fixed width so
   it snaps instead of squishing to min-content in the nowrap flex row. */
.page-home .mh--carousel-track > .mh--carousel-article-item {
	flex-shrink: 0;
	flex-grow: 0;
	scroll-snap-align: start;
	width: 300px;
}

/* Brand logos: compact logo tile; gap handles spacing so the base 0 20px margin
   is reset. Width echoes the f-applications-list img max-width (155px). */
.page-home .mh--carousel-track > .sfeatured--brand {
	flex-shrink: 0;
	flex-grow: 0;
	scroll-snap-align: start;
	width: 190px;
	padding: 0 20px;
	margin: 0;
}

/* These logo <img> tags have no width/height attributes and previously relied on
   Slick's generic ".slick-slide img { max-width:100% }" fallback (public-plugins.css)
   to fit their slide; now that Slick markup is gone, size them explicitly instead. */
.page-home .mh--carousel-track > .sfeatured--brand img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Brand logos have widely varying intrinsic heights/aspect ratios; the shared
   carousel base rule has no align-items (flex default stretch). Scope center
   alignment to the brands carousel only so each logo sits on a common vertical
   baseline without affecting other carousels' alignment. */
.page-home .f-brands .mh--carousel-track {
	align-items: center;
}

/* Dark "What's New" carousel cards in one-at-a-time mode: each card fills the
   full scroller width so the strip snaps firmly to exactly one card. Internal
   card markup rules are unchanged. */
.page-home .mh--carousel-track--single > .dark-carousel-card {
	flex: 0 0 100%;
	width: 100%;
	max-width: none;
	scroll-snap-align: start;
}

/* Pagination dots below the dark carousel (one-at-a-time slider). */
.page-home .mh--carousel-pagination {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 20px;
}

.page-home .mh--carousel-pagination-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: none;
	background: rgba(0, 0, 0, 0.3);
	cursor: pointer;
	padding: 0;
	transition: background 0.2s ease;
}

.page-home .mh--carousel-pagination-dot:hover,
.page-home .mh--carousel-pagination-dot:focus {
	background: rgba(0, 0, 0, 0.5);
}

.page-home .mh--carousel-pagination-dot.mh--carousel-pagination-dot-active {
	background: #1d1d1d;
}

/* banner */

/*.nav {*/
/*	padding-top:0;*/
/*}*/

/*.announcement-banner .bn-image,*/
/*.announcement-banner .bn-subtitle,*/
/*.announcement-banner .bn-title {*/
/*	display:inline-block;*/
/*	margin:0 4px;*/
/*}*/

/*.announcement-banner .bn-message {*/
/*	color: #ffffff;*/
/*	display: flex;*/
/*	align-items: center;*/
/*	justify-content: center;*/
/*}*/

/*.announcement-banner .bn-subtitle {*/
/*	color: #f0f9ff;*/
/*	font-size:12px;*/
/*}*/

/*@media (min-width: 900px) {*/
/*	.announcement-banner .bn-subtitle {*/
/*		font-size:14px;*/
/*		margin-right:10px;*/
/*	}*/
/*}*/

/*.announcement-banner .bn-image {*/
/*	margin-right:10px;*/
/*}*/

/*.announcement-banner .bn-image img {*/
/*	transition: all .1s ease-in-out;*/
/*	transform: scale(0.8);*/
/*}*/

/*.announcement-banner .bn-image img:hover {*/
/*	transform: scale(1);*/
/*}*/

/*.announcement-banner .bn-title {*/
/*	font-family: 'Montserrat';*/
/*	color:#fff;*/
/*	text-transform:uppercase;*/
/*	font-size:17px;*/
/*	letter-spacing:0.1em;*/
/*	margin:4px 0 0 0;*/
/*}*/

/*@media (min-width: 768px) {*/
/*	.announcement-banner .bn-title {*/
/*		margin:6px 3px;*/
/*	}*/
/*}*/

/*.announcement-banner .bn-btn {*/
/*	font-family: 'Montserrat';*/
/*	display: inline-block;*/
/*	margin: 5px auto 10px;*/
/*	border-radius: 15px;*/
/*	color: #295DBD;*/
/*	background: #fff;*/
/*	border: 2px solid #fff;*/
/*	padding: 3px 6px;*/
/*	font-size: 13px;*/
/*	transition: all .2s ease-in-out;*/
/*	text-transform:uppercase;*/
/*}*/

/*@media (min-width: 768px) {*/
/*	.announcement-banner .bn-btn {*/
/*		margin: -4px 0 0 0;*/
/*		padding: 2px 8px;*/
/*	}*/
/*}*/

/*.announcement-banner .bn-cta:hover .bn-btn {*/
/*	color: #fff;*/
/*	border-color: #fff;*/
/*	background: transparent;*/
/*}*/

.special-announcemnt {
	text-align: center;
	padding:5px 10px;
	font-size:12px;
	background-color: #bee2ff;
	color: #2a3d4d;
	border-radius: 15px;
}

/* Reusable Tabbed Section Component */
.tabbed-section {
	margin: 60px 0;
	padding: 0 20px;
	transition: background-color 0.3s ease;
}

/* Background Theme Variations for Tabbed Section */
.tabbed-section.theme-light {
	background-color: #f8f9fa;
	padding: 40px 20px;
	border-radius: 15px;
}

.tabbed-section.theme-dark {
	background-color: #1a1a1a;
	color: white;
	padding: 40px 20px;
	border-radius: 15px;
}

.tabbed-section.theme-primary {
	background-color: #1A89D8;
	color: white;
	padding: 40px 20px;
	border-radius: 15px;
}

.tabbed-section.theme-gradient {
	background: linear-gradient(135deg, #1A89D8 0%, #146BA0 100%);
	color: white;
	padding: 40px 20px;
	border-radius: 15px;
}

.tabbed-section-header {
	text-align: center;
	margin-bottom: 25px;
}

.tabbed-section-header h2 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #333;
	margin: 0;
}

@media screen and (min-width: 767px) {
	.tabbed-section-header h2 {
		font-size: 19px;
	}
	
	.tabbed-section.theme-light,
	.tabbed-section.theme-dark,
	.tabbed-section.theme-primary,
	.tabbed-section.theme-gradient {
		padding: 35px;
	}
	
	.tabbed-section-header {
		margin-bottom: 30px;
	}
}

/* Tab Navigation */
.tab-nav {
	display: flex;
	justify-content: center;
	border-bottom: 2px solid #e0e0e0;
	margin-bottom: 25px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.tab-button {
	background: none;
	border: none;
	padding: 10px 15px;
	margin: 0 5px;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #666;
	cursor: pointer;
	position: relative;
	white-space: nowrap;
	transition: all 0.3s ease;
	border-bottom: 3px solid transparent;
}

@media screen and (min-width: 767px) {
	.tab-nav {
		margin-bottom: 30px;
	}
	
	.tab-button {
		font-size: 14px;
		padding: 15px 20px;
		margin: 0 10px;
	}
}

.tab-button:hover {
	color: #333;
}

.tab-button.active {
	color: #1A89D8;
	border-bottom-color: #1A89D8;
}

.tab-button:focus {
	outline: none;
	color: #333;
}

/* Tab Content */
.tab-content {
	position: relative;
}

.tab-panel {
	display: none;
	animation: fadeIn 0.3s ease-in-out;
}

.tab-panel.active {
	display: block;
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Content Layout - Two Column Structure */
.content-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
}

@media screen and (min-width: 767px) {
	.content-layout {
		grid-template-columns: 2fr 1fr;
		gap: 30px;
		align-items: center;
	}
}

.content-description h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: bold;
	color: #333;
	margin: 0 0 15px 0;
}

@media screen and (min-width: 767px) {
	.content-description h3 {
		font-size: 22px;
	}
}

.content-description p {
	font-size: 14px;
	line-height: 1.5;
	color: #555;
	margin-bottom: 15px;
}

@media screen and (min-width: 767px) {
	.content-description p {
		font-size: 16px;
	}
}

.content-description ul {
	list-style: none;
	padding: 0;
	margin: 0 0 20px 0;
}

.content-description li {
	font-size: 13px;
	color: #666;
	margin-bottom: 6px;
	padding-left: 0;
}

@media screen and (min-width: 767px) {
	.content-description li {
		font-size: 14px;
		margin-bottom: 8px;
	}
}

.content-cta {
	display: inline-block;
	background: #1A89D8;
	color: white;
	padding: 12px 30px;
	border-radius: 35px;
	text-decoration: none;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 14px;
	transition: all 0.3s ease;
}

@media screen and (min-width: 767px) {
	.content-cta {
		font-size: 16px;
	}
}

.content-cta:hover {
	background: #146BA0;
	transform: translateY(-1px);
	text-decoration: none;
	color: white;
}

.content-image {
	text-align: center;
}

.content-image img {
	width: 100%;
	max-width: 400px;
	height: auto;
	border-radius: 15px;
	/* box-shadow removed */
	transition: transform 0.3s ease;
}

.content-image img:hover {
	transform: scale(1.02);
}

/* Mobile Responsive Adjustments */
@media screen and (max-width: 766px) {
	.tabbed-section {
		margin: 40px 0;
		padding: 0 15px;
	}
	
	.tab-nav {
		margin-bottom: 30px;
	}
	
	.tab-button {
		min-width: 120px;
	}
	
	.content-layout {
		gap: 20px;
	}
}

/* Manufacturing Services Three Column Layout */
.manufacturing-services-section {
	margin: 60px 0;
	padding: 0 20px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.manufacturing-services-header {
	text-align: center;
	margin-bottom: 25px;
}

.manufacturing-services-header h2 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #333;
	margin: 0;
}


.manufacturing-services-nav {
	display: flex;
	justify-content: center;
	border-bottom: 2px solid #e0e0e0;
	margin-bottom: 35px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 767px) {
	.manufacturing-services-nav {
		margin-bottom: 45px;
	}
}

.service-tab {
	background: none;
	border: none;
	padding: 15px 20px;
	margin: 0 10px;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #666;
	cursor: pointer;
	position: relative;
	white-space: nowrap;
	transition: all 0.3s ease;
	border-bottom: 3px solid transparent;
}

@media screen and (min-width: 767px) {
	.service-tab {
		font-size: 14px;
		padding: 18px 25px;
		margin: 0 15px;
	}
}

.service-tab:hover {
	color: #333;
}

.service-tab.active {
	color: #1A89D8;
	border-bottom-color: #1A89D8;
}

.manufacturing-services-content {
	position: relative;
}

.service-fade-in {
    opacity: 0;
    animation: serviceFadeIn 350ms ease forwards;
}

@keyframes serviceFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.service-main-content {
	display: grid;
	grid-template-columns: 1fr;
	gap: 25px;
	margin-bottom: 40px;
}

@media screen and (min-width: 960px) {
	.service-main-content {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 35px;
		align-items: start;
		margin-bottom: 50px;
	}
}

@media screen and (min-width: 767px) and (max-width: 959px) {
	.service-main-content {
		grid-template-columns: 1fr 1fr;
		gap: 30px;
		align-items: start;
		margin-bottom: 45px;
	}
	
	.service-image {
		grid-column: 1 / -1;
		margin-top: 20px;
	}
}

.service-title-cta h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: bold;
	color: #333;
	margin: 0 0 15px 0;
}

@media screen and (min-width: 767px) {
	.service-title-cta h3 {
		font-size: 26px;
	}
}

.service-title-cta p {
	font-family: 'Work Sans', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: #555;
	margin-bottom: 25px;
}

@media screen and (min-width: 767px) {
	.service-title-cta p {
		font-size: 16px;
		margin-bottom: 30px;
	}
}

.service-features {
	display: flex;
	align-items: center;
	justify-content: center;
}

.service-features ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.service-features li {
	font-family: 'Work Sans', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #555;
	margin-bottom: 12px;
	padding-left: 0;
	line-height: 1.5;
}

@media screen and (min-width: 767px) {
	.service-features li {
		font-size: 15px;
		margin-bottom: 15px;
		line-height: 1.6;
	}
}

.service-cta {
	display: inline-block;
	background: #1A89D8;
	color: white;
	padding: 10px 25px;
	border-radius: 35px;
	text-decoration: none;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 14px;
	transition: all 0.3s ease;
	border: 2px solid #1A89D8;
}

.service-cta:hover {
	background: transparent;
	color: #1A89D8;
	text-decoration: none;
	transform: translateY(-1px);
}

.service-image {
	text-align: center;
}

.service-image img {
	width: 100%;
	max-width: 350px;
	height: auto;
	border-radius: 15px;
	/* box-shadow removed */
	transition: transform 0.3s ease;
}

@media screen and (min-width: 767px) {
	.service-image img {
		max-width: 400px;
	}
}

.service-image img:hover {
	transform: scale(1.02);
}



@media screen and (max-width: 766px) {
	.manufacturing-services-section {
		margin: 40px 0;
		padding: 0 15px;
	}
	
	.manufacturing-services-nav {
		margin-bottom: 30px;
	}
	
	.service-tab {
		min-width: 120px;
		font-size: 12px;
		padding: 12px 15px;
	}
	
	.service-main-content {
		gap: 20px;
		margin-bottom: 30px;
	}
	
	.service-features-grid {
		gap: 20px;
		padding-top: 25px;
	}
}

/* Horizontal Scrolling Section Component */
.scroll-section {
	margin: 40px 0;
	padding: 0 50px;
	overflow: hidden;
}

.scroll-section-header {
	text-align: center;
}

.scroll-section-header h2 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #333;
	margin: 0;
}

@media screen and (min-width: 767px) {
	.scroll-section {
		margin: 35px 0;
		padding: 0 60px;
	}
	
	.scroll-section-header {
		margin-bottom: 30px;
	}
	
	.scroll-section-header h2 {
		font-size: 19px;
	}
}

.scroll-container {
	position: relative;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 35px;
}

.scroll-wrapper {
	position: relative;
	overflow: hidden;
	border-radius: 15px;
}

.scroll-content {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-behavior: smooth;
	padding: 20px 0;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.scroll-content::-webkit-scrollbar {
	display: none;
}

@media screen and (min-width: 767px) {
	.scroll-content {
		/* gap: 30px;
		padding: 30px 0; */
		display: flex; /* Adding this to prevent empty ruleset */
	}
}

/* Scroll Cards */
.scroll-card {
	position: relative;
	flex: 0 0 260px;
	border-radius: 20px;
	overflow: hidden;
	background: #000;
	transition: transform 0.3s ease;
	cursor: pointer;
}


.scroll-card:hover {
	transform: translateY(-5px);
}

.card-image {
	position: relative;
	width: 100%;
	height: 300px;
	overflow: hidden;
}

@media screen and (min-width: 767px) {
	.card-image {
		height: 400px;
	}
}

.card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.scroll-card:hover .card-image img {
	transform: scale(1.05);
}

.card-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.9));
	color: white;
	padding: 40px 25px 25px;
	transform: translateY(0);
	transition: transform 0.3s ease;
}

@media screen and (min-width: 767px) {
	.card-overlay {
		padding: 50px 30px 30px;
	}
}

.card-quote {
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 20px;
	font-weight: 400;
	opacity: 0.95;
}

@media screen and (min-width: 767px) {
	.card-quote {
		font-size: 18px;
		line-height: 1.6;
		margin-bottom: 25px;
	}
}

.card-author {
	/* border-top: 1px solid rgba(255, 255, 255, 0.2); */
	padding-top: 15px;
}

.author-name {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 5px;
}

@media screen and (min-width: 767px) {
	.author-name {
		font-size: 18px;
	}
}

.author-title {
	font-size: 14px;
	opacity: 0.8;
	line-height: 1.4;
}

@media screen and (min-width: 767px) {
	.author-title {
		font-size: 15px;
	}
}

.company {
	color: #1A89D8;
	font-weight: 500;
}

/* Navigation Arrows */
.scroll-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: white;
	border: none;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 10;
	color: #333;
}

@media screen and (min-width: 767px) {
	.scroll-nav {
		width: 60px;
		height: 60px;
	}
}

.scroll-nav:hover {
	background: #1A89D8;
	color: white;
	transform: translateY(-50%) scale(1.1);
}

.scroll-nav:focus {
	outline: none;
}

.scroll-nav-prev {
	left: -25px;
}

.scroll-nav-next {
	right: -25px;
}

@media screen and (min-width: 767px) {
	.scroll-container {
		padding: 0 40px;
	}
	
	.scroll-nav-prev {
		left: -30px;
	}
	
	.scroll-nav-next {
		right: -30px;
	}
}

/* Hide navigation on very small screens */
@media screen and (max-width: 500px) {
	.scroll-nav {
		display: none;
	}
}

/* Mobile adjustments */
@media screen and (max-width: 766px) {
	.scroll-section {
		margin: 40px 0;
		padding: 0 15px;
	}
	
	.scroll-section-header {
		margin-bottom: 30px;
	}
	
	.scroll-card {
		flex: 0 0 280px;
	}
	
	.card-image {
		height: 250px;
	}
}

/* Dark Full-Width Carousel Section */
.dark-carousel-section {
	/* background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%); */
	color: #ffffff;
	padding: 40px 20px;
	margin-bottom: 40px;
	position: relative;
	border-radius:15px;
}

.dark-carousel-filament {
	/* background-image: url(https://lh3.googleusercontent.com/3lsSca_F3w-bfeCzkKHx2PglM-68-PhKRPoDa61zTfT4j4si9xtZyRApTDJ39s6YkFZGnKNu34kU0I6XmHw1Jl6T83KgJpIA4HAb8BR_=s400); */
    background-size: contain;
    background-repeat: no-repeat;
    /* background-color: #0F08CD; */
    background-position: bottom right;
	background-color: #FFFFFF;
}

.dark-carousel-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/* background: radial-gradient(ellipse at center, rgba(255,255,255,0.05) 0%, transparent 70%); */
	pointer-events: none;
}

.dark-carousel-header {
	text-align: center;
	margin-bottom: 25px;
	position: relative;
	z-index: 2;
}

.dark-carousel-header .cfeature--title {
	color: #333;
}

@media screen and (min-width: 767px) {
	.dark-carousel-header {
		margin-bottom: 30px;
	}
	
	.dark-carousel-header h2 {
		font-size: 19px;
	}
}

.dark-carousel-container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	padding: 0 80px;
}

@media screen and (max-width: 767px) {
	.dark-carousel-container {
		padding: 0 60px;
	}
}

@media screen and (max-width: 500px) {
	.dark-carousel-container {
		padding: 0 50px;
	}
}

.dark-carousel-card {
	color: #333333;
	border-radius: 16px;
	overflow: hidden;
	backdrop-filter: blur(10px);
	display: flex;
	flex-direction: column;
}

@media screen and (min-width: 767px) {
	.dark-carousel-card {
		flex-direction: row;
		min-height: 400px;
	}
}

.card-image-container {
	position: relative;
	overflow: hidden;
	height: 250px;
	border-radius:15px;
	flex-shrink: 0;
}

@media screen and (min-width: 767px) {
	.card-image-container {
		width: 50%;
		height: auto;
		max-width: 500px;
	}
}

.card-image-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.dark-carousel-card:hover .card-image-container img {
	transform: scale(1.05);
}

.card-content {
	padding: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
}

@media screen and (min-width: 767px) {
	.card-content {
		padding: 40px;
		width: 50%;
	}
}

.card-content h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	margin: 0 0 15px 0;
	color: #3F4042;
	line-height: 1.2;
}

@media screen and (min-width: 767px) {
	.card-content h3 {
		font-size: 19px;
	}
}

.card-content p {
	font-family: 'Work Sans', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	color: #555555;
	margin: 0 0 24px 0;
}


.card-cta {
	display: inline-flex;
	align-items: center;
	background: #1A89D8;
	padding: 12px 30px;
	color: #ffffff;
	text-decoration: none;
	border-radius: 35px;
	font-weight: 600;
	font-size: 15px;
	transition: all 0.2s ease-out;
	align-self: flex-start;
}

.card-cta:hover {
	color: #ffffff;
	text-decoration: none;
}

/* Features Section with CTA */
.features-section {
	background: #ffffff;
	padding: 40px 20px;
	margin: 40px 0;
}

.features-container {
	max-width: 1200px;
	margin: 0 auto;
}

.features-content {
	display: grid;
	grid-template-columns: 1fr;
	gap: 60px;
	align-items: start;
}

.features-list h2 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #1a1a1a;
	margin: 0 0 25px 0;
	line-height: 1.2;
}

.feature-item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	margin-bottom: 20px;
	padding: 15px;
	border-radius: 10px;
	transition: all 0.3s ease;
}

.feature-item:hover {
	background: #f8f9fa;
}

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

.feature-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
}

.feature-icon svg {
	width: 24px;
	height: 24px;
}

.feature-content h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: bold;
	color: #1a1a1a;
	margin: 0 0 6px 0;
	line-height: 1.3;
}

.feature-content p {
	font-size: 14px;
	line-height: 1.5;
	color: #666666;
	margin: 0;
}

.features-cta {
	display: flex;
	justify-content: center;
	align-items: center;
}

.cta-card {
	background: #ffffff;
	border: 2px solid #e9ecef;
	border-radius: 16px;
	overflow: hidden;
	transition: all 0.3s ease;
	cursor: pointer;
	max-width: 420px;
	width: 100%;
}

.cta-card:hover {
	border-color: #007bff;
}

.cta-header {
	padding: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	border-bottom: 1px solid #e9ecef;
}

.cta-icon {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 12px;
	background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
}

.cta-icon svg {
	width: 32px;
	height: 32px;
}

.cta-text h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #3F4042;
	margin: 0 0 15px 0;
	line-height: 1.2;
}

.cta-text p {
	font-size: 14px;
	color: #666666;
	margin: 0;
	line-height: 1.4;
}


.cta-image {
	position: relative;
	overflow: hidden;
	height: 200px;
}


.cta-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.cta-card:hover .cta-image img {
	transform: scale(1.05);
}

.play-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	background: rgba(0,0,0,0.7);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	transition: all 0.3s ease;
	backdrop-filter: blur(10px);
}

.cta-card:hover .play-overlay {
	background: rgba(0,123,255,0.9);
}

.play-overlay svg {
	width: 24px;
	height: 24px;
	margin-left: 2px; /* Slight offset for visual centering */
}

/* Hero Section with Background Image, Text, and CTA */
.hero-section {
	font-family: 'Montserrat', sans-serif;
	margin-top: 20px;
	margin-bottom: 15px;
	border-radius: 35px;
}

.hero-background {
	border-radius: 15px;
	padding: 20px;
	margin-bottom: 10px;
	position: relative;
	min-height: 300px;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 400"><defs><linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:%23667eea;stop-opacity:1" /><stop offset="100%" style="stop-color:%23764ba2;stop-opacity:1" /></linearGradient></defs><rect width="100%" height="100%" fill="url(%23grad)"/></svg>');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

@media screen and (min-width: 767px) {
	.hero-background {
		padding: 35px;
	}
}

@media screen and (min-width: 1200px) {
	.hero-background {
		margin-bottom: 20px;
		padding: 50px 80px;
	}
}

.hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.4);
	border-radius: 15px;
	z-index: 1;
}

/* Business hero variant with stronger overlay for better text contrast */
.hero-section.hero-business .hero-overlay {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.3) 100%);
}

.hero-container {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.hero-content {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 160px;
	width: 100%;
}

.hero-text {
	text-align: left;
	color: white;
	max-width: 600px;
	padding: 0;
}

@media screen and (min-width: 767px) {
	.hero-text {
		max-width: 700px;
	}
}

@media screen and (min-width: 1200px) {
	.hero-text {
		max-width: 800px;
	}
}

.hero-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.2;
	margin: 0 0 15px 0;
	color: white;
}

@media screen and (min-width: 767px) {
	.hero-title {
		font-size: 19px;
	}
}

.hero-description {
	font-family: 'Work Sans', sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
	margin: 0 0 20px 0;
	color: rgba(255, 255, 255, 0.9);
}

@media screen and (min-width: 1200px) {
	.hero-description {
		font-size: 18px;
	}
}

.hero-actions {
	display: flex;
	flex-direction: column;
	gap: 15px;
	align-items: center;
}

@media screen and (min-width: 480px) {
	.hero-actions {
		flex-direction: row;
		gap: 20px;
		justify-content: center;
	}
}

@media screen and (min-width: 767px) {
	.hero-actions {
		justify-content: flex-start;
	}
}

.hero-cta {
	display: inline-block;
	font-family: 'Montserrat', sans-serif;
	padding: 12px 28px;
	border-radius: 35px;
	font-size: 15px;
	text-decoration: none;
	text-align: center;
	transition: all 0.2s ease-out;
	cursor: pointer;
	border: 2px solid transparent;
	min-width: 140px;
}

@media screen and (min-width: 767px) {
	.hero-cta {
		padding: 14px 32px;
		font-size: 16px;
		min-width: 160px;
	}
}

.hero-cta-primary {
	background: #3498DB;
	color: white;
	border-color: #3498DB;
}

.hero-cta-primary:hover {
	background: white;
	color: #3498DB;
	border-color: white;
	text-decoration: none;
}

.hero-cta-secondary {
	background: transparent;
	color: white;
	border-color: white;
}

.hero-cta-secondary:hover {
	background: white;
	color: #333;
	border-color: white;
	text-decoration: none;
}

/* Custom theme variations */
.hero-section.theme-light .hero-overlay {
	background: rgba(255, 255, 255, 0.1);
}

.hero-section.theme-light .hero-title,
.hero-section.theme-light .hero-description {
	color: #333;
}

.hero-section.theme-light .hero-cta-primary {
	background: #3498DB;
	border-color: #3498DB;
}

.hero-section.theme-light .hero-cta-primary:hover {
	background: transparent;
	color: #3498DB;
	border-color: #3498DB;
}

.hero-section.theme-light .hero-cta-secondary {
	border-color: #333;
	color: #333;
	background: transparent;
}

.hero-section.theme-light .hero-cta-secondary:hover {
	background: #333;
	color: white;
	border-color: #333;
}

.hero-section.theme-dark .hero-overlay {
	background: rgba(0, 0, 0, 0.7);
}



/* Industries Grid Section */
.industries-grid-section {
	font-family: 'Montserrat', sans-serif;
	margin-top: 20px;
	margin-bottom: 15px;
	background: #F7F9F9;
	border-radius: 15px;
	padding: 20px;
}

@media screen and (min-width: 767px) {
	.industries-grid-section {
		margin-top: 0;
		margin-bottom: 0;
	}
}

@media screen and (min-width: 1200px) {
	.industries-grid-section {
		margin-bottom: 20px;
	}
}

.industries-container {
	max-width: 1200px;
	margin: 0 auto;
}

.industries-header {
	text-align: center;
	margin-bottom: 25px;
}

.industries-header h2 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #3F4042;
	line-height: 1.2;
}

@media screen and (min-width: 767px) {
	.industries-header h2 {
	}
}

.industries-header p {
	font-family: 'Work Sans', sans-serif;
	font-size: 15px;
	font-weight: 400;
	color: #666;
	margin: 0;
	line-height: 1.6;
}

/* Grid Layout */
.industries-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media screen and (min-width: 480px) {
	.industries-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
}

@media screen and (min-width: 960px) {
	.industries-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 30px;
	}
}

/* Industry Cards */
.industry-card {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	background: white;
	transition: all 0.3s ease;
	cursor: default;
	height: 280px;
}

.industry-card:hover {
	transform: translateY(-4px);
}

/* Image Container */
.industry-image {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.industry-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.industry-card:hover .industry-image img {
	transform: scale(1.05);
}

/* Bottom Fade Overlay */
.industry-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.1) 30%,
		rgba(0, 0, 0, 0.4) 60%,
		rgba(0, 0, 0, 0.8) 100%
	);
	z-index: 1;
}

/* Content Overlay */
.industry-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 24px;
	color: white;
	z-index: 2;
	transition: transform 0.3s ease;
}

/* Slide content up on hover to reveal description */
.industry-card:hover .industry-content {
	transform: translateY(-10px);
}

.industry-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	margin: 0 0 3px 0;
	line-height: 1.2;
	transition: transform 0.3s ease;
}

@media screen and (min-width: 767px) {
	.industry-title {
		font-size: 19px;
	}
}

.industry-description {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	margin: 0;
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: opacity 0.3s ease, max-height 0.3s ease, margin 0.3s ease;
}

/* Show description on hover */
.industry-card:hover .industry-description {
	opacity: 0.9;
	max-height: 100px;
	margin: 8px 0 0 0;
}



/* Process Section - How to Work With Us */
.process-section {
	font-family: 'Montserrat', sans-serif;
	margin-top: 20px;
	margin-bottom: 15px;
	background: white;
	border-radius: 15px;
	padding: 20px;
}

@media screen and (min-width: 767px) {
	.process-section {
		margin-top: 0;
		margin-bottom: 0;
		padding: 35px;
	}
}

@media screen and (min-width: 1200px) {
	.process-section {
		margin-bottom: 20px;
	}
}

.process-container {
	max-width: 1200px;
	margin: 0 auto;
}

.process-header {
	text-align: center;
	margin-bottom: 15px;
}

.process-header h2 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #3F4042;
	margin: 0;
	line-height: 1.2;
}

@media screen and (min-width: 767px) {
	.process-header h2 {
		font-size: 19px;
	}
}

/* Process Grid */
.process-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	margin-bottom: 60px;
}

@media screen and (min-width: 640px) {
	.process-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 50px;
	}
}

@media screen and (min-width: 1024px) {
	.process-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 40px;
	}
}

/* Process Steps */
.process-step {
	text-align: center;
	position: relative;
}

/* Hexagonal Icon Container */
.process-icon {
	width: 120px;
	height: 120px;
	margin: 0 auto 30px auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #E8F4F8;
	clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0% 50%);
	transition: all 0.3s ease;
}

.process-step:nth-child(1) .process-icon {
	background: linear-gradient(135deg, #E3F2FD 0%, #BBDEFB 100%);
	color: #1976D2;
	fill: #1976D2;
}

.process-step:nth-child(2) .process-icon {
	background: linear-gradient(135deg, #E8F5E8 0%, #C8E6C9 100%);
	color: #388E3C;
}

.process-step:nth-child(3) .process-icon {
	background: linear-gradient(135deg, #FFF3E0 0%, #FFCC02 100%);
	color: #F57C00;
}

.process-step:nth-child(4) .process-icon {
	background: linear-gradient(135deg, #E8F5E8 0%, #A5D6A7 100%);
	color: #2E7D32;
}

.process-step:hover .process-icon {
	transform: scale(1.05);
}

@media screen and (min-width: 767px) {
	.process-icon {
		width: 140px;
		height: 140px;
		margin-bottom: 40px;
	}
}

.process-icon svg {
	width: 56px;
	height: 56px;
	z-index: 1;
}

@media screen and (min-width: 767px) {
	.process-icon svg {
		width: 64px;
		height: 64px;
	}
}

/* Process Content */
.process-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #3F4042;
	margin: 0 0 15px 0;
	line-height: 1.2;
}


.process-description {
	font-family: 'Work Sans', sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
	color: #666;
	margin: 0;
}

/* Process CTA */
.process-cta {
	text-align: center;
	margin-top: 20px;
}

/* Connection Lines (Optional Enhancement) */
@media screen and (min-width: 1024px) {
	.process-step:not(:last-child)::after {
		content: '';
		position: absolute;
		top: 60px;
		right: -20px;
		width: 40px;
		height: 2px;
		background: linear-gradient(90deg, #E0E7FF 0%, transparent 100%);
		z-index: 0;
	}
}

/* Features Benefits Section */
.features-benefits-section {
	font-family: 'Montserrat', sans-serif;
	margin-top: 20px;
	margin-bottom: 15px;
	background: #F7F9F9;
	border-radius: 15px;
	padding: 20px;
}

@media screen and (min-width: 767px) {
	.features-benefits-section {
		margin-top: 0;
		margin-bottom: 0;
		padding: 35px;
	}
}

@media screen and (min-width: 1200px) {
	.features-benefits-section {
		margin-bottom: 20px;
	}
}

.features-benefits-container {
	max-width: 1200px;
	margin: 0 auto;
}

/* Features Grid */
.features-benefits-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media screen and (min-width: 480px) {
	.features-benefits-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
}

@media screen and (min-width: 960px) {
	.features-benefits-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 30px;
	}
}

/* Feature Benefit Items */
.feature-benefit {
	text-align: center;
	padding: 15px;
	transition: all 0.2s ease-out;
}

@media screen and (min-width: 767px) {
	.feature-benefit {
		padding: 20px 15px;
	}
}

.feature-benefit:hover {
	transform: translateY(-2px);
}

/* Icons */
.feature-benefit-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin: 0 auto 15px auto;
	background: white;
	border-radius: 50%;
	color: #D32F2F;
	transition: all 0.2s ease-out;
}

@media screen and (min-width: 767px) {
	.feature-benefit-icon {
		width: 90px;
		height: 90px;
		margin-bottom: 20px;
	}
}

.feature-benefit:hover .feature-benefit-icon {
	background: #D32F2F;
	color: white;
	transform: scale(1.05);
}

.feature-benefit-icon svg {
	width: 32px;
	height: 32px;
}

@media screen and (min-width: 767px) {
	.feature-benefit-icon svg {
		width: 36px;
		height: 36px;
	}
}

/* Typography */
.feature-benefit-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #3F4042;
	margin: 0 0 15px 0;
	line-height: 1.2;
	text-align: center;
}

@media screen and (min-width: 767px) {
	.feature-benefit-title {
		font-size: 19px;
	}
}

.feature-benefit-description {
	font-family: 'Work Sans', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	color: #666;
	margin: 0;
	text-align: center;
}

@media screen and (min-width: 767px) {
	.feature-benefit-description {
		font-size: 14px;
	}
}

@media screen and (min-width: 1200px) {
	.feature-benefit-description {
		font-size: 15px;
	}
}


